AutomationsAutomation triggers catalog
Every event that can start a custom automation — customers, jobs, appointments, estimates, invoices, payments, memberships, calls and inbound webhooks.
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.

Customers
| Trigger | Fires when… |
|---|
| When a customer is created | A new customer record is added: by hand, through online booking, or by an import. |
| When a customer is updated | A customer's name, contact details or address changes. |
| When a tag is assigned to a customer | A tag is added to a customer. You must pick which tag under Trigger only when this tag is added. |
Jobs
| Trigger | Fires when… |
|---|
| When a job is scheduled | A job lands on the schedule. |
| When a job's status changes | The 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 completed | The tech completes the job in the mobile app, or the office sets it to completed. |
| When a tag is assigned to a job | A 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.
| Trigger | Fires when… |
|---|
| When an appointment is scheduled | Each appointment is put on the schedule. |
| When an appointment is completed | Each appointment is finished. On a multi-day job, the last one also fires When a job is completed. |
Estimates, invoices and payments
| Trigger | Fires when… |
|---|
| When an estimate is sent | You send an estimate from the estimate page. |
| When an estimate is approved | The customer taps approve on their estimate link. |
| When an invoice is issued | An invoice is finalized. |
| When an invoice is paid | The invoice is paid in full, whether online, recorded by your team, or synced from QuickBooks. |
| When a payment is received | Any payment comes in. Fires once per payment, so a partial payment fires it too. |
Memberships
| Trigger | Fires when… |
|---|
| When a membership is created | A customer is enrolled in a membership plan. |
| When a membership renews | A renewal invoice is paid, by autopay or marked paid. |
Calls
| Trigger | Fires when… |
|---|
| When an AI call ends | The AI receptionist finishes a real conversation. Spam and robocalls never fire it. |
| When a call is missed | A 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
- Automations → New automation.
- Pick the trigger When a call is missed.
- Add a step → Send SMS.
- Set Send to to The caller (missed-call trigger).
- Write the message, for example: Sorry we missed your call at {{org.name}}. Reply here and we'll get right back to you.
- 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
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.
Was this article helpful?