Skip to main content

AML screening (advanced) (v1)

Identify financial crime risks and support real-time, risk-based AML compliance across the customer lifecycle

The AML Screening step evaluates a BasicIdentity data block against global sanctions, PEP, and watchlist data through a configured screening process and returns a normalised result.

If any result is a match, the case is routed to match; if no match is found but any result is inconclusive, the case routes to inconclusive; only when all results return no hits is the case routed to no_match. On match, the matches[] array is populated with normalised match details and riskLabels[] reflects the services that produced hits (e.g. Sanction, PEP). On no_match and inconclusive, both arrays are empty.

The transactionReference returned in the AmlScreeningResults data block corresponds to the case ID created in nCino's AML screening dashboard. The flow execution ID is used as the client reference for traceability in the vendor API. UserReference is required for validation purposes only.


Key features

  • Configurable screening bundles: The configuration_identifier maps to a pre-configured nCino bundle, allowing different combinations of screening services (PEP checks, sanctions lists, watchlists) to be selected per use case during onboarding.
  • Three-way routing: Routes to match, inconclusive, or no_match based on the aggregate result across all services in the configured bundle — match takes precedence over inconclusive, which takes precedence over no_match.
  • Normalised match data: On match, the AmlScreeningResults data block contains a populated matches[] array with individual match details and riskLabels[] identifying which services produced hits (e.g. Sanction, PEP).
  • Vendor traceability: The transactionReference field links the result to the corresponding case in nCino's AML dashboard for manual review or audit.

Configuration

OptionTypeRequiredDescription
provider"NCINO"NoAML screening provider. Currently only NCINO is supported.
inputSourcesObjectNoSpecifies the workflow step IDs to use for sourcing data. If omitted, the step will use the latest available data blocks from the workflow. See Input mapping.
inputSources.basicIdentityStringNoThe ID of the step providing the BasicIdentity data block.
inputSources.userReferenceStringNoThe ID of the step providing the UserReference data block.
configuration_identifierStringYesAllows configuration of a single screening identifier, which is mapped to the underlying vendor. For nCino, this identifier maps to a bundle. Bundles are configured by the provider during onboarding and can include one or more screening services (e.g. PEP or sanctions).

Example configuration

{
"configuration_identifier": "KYC_BUNDLE_DEFAULT",
"inputSources": {
"basicIdentity": "collect-identity",
"userReference": "start"
}
}

Input data blocks

Data blockRequiredDescription
UserReferenceYesAuto-populated from session metadata set during session creation. Required for validation purposes only; the flow execution ID is used as the client reference for traceability in the vendor API. No configuration required.
BasicIdentityYesIdentity data used for screening. familyName and givenName are mandatory. name is optional and used as a fallback when structured name fields are unavailable.

If BasicIdentity or UserReference are not available, the flow fails validation.


Routes

RouteDescription
matchOne or more matches were found during screening. The AmlScreeningResults data block contains populated matches[] and riskLabels[] arrays.
no_matchNo matches were found. The AmlScreeningResults data block is produced with empty matches[] and riskLabels[].
inconclusiveThe screening result was inconclusive. The AmlScreeningResults data block is produced with empty matches[] and riskLabels[].
info

As matches may include false positives, manual review of individual matches is strongly recommended before any decision is made. All three routes produce the same AmlScreeningResults data block and potentially follow an identical flow route, as manual review is required.


Output data blocks

RouteData blocks producedNotes
matchAmlScreeningResultsContains populated matches[] and riskLabels[]
no_matchAmlScreeningResultsmatches[] and riskLabels[] are empty
inconclusiveAmlScreeningResultsmatches[] and riskLabels[] are empty

Example payloads

AmlScreeningResults — match
{
"dataBlockId": "44c566ff-587b-4280-8832-78c937898140",
"type": "AmlScreeningResults",
"verdict": "match",
"vendor": "Ncino",
"transactionReference": "cd35f8a0-f30c-4cfc-9bcb-12bf58d44876",
"configurationIdentifier": "KYC_BUNDLE_DEFAULT",
"createdAt": "2026-03-31T10:22:00.000Z",
"inputSources": {
"userReference": "start",
"basicIdentity": "document-check-1"
},
"riskLabels": ["Sanction", "PEP"],
"matches": [
{
"matchId": "profile-00123",
"name": "Jean Dupont",
"sources": [
{
"type": "SISPlusCheck",
"name": null,
"iD": null
}
]
},
{
"matchId": "profile-00456",
"name": "Jean Dupont",
"sources": [
{
"type": "PEPDeskCheck",
"name": null,
"iD": null
}
]
}
]
}
AmlScreeningResults — no_match
{
"dataBlockId": "9f4351d1-665d-4174-8da1-5d823c1aeb14",
"type": "AmlScreeningResults",
"verdict": "no_match",
"vendor": "Ncino",
"transactionReference": "e7a12c3d-84b1-4f2e-a901-3c56d78ef012",
"configurationIdentifier": "KYC_BUNDLE_DEFAULT",
"createdAt": "2026-03-31T10:22:00.000Z",
"inputSources": {
"userReference": "start",
"basicIdentity": "document-check-1"
},
"riskLabels": [],
"matches": []
}