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
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):marketing_enabledon your account- An active SES tenant
- At least one verified email_domain that the campaign’s from-address is on
- A CAN-SPAM physical address on your account
/dashboard/marketing/* 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(sequenceId, contactId) pair 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