The trigger is the event that starts a custom automation. You pick it by clicking the trigger card in the builder; the list is grouped the same way as below. You can change it later with Change on the trigger card.

Pick a trigger list in the automation builder

Customers

TriggerFires when…
When a customer is createdA new customer record is added: by hand, through online booking, or by an import.
When a customer is updatedA customer's name, contact details or address changes.
When a tag is assigned to a customerA tag is added to a customer. You must pick which tag under Trigger only when this tag is added.

Jobs

TriggerFires when…
When a job is scheduledA job lands on the schedule.
When a job's status changesThe job moves to any other status. To react to one status only, add a Filter on job.status right after the trigger.
When a job is completedThe tech completes the job in the mobile app, or the office sets it to completed.
When a tag is assigned to a jobA tag is added to a job. You must pick the tag.

Appointments

A job can have several appointments (for example a two-day install). These fire once per appointment.

TriggerFires when…
When an appointment is scheduledEach appointment is put on the schedule.
When an appointment is completedEach appointment is finished. On a multi-day job, the last one also fires When a job is completed.

Estimates, invoices and payments

TriggerFires when…
When an estimate is sentYou send an estimate from the estimate page.
When an estimate is approvedThe customer taps approve on their estimate link.
When an invoice is issuedAn invoice is finalized.
When an invoice is paidThe invoice is paid in full, whether online, recorded by your team, or synced from QuickBooks.
When a payment is receivedAny payment comes in. Fires once per payment, so a partial payment fires it too.

Memberships

TriggerFires when…
When a membership is createdA customer is enrolled in a membership plan.
When a membership renewsA renewal invoice is paid, by autopay or marked paid.

Calls

TriggerFires when…
When an AI call endsThe AI receptionist finishes a real conversation. Spam and robocalls never fire it.
When a call is missedA call to your business line ends without anyone answering: not your team, not the AI receptionist, and not an outside number your call flow forwarded to.

How "When a call is missed" works

  • It fires about two minutes after the call ends, fast enough to reach the caller while they still have their phone in hand.
  • It doesn't fire for calls between your own team, for outgoing calls, or when the same caller rang back within those two minutes and got through.
  • It fires whether or not the caller left a voicemail. To skip callers who left one, add a Filter on call.voicemail_left is false. A caller who is still recording a voicemail at the two-minute mark counts as not having left one.
  • It gives you the caller's number, the number they dialed, whether they left a voicemail, the caller's name when the number matches a customer, and that customer's details.

Text back a missed call

  1. AutomationsNew automation.
  2. Pick the trigger When a call is missed.
  3. Add a step → Send SMS.
  4. Set Send to to The caller (missed-call trigger).
  5. Write the message, for example: Sorry we missed your call at {{org.name}}. Reply here and we'll get right back to you.
  6. Save, then Activate.

What happens:

  • The text goes out from your business texting number, so the caller's reply lands in Conversations like any other customer text.
  • A caller who isn't a customer yet is added as a new lead with their phone number, so the conversation has somewhere to live.
  • Callers who hid their caller ID can't be texted; the run's text step says so.
  • Normal texting rules apply: texting must be set up and approved, callers who replied STOP are skipped, and a customer gets at most one automated text every 25 minutes.

External

TriggerFires when…
When an inbound webhook firesAnother app sends data to this automation's own web address. See Triggering automations from an inbound webhook.

Choosing between similar triggers

  • Use When a job is completed rather than When a job's status changes plus a filter; it's simpler.
  • Use When a payment is received to thank a customer for every payment, and When an invoice is paid for "paid in full" follow-ups.
  • Use the Appointments triggers when each visit of a multi-day job should get its own message.

What isn't a trigger

  • A customer opening an email or tapping a link in a text.
  • A specific date or a repeating schedule (such as every October 1).
  • A voicemail on its own. Use When a call is missed with a filter on call.voicemail_left.
  • A tech clocking in or out.