Automated job progress update system for trades and construction
← Back to Blog
Operations

How to Automatically Send Job Progress Updates to Clients

Your clients are not calling to annoy you. They are calling because they have no idea what is happening on their job. The fix is not hiring someone to answer the phone. It is building a system that proactively sends updates before the client has to ask.

ThreeDayAI
ThreeDayAI
Operations · March 29, 2026 · 10 min read

The Inbound Call Problem Nobody Talks About

You can automatically send job progress updates to clients by connecting your job management software to an SMS automation that fires whenever a job status changes. When the job starts, a message goes out. When a milestone is hit, another goes out. When the job completes, a final message with a review request sends automatically. A builder running 8 active jobs typically fields 12 status calls per week before this is in place. Most see that drop by 60 to 80 percent within the first month.

It is not that clients are needy. It is that silence feels like a problem. When someone is spending $30,000 on a renovation and has heard nothing for four days, the natural response is to call. They are not checking up on you. They are managing their own anxiety about a large financial commitment.

The same pattern plays out for electricians, plumbers, HVAC technicians, landscapers, and any trade where work happens over multiple days. The client is not on site. They do not know if the job started, if there was a delay, or if you found something unexpected. So they call.

Proactive updates eliminate 80% of inbound status calls. Every call you prevent is 8 minutes of billable time recovered.

Automated job progress updates solve this. Not by flooding clients with messages, but by sending the right information at the right trigger point, before the silence becomes uncomfortable.

What Clients Actually Want to Know

Before building anything, understand what information reduces anxiety. Client calls are usually one of three things:

Occasionally there is a fourth: something unexpected happened. A trades business that proactively communicates a delay before the client notices earns significant goodwill. One that goes silent for three days while a delay sits unaddressed gets a bad review.

Your automated system needs to handle all four trigger types. The good news is that three of them map directly to status changes that already exist in your job management software.

The Architecture: Three Trigger Points

Trigger 1 — Job Started

The moment your team marks a job as "in progress" (or you schedule a start date and it arrives), the system sends the client a message. Something like:

Hi Sarah, this is a message from [Business Name]. Work on your project at 12 Oak Street has started today. We'll keep you updated as we hit each stage. If you have any questions, reply to this message.

That single message eliminates the "did you show up?" call. It also sets the expectation that updates are coming, which reduces mid-job anxiety.

Trigger 2 — Milestone Reached

This one varies by trade. A builder has concrete poured, frame up, lock-up, and practical completion. A plumber has rough-in done and final fix. An electrician has first fix, second fix, and board energised. The milestones depend on your workflow, but every trade has them.

When a milestone status is updated in your job management system, the client gets notified. For longer projects, include a rough timeline to the next milestone so they have a mental anchor:

Hi Sarah, frame inspection has been completed and passed at 12 Oak Street. Next stage is roofing, which we expect to start in approximately 3 business days. Any questions, just reply here.

Trigger 3 — Job Completed

When the job status moves to "complete", the system sends a completion message, requests a review, and attaches any completion documents (certificates, warranty forms, final invoice). All of this fires automatically without a team member doing anything manually.

Hi Sarah, work at 12 Oak Street is now complete. Your completion certificate is attached. We'd love a quick review if you're happy with the job — takes less than a minute: [link]. Thanks for choosing [Business Name].

That automated review request, sent at the exact moment a satisfied client is thinking about the completed job, typically converts at 30 to 40%. Compare that to emailing six weeks later asking "if you have a moment."

Where Job Data Lives and How to Connect It

The automation depends on your job management tool. Here is how the most common setups connect:

ServiceM8, Tradify, or AroFlo

These platforms have built-in job status fields. ServiceM8 has a webhook system that fires on status change. Tradify has a Zapier integration. AroFlo has an API. Any of these can trigger an SMS or email when a job moves to a new status.

The connection looks like: job status changes in ServiceM8 → webhook fires → automation layer receives the event → SMS sent to client phone number stored on the job.

Google Sheets or Airtable as a Lightweight CRM

Many smaller trades businesses track jobs in a spreadsheet. If each row is a job and columns include client phone, status, and milestone, a Google Apps Script or Zapier automation can watch for status column changes and send updates accordingly.

This is less robust than a dedicated job management tool but works well for businesses running 5 to 20 active jobs at a time.

SimPro or Buildertrend

Both have native client portal features that show job progress. But these require the client to log in to see updates, which most clients do not bother doing. The automation layer supplements this by pushing notifications to the client's phone when something changes, rather than waiting for them to check.

No System — Jobs Tracked in the Technician's Head

This is the hardest case and the most common. The fix is not to build automation on top of nothing. The first step is capturing job data somewhere structured: a shared Google Sheet, a basic Airtable base, or moving to a tool like Tradify (starts at $35/month). Once the data is structured, the automation layer is straightforward.

Building It: Three Approaches

Approach 1 — Zapier + Twilio (Low Code, Fast Setup)

If your job data is in a Zapier-connected tool (ServiceM8, Airtable, Google Sheets), this is the quickest path.

  1. Connect your job management tool to Zapier
  2. Create a Zap triggered by a status field change
  3. Add a filter step: only proceed if the new status is "In Progress", "Milestone X", or "Complete"
  4. Add a Twilio action: send SMS to the phone number field on that job record
  5. Customise the message body using job fields (client name, address, milestone name)

