Skip to content

Workflows

Workflows are multi-step automated processes that handle complex document operations. While rules handle simple "if-then" automation, workflows orchestrate sequences of actions including AI processing, human approvals, and integrations.


What Are Workflows?

A workflow is a series of connected steps that process documents automatically. Each step can:

  • Process - AI analysis, extraction, summarization
  • Route - Send to different paths based on conditions
  • Notify - Alert users or systems
  • Wait - Pause for human input or external events
  • Integrate - Connect to other systems

Workflow Concepts

Nodes

Each step in a workflow is a node. Nodes connect to form the workflow path.

graph LR
    A[Start] --> B[Classify]
    B --> C{Route}
    C -->|Invoice| D[Extract Data]
    C -->|Contract| E[Legal Review]
    D --> F[Approve]
    E --> F
    F --> G[Complete]

Connections

Connections link nodes and define the flow. Connections can be:

  • Sequential - One node after another
  • Conditional - Different paths based on conditions
  • Parallel - Multiple nodes running simultaneously

Creating a Workflow

Step 1: Start a New Workflow

Go to Settings > Automation > Workflows and click Create Workflow.

Step 2: Add Nodes

Drag nodes from the palette onto the canvas:

Category Nodes
AI Processing Classify, Extract, Summarize, Analyze
Human Tasks Approve, Review, Assign
Routing Condition, Branch, Merge
Actions Move, Tag, Notify, Webhook
Integration MCP Tool, External API

Step 3: Connect Nodes

Click and drag from one node's output to another node's input to create connections.

Step 4: Configure Each Node

Click on a node to configure its settings:

  • Inputs - What data the node receives
  • Settings - Node-specific configuration
  • Outputs - What data the node produces

Step 5: Set Triggers

Define what starts the workflow:

  • Document Upload - New document added
  • Tag Applied - Specific tag added to document
  • Schedule - Run at specific times
  • Manual - User-initiated
  • API - External system triggers

Node Types

AI Nodes

Classify

Identify document type using AI.

  • Input: Document
  • Output: Document type, confidence score
  • Use: Route documents by type

Extract

Pull structured data from documents.

  • Input: Document
  • Output: Extracted fields (vendor, amount, dates, etc.)
  • Use: Populate metadata, feed to other systems

Summarize

Generate document summaries.

  • Input: Document
  • Output: Summary text
  • Use: Quick document overviews

Analyze

Deep analysis with custom prompts.

  • Input: Document, custom prompt
  • Output: Analysis results
  • Use: Risk assessment, compliance checking

Human Nodes

Approve

Request approval from specified users.

  • Input: Document, context
  • Output: Approved/Rejected, comments
  • Settings: Approvers, timeout, escalation

Review

Request human review without explicit approval.

  • Input: Document, instructions
  • Output: Review notes
  • Settings: Reviewers, deadline

Assign

Assign document to a user for action.

  • Input: Document
  • Output: Assignment confirmation
  • Settings: Assignee, instructions, due date

Routing Nodes

Condition

Branch based on conditions.

  • Input: Any data
  • Output: Multiple paths
  • Use: Route by amount, type, or any field

Branch

Split into parallel paths.

  • Input: Any data
  • Output: Multiple simultaneous paths
  • Use: Run multiple operations in parallel

Merge

Combine parallel paths.

  • Input: Multiple paths
  • Output: Single path
  • Use: Wait for all parallel operations

Action Nodes

Move

Move document to a folder.

  • Input: Document
  • Settings: Target folder

Tag

Apply or remove tags.

  • Input: Document
  • Settings: Tags to add/remove

Notify

Send notifications.

  • Input: Context
  • Settings: Recipients, message template

Webhook

Call external system.

  • Input: Data to send
  • Settings: URL, headers, payload template

Workflow Examples

Invoice Processing

graph TD
    A[Document Upload] --> B[Classify Document]
    B --> C{Is Invoice?}
    C -->|Yes| D[Extract Invoice Data]
    C -->|No| E[Route to Other Workflow]
    D --> F{Amount > $5000?}
    F -->|Yes| G[Manager Approval]
    F -->|No| H[Auto-Approve]
    G --> I[Update ERP]
    H --> I
    I --> J[Archive]

