Skip to main content

Node Types

This reference covers all available node types in the Workflow Builder.

Control Nodes​

Start Node​

Every workflow begins with a Start node.

PropertyDescription
LabelDisplay name (default: "Start")

Outputs: 1 (to first step)

Notes:

  • Exactly one Start node required per workflow
  • Cannot be deleted once workflow has executions

End Node​

Terminates a workflow path with an outcome.

PropertyDescription
LabelDisplay name
OutcomeResult: approved, rejected, review, pending

Inputs: 1 or more Outputs: None

Notes:

  • Multiple End nodes allowed (different outcomes)
  • Outcome determines applicant's final status

Condition Node​

Branches workflow based on evaluated conditions.

PropertyDescription
LabelDisplay name
Condition TypeThe condition to evaluate
ParametersCondition-specific configuration

Inputs: 1 Outputs: 2 (true branch, false branch)

Available Conditions​

ConditionParametersExample
risk_score_abovethreshold (0-100)Score > 70
risk_score_betweenmin, maxScore 30-70
country_incountries (list), fieldNationality in [US, CA, GB]
has_screening_hithit_types (list)Has sanctions hit
has_tagtag (string)Has "high_value" tag
device_is_suspicioussignals (list)VPN or proxy detected
document_expireddays_toleranceExpired or expires within 30 days
risk_tier_istierRisk tier is "high"
requires_enhanced_ddnonePEP, high-risk country, or elevated risk
expressionexpression (string)Custom JavaScript expression

Expression Examples:

// Check multiple conditions
applicant.risk_score > 50 && applicant.country === 'US'

// Check array contains
applicant.tags.includes('vip')

// Check nested data
screening_results.sanctions.hit_count > 0

Data Collection Nodes (Steps)​

ID Document​

Collects and verifies government-issued identification.

PropertyDescriptionDefault
Accepted Typespassport, drivers_license, national_idAll
Require Both SidesCapture front and backtrue
Age VerificationMinimum age requirednone
Expiry CheckReject expired documentstrue

Actions Performed:

  • Document capture guidance
  • OCR text extraction
  • Fraud detection (tampering, screenshots)
  • Age verification from DOB
  • Expiry date validation

Selfie​

Captures applicant photo for face matching.

PropertyDescriptionDefault
Require LivenessPerform liveness detectiontrue
Match ThresholdFace match confidence (0-1)0.85
Retry LimitMax capture attempts3

Actions Performed:

  • Face capture with guidance
  • Liveness detection (anti-spoofing)
  • Face match against ID document
  • Photo quality assessment

Address Proof​

Collects proof of address documents.

PropertyDescriptionDefault
Accepted Typesutility_bill, bank_statement, tax_document, rental_agreementAll
Max Age DaysMaximum document age90
Address MatchCompare to stated addresstrue

Actions Performed:

  • Document capture
  • OCR text extraction
  • Date validation
  • Address extraction and geocoding

Form​

Collects custom information via form fields.

PropertyDescription
Form Typesource_of_funds, occupation, custom
Required FieldsFields that must be completed
Custom SchemaJSON schema for custom forms

Built-in Forms:

  • Source of Funds - Income source, expected volume
  • Occupation - Job title, employer, industry
  • Tax Information - Tax ID, residency

Action Nodes​

Run Screening​

Executes sanctions, PEP, and adverse media screening.

PropertyDescriptionDefault
Check Typessanctions, pep, adverse_mediaAll
Sanctions ListsSpecific lists to checkAll configured
Match ThresholdFuzzy match sensitivity0.85
Include AliasesCheck known aliasestrue

Available Sanctions Lists:

  • OFAC SDN, OFAC Consolidated
  • UN Consolidated
  • EU Consolidated
  • UK HMT
  • FATF High-Risk Jurisdictions
  • And 10+ more

Output Data:

{
"has_hits": true,
"hit_count": 2,
"hits": [
{
"type": "sanctions",
"list": "ofac_sdn",
"match_score": 0.92,
"entity": "..."
}
]
}

Update Status​

Updates the applicant's verification status.

