Work sample 07 / 14AI agent integration
After-hours AI call agent into ServiceM8 or Jobber
How I'd approach an after-hours phone line for a multi-branch service group: an AI call agent qualifies the caller, books routine work into ServiceM8 or Jobber, sends emergencies to the on-call technician and hands anything unusual to a person.
Worked example on representative data.
- Area
- AI agent integration
- Tools
- ServiceM8 · Jobber · AI voice agent
- Typical scope
- US$2,500–4,500
- Timeline
- About 5 weeks · 4 fixed milestones
01Context
A service group with several branches and an on-call roster. After hours, calls go to voicemail, and the office retypes them in the morning. Jobs are run in ServiceM8 or Jobber.
The systems in play
In the example the group has three branches, each with its own on-call technician and a manager as the second contact.
| System | What it does for the business |
|---|---|
| Phone line | The business number, forwarded to the agent outside opening hours, per branch. |
| Voice agent | Answers the call, asks set questions, reads the address back and follows the call rules. It does not make decisions the rules do not allow. |
| ServiceM8 or Jobber | Receives the booking or request, with the caller’s details and the transcript attached. |
| On-call roster | Who answers emergencies for each branch, and who is second in line. |
02Problem
What the owner sees
- Callers who leave no message and ring the next company
- Emergencies that wait until the morning
- On-call phones that ring for things that can wait
- An office that retypes voicemails before it can start work
Most after-hours calls are routine. A few are emergencies. The cost of getting that split wrong is either a missed emergency or a technician woken for a quote request.
| Everyday situation | What goes wrong |
|---|---|
| Voicemail | Left unheard until the office opens, and often left blank |
| Wrong urgency | A burst pipe and a quote request are treated the same |
| Booking without checking the address | The job is created for a place the business does not serve, or the address is mistyped |
| Duplicate clients | The same caller from a different phone number becomes a second client record |
| On-call does not answer | The emergency stops at one phone |
| Price questions | The caller is given a price or an arrival time nobody agreed to |
| Upset callers | A complaint is handled like a booking |
03Approach
Four steps, in this order. A person stays in the loop for anything the rules do not cover.
- RulesWhat counts as an emergency, which areas are served, who is on call, what the agent may say and when it must hand over. Written down and signed off.
- BuildThe call flow and prompts are written, the agent is connected to the job system, and every answer is saved with the call.
- TestA script of test calls covers each rule, including the awkward ones. Every script must pass before the line goes live.
- Shadow, then liveOne branch runs for a week with every call reviewed the next morning. After sign-off the other branches follow.
| Rule | Example setting |
|---|---|
| Emergency | Active water leak, gas smell, burning smell, or no heating in cold weather. Each is listed with examples. |
| Routine | Anything else: quotes, repairs that can wait, general questions. Booked as a request for the office. |
| Service area | A list of ZIP codes per branch. Outside the list the agent says so and takes no booking. |
| What the agent may say | That it is an automated assistant and the call is recorded. That a person will call back. No prices and no arrival times except the on-call callback window. |
| Emergency escalation | Transfer to on-call. If no answer after the set time, a text to the second on-call, then to the manager. |
| Hand over to a person | Complaints, legal or insurance talk, abusive calls, repeated misunderstanding, or any caller who asks for a person. |
04What the setup includes
What the setup includes, and why each piece is there. The detail of how it is configured is agreed in the scoping call.
Show the setup, layer by layer
| Layer | What is set up and why |
|---|---|
| Phone line | After-hours forwarding by branch. If the voice platform fails, the call falls back to voicemail and a text alert goes to the manager. |
| Voice agent | Opens by saying it is an automated assistant and that the call is recorded. Collects name, number, address, the problem and access notes, and reads the address back before ending. |
| Emergency path | Transfers to the on-call technician. If there is no answer, texts the second contact and then the manager. The caller is told what is happening, and the record is flagged urgent. |
| Job system | In ServiceM8 a job is created in the queue for scheduling. In Jobber a request is created. Either way the client is matched by phone number, or created, and the transcript is attached as a note. |
| Records | Recording and transcript saved against the client and linked from the job. |
| Morning list | Every call from the night with a flag: handed over, partial booking, unknown address, unanswered emergency, no response. |
| Audit trail | For each call, which rule fired and what the agent did, so a decision can be explained afterwards. |
ServiceM8 and Jobber both sell their own phone answering tools. Where one covers the need, I would say so at the Health Check. A custom setup is for rules across branches, on-call escalation and logging into your own records.
How the call moves
- Call forwarded after hours
- Agent answers and qualifies
- Emergency or routine
- On-call transfer or booking created
- Transcript saved
- Morning list reviewed
05Edge cases
These are written as test calls before the line goes live.
| Situation | How it is handled |
|---|---|
| Emergency, on-call answers | Transfer completes. The job is created urgent. |
| Emergency, nobody answers | Second on-call is texted, then the manager. The caller is told what is happening. The call tops the morning list. |
| Address unclear or repeated twice | The agent reads back what it heard and asks again. If still unclear, it flags the call instead of guessing. |
| Caller outside the service area | Told politely. No booking. Logged for the morning. |
| Existing client on a different number | Matched on address and name. If the match is uncertain, a possible duplicate is flagged and nothing is merged. |
| Caller hangs up mid-booking | A partial record is saved and flagged. |
| Price or arrival-time question | No price given. The agent explains that the office will confirm in the morning. |
| Upset caller or complaint | Message taken, call handed to a person at the first opportunity, manager flagged. |
| Voice platform is down | Falls back to voicemail with a text alert. The outage is visible on the morning list. |
| Spam or silence | Hung up after a set time and logged with no data kept beyond the call record |
06Worked example
The log below uses representative data. It shows the shape of the morning list, not a client result.
| Time | Caller | Rule that fired | Outcome |
|---|---|---|---|
| 22:41 | Existing client, water leak | Emergency | Transferred to on-call, answered. Urgent job created. |
| 23:15 | New caller, quote for a replacement | Routine | Request created for office follow-up the next day |
| 01:20 | Existing client, no heating | Emergency | On-call did not answer. Second contact answered after a text. Escalation noted on the job. |
| 03:05 | Unknown number, silence | No response | Hung up after the set time. Logged only. |
| 05:50 | Caller outside the service area | Out of area | Told politely. No booking. On the morning list. |
| 06:30 | Caller upset about an earlier visit | Hand over | Message taken. Manager flagged. |
| Test call | Pass condition |
|---|---|
| Routine booking, known address | One request or job, correct client, nothing duplicated |
| Emergency, on-call answers | Transfer completes and the record is urgent |
| Emergency, no answer from anyone | Texts sent, caller informed, call tops the morning list |
| Unclear address | Read back and re-asked, then flagged if still unclear |
| Out of area | No booking, polite close |
| Existing client, different number | No duplicate, or a flag if uncertain |
| Price question | No price given |
| Platform switched off | Voicemail fallback and a text alert |
07How the result is checked
The line is not live until every test call passes, and it is reviewed by a person for a week before it runs unattended.
| Check | How |
|---|---|
| Test calls | All scripts pass before go-live, and again after any change to the rules |
| Shadow week | One branch runs. Every transcript is read the next morning by the office manager and me. |
| Records | Each call that ends in a booking has exactly one job or request, with the right client |
| Escalation timing | The log shows how long each emergency took to reach a person |
| Ongoing review | Every flagged call, plus a weekly sample of the rest |
08Scope and milestones
A fixed scope agreed in writing before anything starts. Each milestone is paid when you sign off its deliverable.
| Area | Included |
|---|---|
| Health Check | Review of the current after-hours process and job system, a 45-minute call, written findings and a fixed quote |
| Call rules | The rules in writing, signed off by the owner and branch managers |
| Voice agent and flow | Call flow, prompts, escalation path and the connection to ServiceM8 or Jobber |
| Records and morning list | Transcript and recording saved to the client, and a morning exception list |
| Testing | The test-call script, run to a pass before go-live |
| Shadow week | One branch reviewed daily, then handover |
| Handover | Written SOPs, a recorded walkthrough and files you own, plus 14 days of fixes after go-live |
| Not included | Tax filing or payroll. |
| Also outside the scope | Phone and voice platform fees, billed to you by the vendors. Legal wording for call recording, which your own advisor should approve. Daytime call handling. |
| Milestone | Deliverable | Timing | Share |
|---|---|---|---|
| M1 Rules and call flow | Rules signed off and the call flow written | Week 1 | 25% |
| M2 Agent built | Connected to the job system, all test calls pass | Weeks 2 to 3 | 35% |
| M3 Shadow week | One branch reviewed every morning | Week 4 | 25% |
| M4 Handover | SOPs, walkthrough, 14 days of fixes | Week 5 | 15% |
Typical scope for this kind of project: US$2,500–4,500
About 5 weeks across 4 fixed milestones. The Systems Health Check (US$300, fixed) comes first and confirms the scope.
Describe the process you want handled, and I'll say where I'd start.
Send a short note through the form on the home page. I will reply with where I would start, and whether the US$300 Systems Health Check is the right first step.