Configuration:

  1. Classify Document - Use AI to identify document type
  2. Condition - Check if type is "invoice"
  3. Extract Invoice Data - Pull vendor, amount, date, line items
  4. Condition - Check if amount exceeds threshold
  5. Manager Approval - High-value invoices need approval
  6. Update ERP - Send data to accounting system
  7. Archive - Move to completed folder

Contract Review

graph TD
    A[New Contract] --> B[Extract Terms]
    B --> C[Risk Analysis]
    C --> D{High Risk?}
    D -->|Yes| E[Legal Review]
    D -->|No| F[Standard Approval]
    E --> G{Legal Approved?}
    G -->|Yes| H[Execute]
    G -->|No| I[Reject/Negotiate]
    F --> H
    H --> J[Archive]

Human-in-the-Loop

How It Works

When a workflow reaches a human node, it pauses and waits:

  1. Notification - Assigned user receives notification
  2. Task Queue - Task appears in user's queue
  3. Action - User reviews and takes action
  4. Resume - Workflow continues based on response

Timeouts and Escalation

Configure what happens if humans don't respond:

Setting Description
Timeout How long to wait (e.g., 24 hours)
Escalation Who to notify after timeout
Auto-Action What to do if still no response

Example Escalation

Wait for: Manager Approval
Timeout: 24 hours
Escalate to: Department Head
Final timeout: 48 hours
Auto-action: Reject with notification

Conditional Routing

Simple Conditions

Route based on extracted data:

IF amount > 10000 THEN route to "High Value"
ELSE route to "Standard"

Complex Conditions

Combine multiple conditions:

IF (amount > 5000 AND vendor is "VIP")
   OR document_type is "Legal"
THEN route to "Priority Review"

Multi-Path Routing

Route to different paths based on value:

SWITCH on document_type:
  "Invoice" -> Invoice Processing
  "Contract" -> Contract Review
  "Receipt" -> Expense Workflow
  DEFAULT -> Manual Classification

Parallel Processing

Branch and Merge

Run multiple operations simultaneously:

graph LR
    A[Start] --> B[Branch]
    B --> C[Legal Review]
    B --> D[Finance Review]
    B --> E[Security Check]
    C --> F[Merge]
    D --> F
    E --> F
    F --> G[Final Decision]

All three reviews happen in parallel. The merge waits for all to complete.

Parallel with First-Wins

Continue when any path completes:

graph LR
    A[Start] --> B[Branch]
    B --> C[Provider 1]
    B --> D[Provider 2]
    C --> E[First Response]
    D --> E
    E --> F[Continue]

Monitoring Workflows

Execution Status

Track running workflows:

  • Pending - Waiting to start
  • Running - Currently executing
  • Waiting - Paused for human input
  • Completed - Successfully finished
  • Failed - Encountered an error

Workflow History

View past executions:

  • Start and end times
  • Path taken through workflow
  • Node-by-node execution details
  • Errors and retries

Debugging

When workflows fail:

  1. View the failed execution
  2. Identify the failing node
  3. Review error details
  4. Fix and retry or manually complete

Best Practices

Start Simple

Begin with straightforward workflows and add complexity as needed.

Test Thoroughly

Use test documents to verify workflow behavior before production use.

Handle Errors

Add error handling for critical workflows:

  • Retry logic for transient failures
  • Error notification for critical failures
  • Fallback paths for edge cases

Document Your Workflows

Use clear naming and add descriptions to explain workflow purpose.

Monitor Performance

Track execution times and failure rates to identify issues.


Availability

Workflow capabilities vary by subscription tier:

Feature Free Starter Pro Team Enterprise
Basic Workflows - - Limited Yes Yes
Human Nodes - - - Yes Yes
Parallel Processing - - - Yes Yes
External Integrations - - - Yes Yes
Custom Nodes - - - - Yes

Next Steps