Execution
Execution
How workflows execute, monitoring runs, and debugging failures
When a workflow is triggered, the execution engine compiles the canvas into a directed acyclic graph (DAG) and runs each block in dependency order. Independent blocks execute concurrently. This section covers how execution works, how to monitor runs, and how to debug failures.
Sections
Running Workflows
How the execution engine processes your workflow
Execution Logs
Monitor runs with detailed step-by-step logs
Debugging
Diagnose and fix failing workflows
Deployment
Version and deploy workflows for production
Approval Flows
Human-in-the-loop workflow execution
Execution Overview
How It Works
- Trigger fires -- A webhook, schedule, event, or API call starts the workflow
- DAG compilation -- The canvas is compiled into an ordered graph of steps
- Step execution -- Each step runs when all its dependencies are satisfied
- Concurrent processing -- Independent steps run in parallel automatically
- Result collection -- Outputs are captured and passed to downstream steps
- Completion -- The workflow run is marked as completed or failed
Run States
| State | Description |
|---|---|
pending | Run created, waiting to start |
running | Currently executing steps |
suspended | Paused for approval or external event |
completed | All steps finished successfully |
failed | A step failed after all retries |
cancelled | Manually cancelled via API or dashboard |
Error Handling
Every step can be configured with error handling:
| Strategy | Behavior |
|---|---|
fail | Stop the workflow immediately (default) |
continue | Log the error and proceed to the next step |
retry | Retry with exponential backoff (configurable attempts) |
Retry Configuration
{
"retryConfig": {
"maxAttempts": 3,
"initialDelayMs": 1000,
"maxDelayMs": 30000,
"backoffMultiplier": 2
}
}Key Principles
- Dependency-based execution -- Blocks run only when all upstream blocks complete
- Automatic parallelization -- Independent blocks run concurrently without configuration
- Idempotency -- Design workflows to be safely re-run with the same input
- Observability -- Every step captures inputs, outputs, timing, and errors in execution logs
- Cycle protection -- Sub-workflow call chains are limited to 25 hops to prevent infinite loops