Creating a workflow
1
Open workflows
Go to the Workflows section from your project sidebar or ask the AI assistant to create a workflow.
2
Choose a trigger
Select what starts the workflow.
3
Add conditions (optional)
Filter which trigger events should proceed to the action step.
4
Define actions
Choose what happens when the workflow runs.
Trigger types
See the Workflow Node Reference for the full trigger list and every action category.
Merge variables
Reference data from the trigger or any earlier node with{{...}} syntax — for example {{trigger.email}} or {{ai.response}}. In any text field, typing {{ opens an autocomplete of available variables, and inserted references render as pills that show whether they resolve.
If a variable cannot be resolved at run time, its value is dropped — the literal {{...}} text is never sent to a customer or written into a record. A field whose entire value failed to resolve is omitted: a create leaves it unset, and an update leaves the existing value untouched rather than clearing it. Every miss is listed in the run inspector on the affected step (“N merge variables resolved to nothing”), so a typo’d tag shows up in Run History instead of in someone’s inbox.
A few nodes refuse to run rather than fall back to a default when a templated field comes up empty — for example, a phone call node will error instead of dialing with the default caller ID. The run’s error message names the field.
Common use cases
- Auto-deploy — deploy your site automatically when changes are pushed to GitHub
- Notifications — send a Slack message or email when a form submission arrives
- Scheduled tasks — generate a weekly analytics report every Monday
- React to database changes — send a welcome email when a new user row is created
- Marketing automation — enroll a new CRM contact in a welcome drip; fire a one-off broadcast on a date
Marketing email actions
Workflows can fire your saved marketing campaigns and sequences as actions. Three node types integrate the marketing email platform:These nodes are distinct from the basic Send Email action, which
composes a one-off transactional email inline. Use Send Email for
notifications (form submissions, password resets); use the marketing
nodes when you want to fire a campaign you’ve already designed in
/dashboard/marketing/campaigns or /dashboard/marketing/sequences.Pre-flight requirements
Marketing email nodes require the same gates as the manual Send button (see the Setup Checklist):- Email marketing enabled on your account
- At least one verified sending domain that the campaign’s from-address is on
- A physical mailing address on your account (required by anti-spam law)
Idempotency
Add-to-sequence and remove-from-sequence are idempotent — re-running with the same sequence and contact is a safe no-op. Send-campaign is guarded by status: it only fires for campaigns indraft or
scheduled status, so accidentally re-firing the same workflow won’t
double-send a campaign that’s already sending or sent.
Run history
Every workflow execution is logged in the Run History tab. Each entry shows:- Trigger event details
- Whether conditions were met
- Action results (success or failure)
- Execution time
Debugging failed runs
Click a failed run in the history to see the full error trace. Common issues include:- Invalid webhook payload
- Network timeouts on external API calls
- Missing environment variables
Dead letter queue
When a workflow fails repeatedly, the event moves to the Dead Letter Queue. From there you can:- Replay — retry the failed event with the same payload
- Dismiss — remove the event from the queue
Automatic safeguards
Workflows carry built-in protection against runaway automation:- Circuit breaker — 5 consecutive failed triggered runs auto-pause the workflow. Manual runs, Test Runs, and replays never count toward the breaker, so iterating on a half-configured node in the editor cannot pause a workflow whose real traffic is healthy.
- Auto-pause emails — when a workflow auto-pauses for any reason, account owners and admins receive an email naming the workflow and the reason, with a link to resume it.
- Nothing is lost while paused — trigger events that arrive during a pause are recorded as blocked runs (the workflow list shows “Paused” with a blocked count). Resuming the workflow replays them automatically, oldest first.
- Daily AI budget — each workflow may execute at most 200 AI-agent node runs per day, and at most 25 within a single run. Crossing the daily ceiling pauses the workflow and emails the owners; a mis-wired loop cannot silently burn AI credit overnight.
- Duplicate-send guard — side-effecting steps (emails, texts, posts) that completed in the original run are skipped when the run is replayed.