Cost: Zapier Professional ($49/month) plus Twilio (~$0.07 per SMS in Australia). For 200 status updates per month that is around $63/month ongoing.

Limitation: Zapier charges per Zap run, so high-volume operations can get expensive. The message formatting is also limited to simple text templates.

Approach 2 — Google Apps Script (Free, More Flexible)

If your jobs live in a Google Sheet, a time-triggered Apps Script can check for status changes every 15 minutes and fire Twilio API calls for any rows where the status changed since the last check.

The script maintains a "last notified status" column alongside each job. Every run compares current status to last notified status. On a mismatch, it sends the update and records the new status. No double-sends.

Cost: free (Google Apps Script is included with Google Workspace) plus Twilio for SMS. For 200 messages per month that is around $14/month total.

Trade-off: requires someone comfortable with JavaScript to set up and maintain. Not a half-hour job if you have never written a script before.

Approach 3 — Custom Automation (Built for Your Workflow)

For businesses with more complex requirements, a custom automation handles things the no-code tools cannot:

Custom automation handles the edge cases that break Zapier workflows: non-standard statuses, multi-contact jobs, document attachments, fallback channels (send SMS first, fallback to email if the number is missing).

What to Include in Each Update

Keep messages short. Clients do not read long texts. Each message needs four things:

  1. Who it is from — always include your business name. The client may not have your number saved.
  2. What happened — one sentence on the specific milestone or status change.
  3. What happens next — a rough timeframe or next milestone, if relevant.
  4. How to reply — make it clear they can respond to the message if they have questions.

Avoid vague status messages like "your job is progressing well." That tells the client nothing and they will still call. Be specific: "The slab has been poured and we are waiting 48 hours for it to cure before framing starts."

For completion messages, add the review request as a separate line after the main content, not the headline. Clients who are happy will click it. Those who are not yet satisfied will call you instead, which is also useful information.

Handling the Unexpected: Delays and Problems

The highest-value automation is the one most businesses skip: proactive delay notifications.

When a job that was expected to reach a milestone today has not moved, two things can happen. Option one: the client calls. Option two: your system detects the delay and sends a message before the client has to ask.

This requires a "scheduled milestone date" field on each job. The automation runs daily and compares today's date against any jobs where a milestone was due. If a job is overdue and no update has been sent, the system fires an exception alert to the business owner and, optionally, a proactive message to the client:

Hi Sarah, a quick update on 12 Oak Street. We had some unexpected weather delays this week and the roofing stage has been pushed back 2 days. We now expect to be at lock-up by Thursday. Apologies for the delay and thank you for your patience.

Sending that message before the client calls shifts the dynamic. You are no longer being caught off guard. You are managing the situation. Most clients respond well to this even when the news is a delay — the transparency matters more than the inconvenience.

Measuring Whether It Is Working

Three metrics tell you if the system is doing its job:

A builder running 15 active jobs who cuts inbound calls from 20 per week to 4 per week recovers roughly 2 hours weekly. Over a year that is 100 hours. At $150/hour of effective labour cost, that is $15,000 in recovered time from one workflow.

Build vs Buy: The Honest Comparison

Here is the breakdown for a trades business running 10 to 30 active jobs:

Built-in job management portal (Buildertrend, Simpro)

Zapier + Twilio

Google Apps Script + Twilio

Custom automation (ThreeDayAI)

For a business spending 2 hours per week on status calls, the breakeven on a $4,999 custom build is around 3 months assuming a $75/hour labour cost equivalent. After that, it runs at near zero cost indefinitely. No platform dependency, no subscription to cancel, no workflow breaking when a vendor changes their pricing.

Steps to Get Started Today

If you want to build this yourself:

  1. Audit your current job data — where are jobs tracked? Do client phone numbers live alongside the job record? If not, that is step zero.
  2. Define your trigger points — list out every status your jobs move through. Pick the three most meaningful ones to notify clients about. Start simple.
  3. Sign up for Twilio — get an Australian mobile number ($1/month) and load $20 credit. That covers roughly 280 messages.
  4. Build the job-started trigger first — the simplest one. Get it sending real messages before building the rest.
  5. Add a deduplication check — make sure the system cannot send the same status update twice for the same job. A simple "last notified status" field handles this.
  6. Test with internal jobs — use test jobs with your own number before running against real client data.
  7. Run for two weeks and track inbound calls — the result should be visible within a fortnight.

If you would rather have it built properly and working in 3 days:

That is what ThreeDayAI does. We scope the automation against your specific job management tool, handle the Twilio setup, build the trigger logic for your milestones, and hand you a system that runs without maintenance. Flat fee, no ongoing platform cost beyond SMS.

Ready to automate?

Describe what you do manually. We scope it in 24 hours, build it in 3 days.

More from the blog

Operations

How to Automate Your Job Quoting Process

Read article
Operations

Stop Chasing Invoices: Automate Your Payment Follow-Ups

Read article

Related automation help

Turn this process into a working automation

ThreeDayAI can help map, build, and hand over this kind of workflow in 3 business days.