How to build a workflow

Updated on 16.01.26
9 minutes to read
Copy link

Overview

Design and deploy powerful, no-code identity verification workflows using SEON’s visual editor. This intuitive, drag-and-drop interface lets you build and customize end-to-end user journeys, define complex routing logic, and respond to fraud threats without writing a single line of code.

 

How it works

The Workflows tab is your canvas for creating identity verification flows. You can build a workflow by dragging different nodes (steps) onto the canvas and connecting them to define the user's path. 

 

How to use it

You can find the workflow editor and manage all your workflow templates from the Workflows page in SEON.

1. Head to the Workflows tab in SEON.

2. Here you can see a list of all existing workflow templates, including their name, last update time and author.

3. Click Create workflow in the top-right corner.

4. Add a name and click Create.

You will then be taken to the visual editor with a blank canvas, ready to build your new IDV workflow.

 

Understanding workflow nodes

Each node in the workflow represents a specific action or decision point.

There are seven fundamental node types:

  • Start workflow
  • Data check
  • Document verification
  • Address verification
  • Condition
  • End workflow

 

Start workflow

Every workflow begins with the Start workflow block. This is automatically added when you create a new workflow and cannot be removed.

This block represents when a user begins their workflow run. It connects to whatever step comes first in your flow.

Previous workflow runs can be found on the Transactions page, under the Workflow runs tab.

 

Data check

What it does: Runs SEON's Fraud API to analyze the user's email, phone, IP address and device before they proceed to document capture.

When the user sees it: They don't — this runs automatically in the background.

Configuration: Click the Data check block to open settings, then toggle the checks you want to run:

ToggleWhat it enables
EmailEmail risk analysis (deliverability, domain age, breaches, social profiles)
PhonePhone number validation and carrier information
IPGeolocation, VPN/proxy detection, ISP information
DeviceDevice fingerprinting, emulator detection, bot detection
AMLSanctions, PEP, and adverse media screening

eKYC
Government database verification

The block displays which checks are enabled (e.g., "Phone, Email, IP").

 

Document verification

What it does: Guides the user through capturing their identity document and verifies its authenticity.

When the user sees it: A camera interface with instructions to photograph their ID.

Configuration: Click the block to configure accepted document types and countries.

What happens: The system checks for tampering, validates security features, extracts data via OCR, and verifies the document hasn't expired.

 

Selfie verification

What it does: Captures the user's selfie to confirm they're physically present and match their ID document.

When the user sees it: A camera interface for taking a selfie.

What happens: The system performs a liveness check (to prevent spoofing with photos or videos) and compares the selfie to the portrait on the ID document.

Using with conditions: You can check selfie.verification.status in a Condition block to route users based on the result (passed, failed, abandoned).

 

Address verification

What it does: Verifies the user's residential address using utility bills, bank statements, or official correspondence.

When the user sees it: An interface to photograph or upload their address document.

What happens: The system validates the document's authenticity, extracts the address, and optionally matches the name against the ID document.

 

Condition

What it does: Creates branching paths based on data from previous steps.

When the user sees it: They don't; routing to different steps happens automatically.

Configuration: Click the Condition block to open the settings panel. You can add multiple conditions, each with:

1. Field to check: Select from a dropdown (e.g., "IP country", "Phone number", "Username")

2. Operator: How to compare (e.g., "is either", "is passed", "is failed")

3. Values: What to compare against (e.g., specific countries, status values)

Example: A condition checking "IP country" with operator "is either" and values "United Kingdom, Ireland, Germany, Netherlands, France" creates one path, while "is either Russia, Belarus" creates another path, with an "else" path for everything else.

Adding conditions: Click + Add condition to add more rules. Each condition creates a new branch.

Branch labels: The canvas shows labels on each branch indicating the condition (e.g., "is either United Kingdom +3 more", "is either Russia, Belarus", "else").

 

End workflow

What it does: Terminates the workflow and assigns the final decision.

When the user sees it: A completion screen with the result.

Configuration: Click the End workflow block to select the workflow state:

  • Approve: User passed verification (shown with green checkmark icon)
  • Decline: User failed verification (shown with red X icon)
  • Review: Requires manual analyst review (shown with yellow icon)

