> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflows

> Build no-code identity verification flows with the visual workflow builder. Drag-and-drop ID, liveness, AML, NFC, branching logic. Pay only for completed steps.

export const VideoEmbed = ({src, title = "Video", type = "iframe"}) => <div className={type === "iframe" ? "didit-video-embed" : "didit-video-embed didit-video-native"}>
    {type === "iframe" ? <iframe src={src} title={title} style={{
  width: "100%",
  height: "100%",
  border: 0,
  borderRadius: "12px"
}} allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen /> : <video controls autoPlay muted loop playsInline src={src} title={title} style={{
  width: "100%",
  height: "auto",
  display: "block",
  borderRadius: "12px"
}} />}
  </div>;

Didit's Orchestrated Workflows are the most powerful and flexible way to design and deploy comprehensive, multi-step identity verification journeys.

<VideoEmbed src="https://www.youtube.com/embed/h0i9Q0-izcw?start=1616&rel=0&playsinline=1" title="Introduction to Workflows" />

This integration path allows you to leverage the full intelligence of the Didit V2 platform, creating sophisticated verification sequences with our no-code visual builder. You define the logic once in your Business Console, and Didit handles the entire user-facing experience, state management, and conditional steps.

Choose this path when you need a complete, end-to-end solution for user onboarding (KYC), age verification, or re-authentication, and you want to launch quickly with minimal development effort while retaining maximum control over the process.

## Workflow Versioning

Workflows support **draft/publish versioning**. This means you can safely iterate on your workflow without affecting live sessions:

* **Draft versions** are fully editable — add, remove, or restructure nodes freely
* **Publishing** a draft creates an immutable version that new sessions will use
* **Previous versions** are preserved, so you can inspect the exact configuration used for any past session
* **Sessions always reference the specific version** they were created with, ensuring consistency even after you publish updates

To make changes to a published workflow, create a new draft from the published version, edit it, and publish when ready. The version history is available via the Management API.

***

## Two Ways to Build Workflows

Didit offers **two distinct approaches** to creating verification workflows, allowing you to choose the right level of complexity for your needs:

<Frame>
  <img src="https://mintcdn.com/didit-0f962782/DSfxHq_ggIpqiQSG/images/workflows-simple-and-complex.jpg?fit=max&auto=format&n=DSfxHq_ggIpqiQSG&q=85&s=07f4e97f94cb1179de16732573612b6e" alt="Didit KYC workflow simple and advanced builder modes side by side" width="1280" height="822" data-path="images/workflows-simple-and-complex.jpg" />
</Frame>

### 1. Simple Mode: Template-Based Builder

The **Simple Mode** is perfect for getting started quickly. Select a pre-built template, toggle the features you need on or off, and you're ready to go.

<Frame>
  <img src="https://mintcdn.com/didit-0f962782/DSfxHq_ggIpqiQSG/images/workflows-simple.jpg?fit=max&auto=format&n=DSfxHq_ggIpqiQSG&q=85&s=ebe4da7cf6549793629497fb36053fe2" alt="Didit identity verification workflow simple mode template builder interface" width="1280" height="668" data-path="images/workflows-simple.jpg" />
</Frame>

**Best for:**

* Quick setup and deployment
* Standard verification flows
* Teams new to identity verification
* Use cases that fit common patterns

**How it works:**

1. Choose a workflow template (KYC, Age Verification, etc.)
2. Toggle features on/off (Liveness, Face Match, AML, etc.)
3. Configure basic settings for each feature
4. Publish and start verifying

***

### 2. Advanced Mode: Visual Graph Builder

The **Advanced Mode** unlocks the full power of Didit's orchestration engine. Build complex, conditional verification flows using our visual graph editor with drag-and-drop nodes, branches, and custom logic.

<Frame>
  <img src="https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/node-based-workflow.png?fit=max&auto=format&n=z6T2GHM4Zh-iSj-K&q=85&s=2c0997ab8bbb09dbf7c4cb26b201eced" alt="Node-based workflow visual graph builder" width="3414" height="1780" data-path="images/node-based-workflow.png" />
</Frame>

**Best for:**

* Complex, multi-path verification journeys
* Conditional logic based on user data or verification results
* Custom business rules and branching
* Enterprise-grade compliance requirements

**Key capabilities:**

* **Visual node editor**: Drag, drop, and connect nodes on an infinite canvas
* **Smart connections**: Drag from a node handle to empty space to instantly create and connect a new node
* **Conditional branches**: Route users based on extracted data, verification status, country, document type, date of issue, age, webhook JSON response paths, or custom rules
* **Action automation**: Add tags, set metadata, or route to manual review based on flow outcomes
* **Keyboard shortcuts**: Undo (Ctrl/Cmd+Z), Redo (Ctrl/Cmd+Shift+Z), Delete (Delete/Backspace)
* **Zoom and pan**: Navigate complex flows with scroll-to-zoom and drag-to-pan

