Automations is where you turn on the messages Run a Call sends on your behalf — appointment reminders, on-my-way texts, review requests, overdue invoice reminders — and where you build your own custom flows for anything unique to your shop.

There are three ways in:
- System templates — pre-built SMS and emails you toggle on and off. No configuration required.
- Custom automations — a visual builder where you pick a trigger (job scheduled, tag added, estimate approved, and so on) and drop in steps (send SMS, send email, update the customer, wait, branch on a condition).
- Inbound webhooks — give any outside tool a URL. When it POSTs, an automation runs.
Where to find it
Sidebar → Automations. Staff, admins, and owners have access. Field techs do not.
/automations— activation hub. Toggle system templates on/off, browse your folders, see your custom automations, and hit + New automation or + New folder./automations/[id]— the builder canvas for a single automation./automations/runs— every run across the whole org, newest first. Retention is 90 days.
System templates you can flip on today
Customer-facing SMS (needs the Messaging addon + A2P approval):
- Schedule confirmation
- Day-before appointment reminder
- Cancellation notice
- On my way
- Arrival
- Job completion
- Invoice sent (with a pay link if Stripe Connect is on)
- Overdue invoice reminders (7 / 14 / 30 days past due)
- Review request (fires ~2 hours after the job is marked completed)
Emails (no addon needed):
- Appointment reminder
- Payment receipt
- Estimate-approved notification (goes to the owner, not the customer)
Membership lifecycle emails (in the Memberships folder):
- Overdue at 14 days
- Overdue at 30 days (final 24-hour warning)
- Suspension confirmation
- Price change notice
- Re-engagement nudge for inactive members
See the full system templates catalog for what each one says and when it fires.
Custom automations
Every custom automation has one trigger and a series of steps. Triggers include customer events, job events, appointment events, estimate/invoice/payment events, membership events, and inbound webhooks. Steps include sending SMS, sending email, reading or writing customer/job/invoice/membership records, assigning a technician, calling a webhook, and control-flow steps (filter, paths, delay).
See:
- Building a custom automation
- Automation triggers catalog
- Automation actions catalog
- Filters, paths, and delays
What each state means on a system template

| State | Meaning |
|---|---|
| Ready (green) | All dependencies met. Flip the toggle and it starts firing. |
| Pending (yellow) | Something is in progress — usually A2P is under review or Stripe Connect setup isn't finished. There's a CTA to complete it. |
| Not ready / Locked | A required addon isn't active (typically Messaging or Stripe Connect for pay links). |
Editing the wording
Today, system-template copy is toggle-only — you can turn each one on or off, but you can't yet edit the exact wording of a pre-built SMS or email. In-line copy editing is planned for a follow-on phase.
For custom automations you build yourself, the message body is fully yours. You can use variables like {{customer.first_name}} and {{job.scheduled_start}}. See Variables and step outputs.
Turning things off
Every system template has an on/off toggle. Custom automations have a Status switch (Draft ↔ Published) in the builder.
Deleting a custom automation soft-deletes it. Past runs stay in history for 90 days so you can still audit what fired.