Leads & CRM
CRM automations
Visual follow-up flows: triggers, email, conditions, webhooks, and testing.
Build follow-up automations visually in site admin → CRM → Automations. Each flow is a graph of nodes connected on a canvas — similar to workflow tools like n8n, scoped to your site’s leads.
Automations require CRM and sequences enabled. Auto-enrollment respects marketing consent on contact forms. Demo sites do not run live automations.
Automations list

Create, duplicate, activate, or delete flows. Each row shows the trigger type and enrollment count.
Visual builder

- Drag node types from the palette onto the canvas
- Connect nodes with edges; Condition nodes have Yes and No outputs
- Save the flow name, slug, trigger, and active status from the editor header
Factory-pushed defaults appear with source=factory until you override them locally.
Triggers
| Trigger | When it runs |
|---|---|
| New lead | A lead is created (e.g. contact form) |
| Form submitted | Specific form or source filter |
| Status changed | Lead status updates |
| Score threshold | Lead score crosses a value |
| Invoice sent | A customer invoice is emailed (transactional; no marketing consent required) |
| Invoice paid | A customer invoice is paid via Stripe Checkout (transactional) |
| Manual | Staff enroll from lead detail only |
| Inbound webhook | External system POSTs to your site (see below) |
Inbound webhook trigger

Each webhook-triggered automation gets a unique URL on your public site domain (POST /crm/hooks/automations/{token}). Use it to create or match leads and enroll them in the flow. Your site must be reachable from the internet — local-only URLs will not work.
Node types
| Node | What it does |
|---|---|
| Send email | Email with subject/body; supports merge variables |
| Wait | Delay for N days/hours before the next step |
| Condition | Branch on lead fields, custom data, or email engagement |
| Create task | Staff to-do on the lead (shows in CRM → Tasks) |
| Update status | Change lead pipeline status |
| Notify team | Email + in-app alert to staff |
| Webhook | Outbound HTTPS POST with lead payload (SSRF-protected) |
| SMS | Text message via Twilio (only when credentials are configured) |
| Create invoice | Create (and optionally send) a customer invoice with a pay link — requires Stripe Connect |
Email node

Use the rich-text editor and variable chips for merge tags such as {{name}}, {{first_name}}, {{email}}, {{company}}, {{message}}, and {{score}}. Open/click tracking is added automatically for condition branches later in the flow.
Sender mode (per node): use the site default, a specific staff user (display name on the email), or a custom from address. The from address must use your verified outbound mail domain.
Condition node

Build rules on lead fields, custom fields (additional_data), presence checks, and email engagement (opened, clicked, replied). Multiple rules can use all or any matching. Outgoing edges are labeled Yes and No on the canvas.
Reply detection uses tokenized Reply-To addresses on your Mailgun receiving domain when outbound email is configured with platform or Mailgun transport. Replies appear on the lead detail page in site admin.
Template variables
Available in email subject/body, SMS, and notify messages:
{{name}}, {{first_name}}, {{email}}, {{phone}}, {{company}}, {{source}}, {{status}}, {{score}}, {{message}}, {{page_url}}, {{invoice_number}}, {{invoice_total}}, {{invoice_pay_url}}
The editor lists every variable with examples.
Testing

- Dry run — Walk the graph with a real lead’s data; no emails, SMS, or webhooks sent
- Live test — Execute side effects for preview/debug
- Enroll — Run the saved automation for a chosen lead (save the flow first)
- Per-node test — Select a node and run dry or live from its panel
Pick a sample lead from the Test panel before running.
Enrolling and stopping
On CRM → Leads → {lead}, use the Automations card to enroll in an active flow or Stop an active enrollment.
Manual enrollment can bypass marketing-consent checks; automatic triggers cannot.
Inbound vs outbound webhooks
| Inbound (trigger) | Outbound (node) | |
|---|---|---|
| Direction | External → your site | Your site → external URL |
| Purpose | Start a flow / create lead | Integrate Zapier-style tools, Slack, etc. |
| Security | Secret token in URL | HTTPS only; private IPs blocked unless allowlisted |
| HIPAA mode | May be restricted | Skipped when HIPAA mode is on |
Troubleshooting automations
If emails do not send, open CRM → Settings and check Automation health:
QUEUE_CONNECTIONmust beredis(notsync) on the live site- Redis must be reachable
- The queue worker must listen on
defaultandcrmqueues - The scheduler must run every 5 minutes
- Outbound email must be configured and Mailgun DNS verified when using Mailgun
See CRM outbound email for the full checklist.
Caveats
- SMS requires Twilio credentials in site settings; otherwise the node no-ops
- Demo sites do not process live automations
- HIPAA mode skips external notify, webhook, and SMS nodes
- Marketing consent required for auto-enroll on new leads
- Visitors can opt out via unsubscribe links in sequence emails
Related articles
- Site CRMLeads, scoring, tasks, alerts, invoices, and follow-up automations in site admin.
- CRM outbound emailPlatform or BYO Mailgun, DNS verification, and automation senders.
- Visitor experienceForms, consent, optional AI chat agent, booking flow, and unsubscribe.
- Limitations and roadmapFeatures not yet available and known gaps.
