Most service offices already know their follow-up rules. Call new leads within 15 minutes. Text after a visit. Chase the estimate on day three. Call the member before renewal. The rules aren't the problem; doing them every single time on a busy Tuesday is. TradesWork automations turn those rules into When / If / Then lines you can test on real data, approve run by run, and audit afterwards.
The model: When, If, Then
When is the trigger. Fourteen fire on events as they happen. Four are checked daily against a number of days you choose, and can be limited to one weekday and a start hour in your time zone.
| Group | Trigger | Type |
|---|---|---|
| Jobs | Appointment completed · Appointment canceled · Job booked · Job canceled | Event |
| Sales | Estimate presented · Estimate sold | Event |
| Money | Invoice sent · Payment received | Event |
| Customers | Lead received · Voicemail left · Review received · New customer | Event |
| Memberships | Membership sold · Membership expired | Event |
| Sales | Estimate still open (default 3 days, 1–120) | Daily |
| Money | Invoice overdue (default 7 days, 1–180) | Daily |
| Memberships | Membership ending soon (default 30 days, 1–120) | Daily |
| Customers | Customer not seen in a while (default 365 days, 30–1,095) | Daily |
If is a list of conditions, and all of them must be met. The 10 fields are business unit, job type, job priority (Low to Emergency), customer type (residential or commercial), customer tag, job tag, amount (estimate, invoice balance or payment), review rating, lead source, and whether the customer has an active membership. With no conditions, it runs every time.
Then is up to six actions, run in order:
- Text the customer: up to 600 characters. Quiet hours and STOP are respected.
- Email the customer: subject and message. Every email ends with a line inviting the customer to reply if they'd rather not get them.
- Create an office task: assigned to a person or a role, with a priority and a due time from 0 to 1,440 hours out.
- Add a tag to the customer or the job.
- Plan a follow-up: a call, text or visit 0 to 365 days out, on the Follow Up board.
- Notify someone inside TradesWork.
- Send to a webhook: HTTPS only, signed, with ids and amounts but never names, phones or emails.
Messages can use placeholders such as {{first_name}}, {{invoice_number}}, {{amount}} and {{link}}. If a value is missing, it's left out, never made up.
The 19 templates
Every template that texts or emails a customer starts in Ask first. The rest start in Run automatically, because a task or a tag is easy to undo. All of them install switched off.
| Template | Starts in |
|---|---|
| Nudge open estimates after 3 days | Ask first |
| Every Monday, chase quotes over 7 days | Automatic |
| Celebrate big sales ($5,000 or more) | Automatic |
| Payment reminder at 7 days past due | Ask first |
| Escalate invoices 30 days past due | Automatic |
| Thank-you email after payment | Ask first |
| Thank-you text after a visit | Ask first |
| Call new leads within 15 minutes | Automatic |
| Return every voicemail | Automatic |
| Follow up on canceled appointments | Automatic |
| Win back customers not seen in a year | Ask first |
| Welcome email for new customers | Ask first |
| Low rating: manager calls the customer | Automatic |
| Tag 5-star customers as promoters | Automatic |
| Renewal reminder 30 days out | Ask first |
| Call members two weeks before renewal | Automatic |
| Tag new members | Automatic |
| Win back expired members | Automatic |
| Send sold jobs to another system | Automatic |
TradesWork also suggests automations from what your office already does by hand. It looks at the last 60 days for five patterns, such as staff texting customers about open estimates or overdue invoices, or creating tasks after low reviews. These are simple counts, not an AI model, and a suggestion is never installed for you.
Ask first, then automatic
The hardest part of automating customer messages isn't building the rule. It's trusting it. So customer-facing automations start in Ask first (runs wait in Approvals): each run sits in Approvals with the exact text and recipient, and someone approves or rejects it.
- 1
Install and test
Test against a real event from the last 30 days. Read what it would have sent.
- 2
Turn on in Ask first
Each run waits in Approvals. Reject anything that reads wrong and tighten the conditions.
- 3
Watch the count
After 10 approved runs with none rejected, the Trust panel says you can let it run automatically.
- 4
Switch, or don't
Click Run automatically, or keep approving. You can go back with Ask first again at any time.
Setting the Automations mode to Off in AI settings pauses Ask-first runs across the board, which is a handy brake during a holiday shutdown.
Quiet hours and opt-outs
Texts never go out during quiet hours, 9 pm to 8 am in your company's time zone by default. A text that would land then is queued for when quiet hours end, and the step says so.
A customer who replied STOP isn't texted, and that's checked again at send time, so a STOP that arrives while a text is queued still wins. Emails skip addresses on the automation opt-out list and customers flagged Do Not Mail. In every case, the run shows the step as Not sent with the reason. A blocked message is never reported as a success.
Test runs and run history
Test works even while an automation is off. It takes the most recent matching event, checks each condition, and lists what each action would do: "Would text…", "Wouldn't be sent" with the reason, or "Would POST…". Nothing is sent or changed, and the test is logged as a Test run.
Run history shows When, Automation, Event, Result and Why for every run. Results are Succeeded, Partly done, Failed, Skipped, Waiting for approval, Rejected or Test run. Open a run and you see each condition marked Met or Not met and each step marked Done, Failed, Not sent, Skipped or Planned, with links to the job, customer, lead or approval. Skipped runs are hidden until you click Show skipped, so the list stays readable.
Limits that protect you
| Setting | What it prevents | |
|---|---|---|
| Runs per day | 50 by default, up to 500; extra runs are skipped, not queued | A bad rule texting hundreds of customers before anyone notices |
| Texts per customer | One per automation per 24 hours | The same customer getting three reminders in a morning |
| Backlog | Daily checks look back at most 3 days | A new rule chasing two years of old estimates |
| Loops | Changes made by automations never trigger automations | Two rules setting each other off |
| Once per event | Each automation runs at most once for a given event | Double texts after a retry |
Automations check for new events every 5 minutes, and Run now checks immediately.
Permissions
Only owners and admins can build, install, edit, test, switch on or off, or delete automations. Dispatchers, CSRs, accounting and read-only viewers can see automations and run history; viewers get no controls at all. Turning on, turning off, changing mode, installing, deleting and testing are all recorded in the audit trail.
Where automations aren't the right tool
If you want a long drip campaign with waits between steps, branching, or A/B tests, this isn't built for it: there's no wait step and no OR logic. Marketing email to your whole list belongs in an email tool. And automations won't fix a process nobody agreed on; write the rule down with your team first, then automate it.
ServiceTitan has added a self-serve Automations screen, with templates that install switched off and a run history. Its Release Hub lists it as Early Access for roofing and exteriors customers only, and says ServiceTitan previously set up and managed automations for you.1
Footnotes
-
ServiceTitan Release Hub, "Set up and monitor your own automations from the Automations screen." https://help.servicetitan.com/release-hub/docs/set-up-and-monitor-your-own-automations-from-the-automations-screen ↩
