Skip to main content
Workflows let you automate tasks in your project using a Trigger -> Condition -> Action pattern. When an event occurs, your workflow checks the conditions and runs the actions automatically.

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)
If any gate fails, the node errors at run time and the workflow falls through to its error branch (or fails the run if no error handler is attached). Check the setup banner on the Marketing dashboard to confirm all gates are green before relying on these nodes in production.

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 in draft 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
Check the dead letter queue periodically to catch recurring failures before they affect your users.

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.

Workflow credentials

If your workflow calls external APIs, store API keys and tokens in Workflow Credentials rather than hardcoding them. Credentials are encrypted and injected at runtime.