Automations
Build workflow automations with triggers, conditions, and actions.
Automations let you build event-driven workflows that execute actions when CRM events occur. Manage automations from the Automations page in the main navigation, or via the API.
Concepts
| Term | Description |
|---|---|
| Trigger | The event that starts the automation (e.g., opportunity.stage_changed) |
| Conditions | Optional filters that must match for the automation to proceed |
| Actions | Steps executed in sequence when the trigger fires |
| Status | draft, active, paused, or archived |
Creating an Automation
Via the UI
- Navigate to Automations and click New Automation
- Name your automation and add a description
- Configure the trigger event and optional conditions
- Add one or more actions (e.g., send email, update field, create task, notify user)
- Use the visual workflow builder to arrange and connect nodes
- Set status to Active when ready
Via the API
POST /api/v1/automations
Content-Type: application/json
{
"name": "Auto-assign high-priority cases",
"trigger": {
"event": "case.created",
"conditions": { "priority": "critical" }
},
"actions": [
{
"type": "assign_to_queue",
"params": { "queue_id": "..." }
},
{
"type": "send_notification",
"params": { "channel": "slack", "message": "Critical case created" }
}
],
"status": "active"
}Automation Runs
Each time an automation triggers, a run is created. Runs track:
- Status: running, completed, failed
- Steps: Individual action execution results
- Duration: How long the run took
View run history from the automation detail page or via GET /api/v1/automations/{id}/runs.
Human-in-the-Loop Tasks
Automations can include human task steps that pause execution until a team member completes the task. Complete a pending task via the UI or API:
POST /api/v1/automations/{id}/runs/{runId}/complete-task
Content-Type: application/json
{
"output": { "approved": true, "notes": "Looks good" }
}Sandbox Dry-Run Mode
When the Configuration Sandbox is active, sandbox automations execute in dry-run mode — they evaluate triggers and conditions against live data but skip side effects (no emails sent, no records updated, no webhooks fired). Dry-run executions are logged in the run history so you can verify behavior before promoting.
Best Practices
- Start with draft status while testing
- Use conditions to avoid over-triggering
- Monitor the run history for failures
- Use human-in-the-loop for approval workflows
- Use the sandbox to test automation changes against real data before going live