#### Graph Builder Node Types

| Node Type         | Icon Color      | Description                                          | Examples                                                                                                                                                                                 |
| ----------------- | --------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Feature Nodes** | Blue            | Verification checks that process user data           | ID Verification (OCR), Liveness, Face Match, NFC, AML, Phone/Email Verification, Questionnaire, Proof of Address, Document AI, Database Validation, Device & IP Analysis, Age Estimation |
| **Branch Nodes**  | Purple          | Conditional routing based on data or results         | Route by country, risk score, document type, age, date of issue, months since issue, verification status                                                                                 |
| **Action Nodes**  | Amber           | Automation triggers that modify session or user data | Add tag, Remove tag, Set metadata, Add review note                                                                                                                                       |
| **Webhook Nodes** | Cyan            | HTTP requests that can feed data into later branches | Send session data to your server, parse JSON responses, branch on paths such as `category`, `status`, or `tags.0`                                                                        |
| **Status Nodes**  | Green/Red/Amber | Final outcomes that end the verification flow        | Approved, Declined, In Review                                                                                                                                                            |

#### Feature Node Categories

**User-Interactive Features** (can start a workflow):

* ID Verification (OCR)
* Liveness Detection
* Face Match
* Age Estimation
* Phone Verification
* Email Verification
* Questionnaire
* Proof of Address
* Document AI
* NFC / ePassport

**Backend-Only Features** (run automatically, no user interaction):

* AML Screening (requires OCR first)
* Database Validation (requires OCR first)
* Device & IP Analysis

> **Note:** Backend-only features are marked with a special indicator in the builder and execute automatically without user interaction once their dependencies are met.

***

## Workflow Templates: Your Starting Point

Think of templates not as rigid types, but as **smart, pre-configured starting points** designed for common use cases. In Simple Mode, these are ready to use. In Advanced Mode, they provide a foundation you can customize extensively.

<Frame>
  <img src="https://mintcdn.com/didit-0f962782/DSfxHq_ggIpqiQSG/images/workflows-template.jpg?fit=max&auto=format&n=DSfxHq_ggIpqiQSG&q=85&s=a727315368aa2f6bd096e873d7fbae6c" alt="Didit KYC workflow templates gallery for KYC, KYB and age verification use cases" width="1280" height="881" data-path="images/workflows-template.jpg" />
</Frame>

### Available Templates

#### **1. KYC Workflow**

The comprehensive solution for onboarding new users and meeting full Know Your Customer (KYC) compliance.

* **Starts with:** Core ID Document Verification.
* **Commonly Added Features:**
  * `[+]` **Liveness Detection:** Ensure the user is physically present and prevent spoofing.
  * `[+]` **Face Match 1:1:** Biometrically match the user's selfie to their ID photo.
  * `[+]` **AML Screening:** Check users against global sanctions, PEP, and adverse media lists.
  * `[+]` **NFC Verification:** Add a layer of government-grade security by reading e-passport/e-ID chips.
  * `[+]` **Proof of Address (PoA):** Verify the user's residential address.
  * `[+]` **Phone Verification:** Validate phone number ownership as an additional factor.
  * `[+]` **Email Verification:** Validate email address ownership as an additional factor.
  * `[+]` **Database Validation:** Validate against official government and credit databases.
  * `[+]` **Questionnaire:** Collect structured attestations and supporting documents via customizable forms.
  * `[+]` **Device & IP Analysis:** Analyze location and connection risk.

***

#### **2. Adaptive Age Verification Workflow**

A low-friction, privacy-preserving flow for age-gated services.

* **Starts with:** Selfie-based Age Estimation.
* **Key Logic:**
  * If the estimated age is clearly above your threshold (e.g., estimated 25+ for an 18+ service), the user passes instantly.
  * If the estimate is below or within a "buffer zone" (e.g., estimated 16-20), you can configure the workflow to automatically trigger a **fallback to full ID Verification** to confirm the exact date of birth.
* **Commonly Added Features:**
  * `[+]` **Device & IP Analysis:** Restrict access based on geographic location.

***

#### **3. Biometric Authentication Workflow**

A fast and secure way to re-verify returning users without asking for their documents again.

* **Starts with:** A Liveness Detection check to confirm the user is present.
* **Core Logic:**
  * The system performs a Face Match between the new live selfie and the trusted biometric template from the user's initial, approved KYC verification.
  * You must pass the `portrait_image` (the trusted reference image URL from the initial verification) when creating the session.
