Build automated workflows using the visual DAG (Directed Acyclic Graph) builder.
| Category | Steps |
|---|---|
| Infrastructure | IaC Deploy, Configuration Deploy |
| Actions | Script, HTTP Request |
| Flow Control | Approval, Wait, Condition, Loop |
| Notifications | Email, Slack, Webhook |
| Setting | Description |
|---|---|
| Timeout | Max execution time for entire workflow |
| Concurrency | Allow multiple runs simultaneously |
| Failure Action | Stop all, continue, or retry failed steps |
| Notifications | Email/Slack on success or failure |
Reference variables in step configurations using ${...} syntax.
| Variable | Description |
|---|---|
${workflow.name} | Workflow name |
${workflow.run_id} | Current execution ID |
${trigger.type} | How workflow was triggered |
${trigger.branch} | Git branch (if git trigger) |
${steps.step_name.output} | Output from a previous step |
${env.VARIABLE} | Environment variable |
Connect one step to multiple next steps to run them in parallel.
┌─────────┐
┌────▶│ Step B │────┐
┌───────┤ └─────────┘ │ ┌─────────┐
│ Step A│ ├────▶│ Step D │
└───────┤ ┌─────────┐ │ └─────────┘
└────▶│ Step C │────┘
└─────────┘
The editor validates your workflow before saving:
| Error | Description |
|---|---|
| Disconnected step | Step has no connections |
| Cycle detected | Circular dependency found |
| Missing config | Required field is empty |
| Invalid reference | Variable doesn't exist |
Click: Workflows → + Create Workflow
Name: api-deploy-pipeline
Drag these steps onto the canvas and connect them:
| Order | Step Type | Name |
|---|---|---|
| 1 | IaC Deploy | Plan Infrastructure |
| 2 | Approval | Production Approval |
| 3 | IaC Deploy | Apply Infrastructure |
| 4 | HTTP Request | Health Check |
| 5 | Slack | Notify Team |
Plan Infrastructure:
Project: api-infrastructure
Action: Plan
Production Approval:
Approvers: team:platform-team
Message: Please review the Terraform plan
Timeout: 2 hours
Apply Infrastructure:
Project: api-infrastructure
Action: Apply
Health Check:
URL: https://api.example.com/health
Method: GET
Success Codes: 200
Retry: 3 times
Notify Team:
Channel: #deployments
Message: ✅ API deployment complete
Changes: ${steps.apply.output.summary}
Settings → Triggers → Git Push
Repository: acme/api-infrastructure
Branch: main
Path Filter: terraform/**
Click: Save & Activate
Status: Active ✓
Workflow: api-deploy-pipeline
─────────────────────────────────────
Status: Active
Trigger: Git Push (main)
Steps: 5
Created: Just now