Node Types
This reference covers all available node types in the Workflow Builder.
Control Nodes
Start Node
Every workflow begins with a Start node.
| Property | Description |
|---|---|
| Label | Display 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.
| Property | Description |
|---|---|
| Label | Display name |
| Outcome | Result: 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.
| Property | Description |
|---|---|
| Label | Display name |
| Condition Type | The condition to evaluate |
| Parameters | Condition-specific configuration |
Inputs: 1 Outputs: 2 (true branch, false branch)
Available Conditions
| Condition | Parameters | Example |
|---|---|---|
risk_score_above | threshold (0-100) | Score > 70 |
risk_score_between | min, max | Score 30-70 |
country_in | countries (list), field | Nationality in [US, CA, GB] |
has_screening_hit | hit_types (list) | Has sanctions hit |
has_tag | tag (string) | Has "high_value" tag |
device_is_suspicious | signals (list) | VPN or proxy detected |
document_expired | days_tolerance | Expired or expires within 30 days |
risk_tier_is | tier | Risk tier is "high" |
requires_enhanced_dd | none | PEP, high-risk country, or elevated risk |
expression | expression (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.
| Property | Description | Default |
|---|---|---|
| Accepted Types | passport, drivers_license, national_id | All |
| Require Both Sides | Capture front and back | true |
| Age Verification | Minimum age required | none |
| Expiry Check | Reject expired documents | true |
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.
| Property | Description | Default |
|---|---|---|
| Require Liveness | Perform liveness detection | true |
| Match Threshold | Face match confidence (0-1) | 0.85 |
| Retry Limit | Max capture attempts | 3 |
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.
| Property | Description | Default |
|---|---|---|
| Accepted Types | utility_bill, bank_statement, tax_document, rental_agreement | All |
| Max Age Days | Maximum document age | 90 |
| Address Match | Compare to stated address | true |
Actions Performed:
- Document capture
- OCR text extraction
- Date validation
- Address extraction and geocoding
Form
Collects custom information via form fields.
| Property | Description |
|---|---|
| Form Type | source_of_funds, occupation, custom |
| Required Fields | Fields that must be completed |
| Custom Schema | JSON 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.
| Property | Description | Default |
|---|---|---|
| Check Types | sanctions, pep, adverse_media | All |
| Sanctions Lists | Specific lists to check | All configured |
| Match Threshold | Fuzzy match sensitivity | 0.85 |
| Include Aliases | Check known aliases | true |
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.
| Property | Description |
|---|---|
| Status | pending, approved, rejected, review |
| Reason | Explanation for the status change |
Create Case
Creates a case for manual review.
| Property | Description | Default |
|---|---|---|
| Case Type | sanctions, pep, fraud, verification, aml | Based on trigger |
| Priority | critical, high, medium, low | medium |
| Assign To | User ID or role | Unassigned |
| Notes | Initial case notes | Auto-generated |
Add Tags
Adds tags to the applicant for filtering and routing.
| Property | Description |
|---|---|
| Tags | List of tags to add |
Common Tags:
high_value,vipedd_required,enhanced_monitoringcrypto_source,fiat_sourcefirst_time,returning
Assign to User
Assigns the applicant to a specific user or team.
| Property | Description |
|---|---|
| Assignee | User ID or email |
| Team | Team name (if no specific user) |
Check Device Risk
Evaluates device and IP risk signals.
| Property | Description | Default |
|---|---|---|
| Check VPN | Detect VPN usage | true |
| Check Proxy | Detect proxy usage | true |
| Check Tor | Detect Tor exit nodes | true |
| Fraud Score Threshold | Fraud detection threshold | 75 |
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.
| Property | Description |
|---|---|
| Address Field | Which address to verify |
| Strict Match | Require 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.
| Property | Description |
|---|---|
| Channel | email, webhook, slack |
| Template | Notification template ID |
| Recipients | Who to notify |
Specialized Nodes
CDD Questionnaire
Presents Customer Due Diligence questionnaire.
| Property | Description |
|---|---|
| Framework | fincen, crypto, banking |
| Questions | Selected question set |
| Risk Scoring | Auto-calculate CDD risk |
Manual Review Gate
Pauses workflow for human review.
| Property | Description |
|---|---|
| Reviewer Role | Who can complete review |
| Timeout | Hours before auto-escalate |
| SLA Priority | Review 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.
| Property | Description |
|---|---|
| Review Type | manual_review or final_reject |
| Labels | Rejection labels if final_reject |
| Assignee | User/role to assign |
| Instructions | Guidance for reviewer |
Review Type Options:
| Type | Description |
|---|---|
manual_review | Applicant status becomes "Requires Action" - reviewer can approve, reject, or request resubmission |
final_reject | Immediately 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:
| Node | What It Does Automatically |
|---|---|
| ID Document | OCR extraction, fraud detection, expiry check |
| Selfie | Liveness detection, face matching |
| Run Screening | Sanctions/PEP/adverse media API calls |
| Update Status | Sets applicant status |
| Add Tags | Tags applicant profile |
| Create Case | Creates case (but doesn't wait for resolution) |
| Check Device Risk | IP/device analysis |
| Condition | Evaluates rules and routes |
| Send Notification | Sends email/webhook |
🔴 Manual Nodes (Human Required)
These nodes pause execution until human action:
| Node | What Happens |
|---|---|
| Review Step | Compliance officer must approve/reject |
| Manual Review Gate | Reviewer must complete before continuing |
| CDD Questionnaire | Applicant must complete questionnaire |
📝 Semi-Automated Nodes
These collect data from applicant but process automatically:
| Node | What It Does |
|---|---|
| Form | Applicant fills form, data saved automatically |
| Address Proof | Applicant uploads, OCR runs automatically |
Node Limits
| Metric | Limit |
|---|---|
| Nodes per workflow | 100 |
| Connections per node | 10 inbound |
| Nested conditions | 10 levels |
| Actions in sequence | 20 |
Next Steps
- Creating Workflows - Build your first workflow
- AI Workflow Builder - Generate nodes with AI
- Execution Monitoring - Track node execution