Build your first automation
Pick a trigger, add steps, connect an integration without losing your work, test the flow on a real record, and publish it live — in the right order.
Building an automation is four decisions: what starts it, what it does, what it does differently in some cases, and when it goes live. The editor is arranged in that order. The mistake almost everyone makes is treating Save draft as going live — it is not, and this page is mostly about that distinction.
Before you start
You need the automations permission at create/edit level, or to be the
workspace owner. Decide whether this is an agency or client workflow
first — scope is set at creation and cannot be changed afterwards.

Build it
Create the automation
From CRMAutomations. Start from scratch or from a template.
Name it in the top bar
Name it after the outcome, not the trigger. Route new website leads to Slack beats Form submitted 3.
Pick the Trigger in the Inspector
The picker is searchable and indexes provider names as hidden keywords — typing a provider finds its triggers.
Click Add action and choose steps
The palette groups them as Flow, CRM, Messaging, Voice, Content and Integrations.
Configure each step in the Inspector
Fields depend on the step. Anything it needs from the trigger record is picked from a list, not typed.
Connect any integration a step needs
Use the step's Manage … link — it lands on the right tile in SettingsIntegrations. Your draft is saved first and you are returned to the same step afterwards.
Add a Condition or a Wait where the flow forks
Both live under Flow.
Run test on a sample record
Open the Run test panel, paste a sample trigger payload or click Use a recent event to pre-fill from real history.
Save draft
This changes nothing about live behaviour.
Click Enable
Now it is live. On an automation that is already live, the button reads Publish changes.
The four side panels
| Panel | What it is for |
|---|---|
| Inspector | Configuring the selected trigger or step |
| Run test | Previewing a run against a sample payload |
| History | What this automation has actually done |
| Settings | The automation's own settings |
Undo and Redo step through canvas edits.
Conditions and waits
A Condition branches on a field from the trigger record.
| Operator | Matches when |
|---|---|
| equals / does not equal | The value is or is not exactly this |
| contains | The value contains this text |
| is at least / is at most | Numeric comparison |
| is set / is not set | The field has, or has not, a value |
A Wait pauses the flow for a Duration (minutes). Use it to stop an automated follow-up arriving eleven seconds after someone filled in a form.
Run test does not touch the outside world
A test run skips every external effect
Connector egress and provider writes are deliberately not performed. A passing test proves your logic, your field mapping and your branches — it does not prove the Slack message will arrive or the HubSpot deal will be created. Those you confirm on the first real run.
Save draft is not Enable
The dispatcher runs the published graph
Save draft stores your edits. Enable or Publish changes freezes the current graph as the live version. Until you publish, the dispatcher keeps running the old one, and the top bar shows Draft differs from live. This is the single most common reason an automation "stopped working" after an edit.
When Enable is blocked
Two different things appear near the button:
- Review recommended is a warning chip. You can publish anyway.
- A blocker disables the button outright and names the reason in the tooltip. The usual cause is a step whose integration is not connected — it carries a readiness chip and a Manage … link to the right settings tile.
Connect integrations from inside the editor
Following a step's Manage … link saves your draft before it navigates and returns you to the same step. You do not need to finish building, go to Settings, and find your place again.
Settings reference
| Setting | What it changes | Default |
|---|---|---|
| Automation name | The display name in the list and the run ledger. | — |
| Save draft | Saves your edits without changing what the dispatcher runs. | — |
| Enable / Publish changes | Freezes the current graph as the live published version. | — |
| Pause | Stops a live automation from firing, without archiving it. | — |
| Sample trigger payload | The record Run test uses. Use a recent event pre-fills it from real history. | — |
| Duration (minutes) | How long a Wait step pauses the flow. | — |
| Repeats / At time / On days / Every / Timezone | Scheduling for the Schedule trigger. Interval mode has a five-minute floor. | 5 minutes minimum |
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| The automation never fires | It was saved as a draft and never enabled | Click Enable |
| Your edit had no effect on live runs | The draft was saved but not published | Click Publish changes |
| Enable is greyed out | A blocker — usually an unconnected integration | Read the tooltip; use the step's Manage … link |
| Run test passed but the real run did nothing external | Test runs skip connector egress and provider writes | Confirm on the first real run |
| A step you need is not in the palette | It is agency-only and this is a client workflow | Rebuild as an agency workflow — scope is immutable |
| You lost work connecting an integration | You should not have — the draft is saved first | Reopen the automation; your draft is there |
| A Schedule trigger will not accept your interval | Interval mode has a five-minute floor | Use five minutes or more |