PropertyDescription
Statuspending, approved, rejected, review
ReasonExplanation for the status change

Create Case​

Creates a case for manual review.

PropertyDescriptionDefault
Case Typesanctions, pep, fraud, verification, amlBased on trigger
Prioritycritical, high, medium, lowmedium
Assign ToUser ID or roleUnassigned
NotesInitial case notesAuto-generated

Add Tags​

Adds tags to the applicant for filtering and routing.

PropertyDescription
TagsList of tags to add

Common Tags:

  • high_value, vip
  • edd_required, enhanced_monitoring
  • crypto_source, fiat_source
  • first_time, returning

Assign to User​

Assigns the applicant to a specific user or team.

PropertyDescription
AssigneeUser ID or email
TeamTeam name (if no specific user)

Check Device Risk​

Evaluates device and IP risk signals.

PropertyDescriptionDefault
Check VPNDetect VPN usagetrue
Check ProxyDetect proxy usagetrue
Check TorDetect Tor exit nodestrue
Fraud Score ThresholdFraud detection threshold75

Output Data:

{
"is_suspicious": false,
"vpn_detected": false,
"proxy_detected": false,
"fraud_score": 15,
"country": "US",
"isp": "Comcast"
}

Verify Address​

Validates and geocodes an address.

PropertyDescription
Address FieldWhich address to verify
Strict MatchRequire exact match vs fuzzy

Output Data:

{
"valid": true,
"standardized": "123 Main St, New York, NY 10001",
"coordinates": {"lat": 40.7128, "lng": -74.0060},
"confidence": 0.95
}

Send Notification​

Sends email or webhook notification.

PropertyDescription
Channelemail, webhook, slack
TemplateNotification template ID
RecipientsWho to notify

Specialized Nodes​

CDD Questionnaire​

Presents Customer Due Diligence questionnaire.

PropertyDescription
Frameworkfincen, crypto, banking
QuestionsSelected question set
Risk ScoringAuto-calculate CDD risk

Manual Review Gate​

Pauses workflow for human review.

PropertyDescription
Reviewer RoleWho can complete review
TimeoutHours before auto-escalate
SLA PriorityReview urgency

Review Step (Terminal)​

🔴 MANUAL - Routes to compliance team for final human decision.

This node type (similar to Sumsub's "Review step") is used when a human must make the final approval or rejection decision. The workflow pauses here until a compliance officer takes action.

PropertyDescription
Review Typemanual_review or final_reject
LabelsRejection labels if final_reject
AssigneeUser/role to assign
InstructionsGuidance for reviewer

Review Type Options:

TypeDescription
manual_reviewApplicant status becomes "Requires Action" - reviewer can approve, reject, or request resubmission
final_rejectImmediately rejects with specified labels

When to Use:

  • End of a risk-flagged branch (PEP hit, sanctions match)
  • Complex cases requiring human judgment
  • Regulatory requirement for manual review

Automated vs Manual Nodes​

Understanding which nodes run automatically vs require human intervention:

✅ Automated Nodes (No Human Required)​

These nodes execute automatically without pausing:

NodeWhat It Does Automatically
ID DocumentOCR extraction, fraud detection, expiry check
SelfieLiveness detection, face matching
Run ScreeningSanctions/PEP/adverse media API calls
Update StatusSets applicant status
Add TagsTags applicant profile
Create CaseCreates case (but doesn't wait for resolution)
Check Device RiskIP/device analysis
ConditionEvaluates rules and routes
Send NotificationSends email/webhook

🔴 Manual Nodes (Human Required)​

These nodes pause execution until human action:

NodeWhat Happens
Review StepCompliance officer must approve/reject
Manual Review GateReviewer must complete before continuing
CDD QuestionnaireApplicant must complete questionnaire

📝 Semi-Automated Nodes​

These collect data from applicant but process automatically:

NodeWhat It Does
FormApplicant fills form, data saved automatically
Address ProofApplicant uploads, OCR runs automatically

Node Limits​

MetricLimit
Nodes per workflow100
Connections per node10 inbound
Nested conditions10 levels
Actions in sequence20

Next Steps​