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

Automations index

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

Visual builder

Automation editor with trigger and nodes

  • 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

Webhook trigger URL and example request

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

Email node with variable chips

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

Condition node with Yes/No branches

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

Test automation panel with dry-run results

  • 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:

  1. QUEUE_CONNECTION must be redis (not sync) on the live site
  2. Redis must be reachable
  3. The queue worker must listen on default and crm queues
  4. The scheduler must run every 5 minutes
  5. 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