Important: Every path through your workflow must end with an End workflow block. If a path is incomplete, the workflow will be marked as "UNFINISHED TEMPLATE" and users who reach that path will automatically go to review.

 

Defining conditions

Condition nodes are the brains of your workflow, enabling you to create intelligent, risk-based routing. You can build conditions using data fields in SEON, allowing for highly granular and customized decision logic.

When building a condition, you can use data from any of the following categories:

  • Identity verification
    • Document checks: Authenticity result, tampering detection, photocopy/screen detection, document expiry, MRZ validity
    • OCR extraction: Full name, date of birth, document number, issuing country, address, nationality, gender
    • Selfie check: Face match score, face match result, selfie quality, reference image source
    • Liveness check: Liveness result, spoof detection, passive/active liveness outcome, confidence score
    • Proof of address: PoA result, document type, address extracted, name match score, date validity
  • Fraud API and device
    • Email intelligence: Domain age, deliverability score, breach history, disposable email detection
    • Phone intelligence: Carrier type, line type (mobile/landline/VoIP), phone validity, country code
    • IP and network: IP country, VPN/proxy detection, data center flag, Tor exit node, ISP type
    • Social profiles: Linked accounts (LinkedIn, Facebook, Twitter, etc.), profile age, account activity
    • Device fingerprint: Device type, OS, browser, emulator detection, incognito mode, screen resolution
    • Risk scores: Fraud score, email score, phone score, IP score, overall risk level
  • Compliance and eKYC
    • AML screening: Watchlist matches, PEP status, sanctions hits, adverse media flags, match confidence
    • eKYC checks: CPF validation (Brazil), SSN verification (US), Aadhaar match (India), national ID cross-checks
    • Data matching: Name match result, DOB match, address match, document-to-input consistency
  • Custom and workflow
    • Custom fields: Any data passed in your workflow trigger (transaction amount, user tier, action type)
    • Workflow state: Previous node outcomes, step completion status, accumulated risk indicators

 

Condition operators

Build precise conditions with a flexible set of logical operators. The available operators are dynamically determined based on the field type you select (e.g., text fields support pattern matching, while numeric fields support comparison operators).

Operator typeOperators
Equalityis, is not, is either, is neither
Comparisongreater than, less than, between
Existenceis empty, is not empty, exists
Patterncontains, starts with, ends with

 

Example use cases for conditions

ScenarioExample condition logic
Fast-track trusted usersIF ip_country is either UK, DE, FR, then approve
Block high-risk regionsIF ip_country is either RU, BY, then decline
Escalate VPN usersIF vpn_detected = true, then add selfie check
Score-based routingIF fraud_score > 80, then manual review
Premium user bypassIF custom.user_tier = "premium", then skip sML check

 

Workflow validation

The workflow editor has built-in validation to prevent common configuration errors and ensure your workflows are robust:

  • Incomplete flows: The editor will warn you if a workflow branch does not have a proper End workflow node.
  • Duplicate names: You cannot save a workflow with the same name another active workflow; however, you can reuse names from previously deleted workflows.
  • Circular loops: The editor automatically blocks you from creating infinite loops (e.g., connecting a node back to itself).

 

Workflow editor controls

The editor includes several control features to make building complex workflows easier and can be found in the bottom left corner of the workflow editor page:

  • Left: Zoom and pan allows zooming in and out of the workflow to see large complex workflows with ease.
  • Middle: Full screen will expand the editor so you can see it at full screen.
  • Right: Organize blocks helps automatically arrange your workflow neatly.

 

How workflows create transactions

Every step in a workflow generates a transaction in SEON via the Fraud API. This means:

  • Each step creates its own transaction record
  • You can see these transactions in the Transactions page, linked to the workflow run
  • The same fraud signals, rules, and scoring apply as with direct Fraud API calls
  • Transactions from a workflow run are connected, allowing you to see the full verification journey

This is important when designing workflows — a workflow with multiple verification steps will generate multiple transactions, each with its own fraud assessment.