* **Commonly Added Features:**
  * `[+]` **Phone Verification:** Link the address to a verified phone number.
  * `[+]` **Email Verification:** Validate email address ownership as an additional factor.
  * `[+]` **Device & IP Analysis:** Flag suspicious login attempts from new locations.

***

#### **4. Address Verification Workflow**

A dedicated flow for when Proof of Address (PoA) is the primary requirement.

* **Starts with:** The user submitting a Proof of Address document (e.g., utility bill, bank statement).
* **Core Logic:** Our AI extracts and validates the name and address from the document.
* **Commonly Added Features:**
  * `[+]` **Phone Verification:** Link the address to a verified phone number.
  * `[+]` **Email Verification:** Validate email address ownership as an additional factor.
  * `[+]` **Device & IP Analysis:** Compare the document address to the user's current geo-location for added assurance.

***

#### **5. Questionnaire Verification Workflow**

A focused flow when your primary goal is to collect structured attestations and supporting documents via customizable forms.

* **Starts with:** Questionnaire.
* **Core Logic:** The system presents your configured questionnaire (sections, translated content, required fields, uploads).
* **Commonly Added Features:**
  * `[+]` **Device & IP Analysis:** Add location and connection context to your questionnaire submissions.

> **Full Customization**
> Each feature within a workflow can be further customized with specific parameters to meet your exact requirements. Explore the settings for each check in the builder.

***

## Simple vs Advanced Mode Comparison

| Capability                         | Simple Mode | Advanced Mode  |
| ---------------------------------- | ----------- | -------------- |
| Template selection                 | ✅           | ✅              |
| Toggle features on/off             | ✅           | ✅              |
| Basic feature configuration        | ✅           | ✅              |
| Visual graph editor                | ❌           | ✅              |
| Conditional branching              | ❌           | ✅              |
| Action automation (tags, metadata) | ❌           | ✅              |
| Parallel verification paths        | ❌           | ✅              |
| Risk-based decisions               | Limited     | ✅ Full control |
| Undo/Redo support                  | ❌           | ✅              |
| Keyboard shortcuts                 | ❌           | ✅              |

***

## Integration Flow

Integrating an Orchestrated Workflow is straightforward. Your server creates a session with Didit, receives a unique URL, and redirects your user to that URL. Didit handles the rest and notifies your server of the results via webhooks.

```mermaid theme={null}
sequenceDiagram
participant Customer
participant Client
participant Server
participant Didit
Customer->>Client: Go to verification page
Client->>Server: POST /create-verification-session
Server->>Didit: POST /v3/session/
Didit-->>Server: Return new verification session
Server-->>Client: Return verification session's url
Client->>Customer: Redirect customer to url
Customer->>Didit: Complete verification steps
Didit->>Server: Send status updates
Server->>Customer: Notify of status changes
Customer->>Customer: Return to callback URL
```

***

## Common Use Cases

<table className="scopes-table">
  <thead>
    <tr>
      <th>Use Case</th>
      <th>Recommended Template</th>
      <th>Recommended Mode</th>
      <th>Suggested Features</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>Basic identity verification</td>
      <td>KYC</td>
      <td>Simple</td>
      <td>Liveness, Face Match</td>
    </tr>

    <tr>
      <td>High-security onboarding</td>
      <td>KYC</td>
      <td>Advanced</td>
      <td>NFC, Liveness, Face Match, AML, Phone Verification</td>
    </tr>

    <tr>
      <td>Age-gated content/services</td>
      <td>Adaptive Age Verification</td>
      <td>Simple</td>
      <td>ID Verification fallback</td>
    </tr>

    <tr>
      <td>Returning user authentication</td>
      <td>Biometric Authentication</td>
      <td>Simple</td>
      <td>Device & IP Analysis</td>
    </tr>

    <tr>
      <td>Address verification</td>
      <td>Proof of Address</td>
      <td>Simple</td>
      <td>Phone Verification</td>
    </tr>

    <tr>
      <td>Financial services onboarding</td>
      <td>KYC</td>
      <td>Advanced</td>
      <td>Liveness, Face Match, Proof of Address, AML, Database Validation</td>
    </tr>

    <tr>
      <td>Region-specific compliance</td>
      <td>KYC</td>
      <td>Advanced</td>
      <td>Conditional routing by country, different checks per region</td>
    </tr>

    <tr>
      <td>Risk-based verification</td>
      <td>KYC</td>
      <td>Advanced</td>
      <td>Conditional branches based on risk scores, escalation paths</td>
    </tr>
  </tbody>
</table>

***

## Getting Started

1. **New to Didit?** Start with **Simple Mode** and a pre-built template
2. **Need customization?** Switch to **Advanced Mode** to add conditional logic

> Contact our sales team to discuss custom workflow configurations or to get guidance on the best setup for your specific requirements.
