Arsalan Faysal – Automation & RevOps Blog

AI-Powered Solutions for Field Service Management

Written by Arsalan Faysal | Jun 7, 2026 9:26:40 AM
3User Tiers Served
4Systems Integrated
24/7Customer Coverage
0Calls Left Unanswered

A growing irrigation service company. Seasonal demand spikes. Technicians in the field making judgment calls with no one to ask. Customers texting the business number at 8pm to reschedule a startup appointment. An owner fielding calls that should never reach them — "can you send my invoice again?", "what time is my technician coming?", "should I quote this repair or just replace the head?" — while trying to run an actual business.

The phone was the bottleneck. It always is in field service. Not because customers call too much. Because every call, every text, every technician question routes to the same place: whoever picks up. That person becomes the de facto dispatcher, receptionist, customer service rep, and operations consultant simultaneously. At scale, that model breaks. It was already breaking here.

The client came to us with a clear brief: build an AI-powered receptionist and operations assistant that handles customer communication, supports technicians in the field, and gives the owner control without making them the single point of failure for every decision. Jobber for scheduling and customer management. Twilio for phone and SMS. OpenAI for the intelligence layer. Make.com for workflow orchestration. The company is anonymised here. The architecture is not.

The goal was not to build a chatbot. It was to build a virtual office manager, dispatcher, and customer service rep that follows company-specific rules — and knows exactly when to stop and get a human. Those are very different systems. Arsalan Faysal — Revenue Systems Architect
·  ·  ·

The Architecture: Three Users, One System

Before a single integration was configured, the most important design decision had to be made. Who does this system actually serve? The answer was three distinct user types — each with completely different needs, different communication channels, and a different definition of what a good AI response looks like.

Get this wrong and you build a chatbot that handles one scenario adequately and fails everywhere else. Get it right and you build a system where the same AI infrastructure surfaces as a polished customer receptionist, a knowledgeable field operations assistant, and an owner alert engine — all simultaneously, all from the same underlying architecture.

User tier Channel What they need What failure looks like
Customer SMS, inbound phone call Instant answers. Appointment status. Rescheduling. Invoice links. After-hours coverage. No hold music, no voicemail. A generic chatbot response to "what time is my technician coming?" when the answer is sitting in Jobber.
Field Technician SMS, internal channel Operational decisions without calling the owner. Policy guidance. Clear answers to "should I keep troubleshooting or quote the repair?" A response that does not account for the company's actual pricing rules and job policies — and gets a tech in trouble with the owner.
Owner Approval workflow, daily summaries, escalation alerts Control without being the bottleneck. Visibility into what the AI handled. Escalation only when it genuinely matters. Every AI draft requiring approval defeats the purpose. Every complex situation not escalating creates liability.

Three user types. Three different response modes. One knowledge base — the company's own pricing guidelines, operating procedures, scheduling rules, and escalation thresholds — that all three modes draw from. That knowledge base is what separates a generic AI assistant from a system that actually represents the business correctly.

·  ·  ·

The Stack — Four Systems, One Workflow

The integration architecture is what makes the system useful rather than theatrical. An AI that can answer scheduling questions but cannot actually read the Jobber calendar is not an assistant. It is a very expensive FAQ page. Every system in this stack was chosen because it owns a specific piece of the operational data the AI needs to function.

⚡ Integration Layer — System by System
Jobber
Scheduling, customer records, estimates, invoicesJobber is the operational source of truth for this business. Appointment times, customer contact details, estimate status, invoice links — the AI reads all of it via the Jobber API before generating any customer-facing response. When a customer texts "what time is my technician coming?", the AI queries the live Jobber schedule and returns the actual answer — not a holding message asking them to call the office. New lead creation, appointment scheduling, and rescheduling all write back to Jobber so nothing lives outside the system the owner and team actually work from.
Twilio
SMS and voice — the communication layerTwilio handles all inbound and outbound SMS and phone calls. It is the communication infrastructure the AI receptionist sits on top of. Inbound SMS routes through Twilio to the Make.com automation layer, where the AI processes the message and returns a response via Twilio. Inbound voice calls reach a Twilio-powered AI receptionist — built with Retell AI on top of Twilio's voice infrastructure — that can answer calls, handle routine customer enquiries, and escalate to a human when the conversation requires it. The client's existing Google Voice number was mapped for future porting to Twilio so no business number changes were required at launch.
OpenAI API
The intelligence layer — grounded in company knowledgeOpenAI powers the response generation. The system prompt is not generic. It contains the company's actual pricing rules, scheduling policies, service area definitions, escalation thresholds, and operating procedures. The AI does not guess what the company would say. It knows — because the knowledge base was built from the owner's own documentation. This is the configuration that prevents the system from giving a customer a discount it is not authorised to offer, or telling a technician to keep troubleshooting when company policy says to quote a repair after 90 minutes.
Make.com
Workflow orchestration — the connective tissueMake.com is the automation layer that orchestrates the entire system. An inbound SMS arrives via Twilio, triggers a Make.com scenario, which queries Jobber for context, passes the enriched message to OpenAI for a response, routes it through the approval workflow if the confidence threshold or escalation rules require it, and returns the final response via Twilio. The entire flow — from customer text to sent reply — runs without a human in the loop for routine interactions. For anything outside policy, the approval workflow fires and the owner gets the draft before it sends.
·  ·  ·

Customer-Facing — The AI Receptionist

The customer-facing layer has one job: make every customer interaction feel like the business is always open, always responsive, and always has the right answer. The six questions a field service company fields more than any others were the design brief.

CUSTOMER INTERACTION FLOW
------------------------------------------------------------------
Inbound SMS / Phone Call
  |
  +-- Twilio receives the message or call
  |
  +-- Make.com scenario triggers
  |
  +-- Jobber API query
  |     → Is this a known customer? Pull contact record.
  |     → Does this customer have an active appointment?
  |     → Is there an outstanding estimate or invoice?
  |
  +-- Context enriched → OpenAI generates response
  |     → Response grounded in Jobber data + company knowledge base
  |     → Escalation rules checked
  |
  +-- Routine? Send immediately via Twilio.
  +-- Complex / outside policy? → Owner approval workflow
Customer question What the AI does Data source
"What time is my technician expected?" Queries live Jobber schedule. Returns confirmed appointment window. If running late, surfaces that signal if available. Jobber API — active appointments
"Can I reschedule my appointment?" Confirms current appointment details. Offers available slots based on Jobber calendar. Updates the appointment on confirmation. Notifies the assigned technician. Jobber API — schedule + availability
"Can you send my invoice again?" Pulls the invoice link from the customer's Jobber record. Sends directly via SMS. No human involvement required. Jobber API — invoices
"Can I schedule a service call / startup / winterization?" Collects service type, preferred date, address. Creates a new lead or books the job directly in Jobber. Confirms back to the customer. Jobber API — lead creation + booking
After-hours inquiry AI handles fully — no voicemail, no "call back during business hours." If the inquiry requires owner decision, it queues for morning review with full context. OpenAI + Jobber + Make.com queue
Complaint or damage claim Escalates immediately to owner with full conversation transcript. AI acknowledges receipt to the customer and sets expectation for a direct callback. Escalation rule trigger → owner alert

The AI does not improvise pricing. It does not offer discounts. It does not make commitments the owner has not authorised. Every response is bounded by the company knowledge base. The system knows what it is allowed to say — and it knows what to do when the conversation goes somewhere it is not.

·  ·  ·

Technician-Facing — The Field Operations Assistant

This is the part of the build most AI assistant projects do not think about. The customer-facing chatbot is the obvious deliverable. The technician support layer is where the operational leverage actually lives.

A field technician working alone on a job has four decisions they face regularly that should not require a call to the owner. They should have a consistent, policy-grounded answer available in under thirty seconds. Before this system, they called the office. The office was often the owner. The owner was often on another job, on another call, or simply unavailable.

Technician question What the system does Policy boundary
"I've spent 90 minutes troubleshooting. Should I keep going?" Checks company policy threshold for troubleshooting time. Returns a decision: quote the repair, schedule a return visit, or escalate to owner if the job is unusual. Time-on-job threshold defined in knowledge base. AI cannot override it — it enforces it.
"The customer wants additional work while I'm here." If the additional work falls within the tech's authorised scope and pricing schedule, the AI provides the quote parameters and confirms how to proceed. If it exceeds authorisation, it escalates with full context. Authorised scope + pricing guidelines from knowledge base. Upsell outside scope requires owner approval.
"Should I quote a repair or recommend replacement?" Returns the company's decision framework based on part age, repair cost as a percentage of replacement cost, and any customer-specific notes in Jobber. Guides the tech to the right recommendation without the owner making the call. Repair vs replace threshold defined by owner. AI applies the rule — it does not create one.
"The job is running longer than estimated." Acknowledges the situation. Provides the approved protocol: notify customer proactively, update Jobber with revised time, flag for invoice adjustment. If the overage is significant, escalates to owner before committing to additional time. Overage threshold defined. Below it: tech handles. Above it: owner decides.
"The customer is asking for a discount." Returns the clear answer: discounts are not authorised in the field. Provides the approved response the tech can give the customer, and escalates the request to the owner with full job context if the customer pushes. Hard policy boundary. AI never authorises discounts. It escalates them.

The Phase 1 deployment included a draft-and-approve mode for technician responses. During the initial rollout, every AI response to a technician question was drafted and held for owner review before being sent. This gave the owner a full audit of what the AI was saying in the field — and allowed the knowledge base to be refined on real questions before the system operated autonomously. After the confidence threshold was validated in the real world, autonomous operation was switched on for the scenarios the owner had reviewed and approved.

The principle is simple. Train it on your policies. Test it against your real questions. Then trust it to run.

·  ·  ·

The Owner Layer — Control Without the Bottleneck

The owner approval workflow was the most important design constraint in the build. The whole point of this system is to remove the owner from routine decisions. But removing them from routine decisions means being very precise about what counts as routine — and building an escalation mechanism that catches everything that is not.

If the escalation rules are too aggressive, the owner gets flooded with approvals and the system creates more work than it removes. If they are too permissive, the AI makes commitments the owner would not have made. The configuration is the business judgment made explicit in code.

Scenario System behaviour What the owner receives
Routine customer scheduling or status update Handled and sent automatically. No owner involvement. Included in daily summary. Not an alert.
Customer complaint or expressed dissatisfaction AI acknowledges, holds, escalates immediately. Alert with full conversation transcript. Customer set to expect a direct callback.
Damage claim of any kind AI acknowledges, escalates immediately. No further AI response until owner clears it. Immediate alert. Full context. AI locked from the conversation until owner intervenes.
Pricing exception or discount request AI declines in the field, escalates to owner with job details. Alert with customer request, job context, and the customer's exact message.
Large repair quote above defined threshold Drafts the recommendation, holds for approval before sending. Draft response + job context. One-tap approve or edit.
Anything outside the knowledge base AI surfaces that it does not have a policy answer. Escalates rather than guessing. Alert with the question and a note that no policy guidance exists. Owner answers and the response is added to the knowledge base.

The daily summary gives the owner a clear view of everything the system handled autonomously — conversations closed, appointments scheduled, invoices sent, technician questions answered. Not an alert for each one. A single daily digest. The owner sees the volume the system is absorbing and the quality of the responses without being pulled into each individual interaction.

This is the design principle that makes the system work long-term. The owner trains it. The system handles routine. The owner reviews edge cases. The knowledge base gets sharper. The threshold of what counts as routine expands over time. The owner's involvement decreases as the system earns its autonomy.

·  ·  ·

Voice — The Inbound Call Experience

SMS handling is the foundation. Voice is where field service businesses lose the most ground — because a missed call during the busy season is a missed job, and a voicemail is almost never returned in time to win the work.

The voice layer was built on Retell AI sitting on top of Twilio's voice infrastructure. The architecture was deliberate: Twilio remains the underlying communication platform so the business number is portable and the infrastructure is not locked to any single voice AI provider. Retell handles the conversation intelligence. Twilio handles the call routing and recording.

INBOUND CALL FLOW
------------------------------------------------------------------
Customer calls the business number (Twilio)
  |
  +-- AI receptionist answers (Retell AI on Twilio voice)
  |     → Greets caller by business name
  |     → Identifies call intent: scheduling / status / billing / other
  |
  +-- SCHEDULING
  |     → Checks Jobber availability
  |     → Books or reschedules appointment
  |     → Confirms back to caller
  |     → Creates/updates Jobber record
  |
  +-- STATUS UPDATE
  |     → Queries Jobber for appointment details
  |     → Provides accurate ETA or technician status
  |
  +-- BILLING / INVOICE
  |     → Pulls invoice from Jobber
  |     → Offers to send via SMS to the caller's number
  |
  +-- COMPLEX / ESCALATION
        → Informs caller that the owner will call back
        → Captures caller name + number + callback time preference
        → Sends owner an immediate alert with full context

The AI receptionist does not pretend to be a human. It identifies as an AI assistant for the business. But it answers immediately, has access to the live schedule, and handles the four most common call types without a human picking up. For callers who need the owner, it sets a clear expectation — and delivers the alert with everything the owner needs to make the callback productive.

·  ·  ·

Phase 1 Build Sequence

The MVP was scoped to the features that unblock the owner fastest and validate the system on real interactions before adding complexity. Not everything was built on day one. The build sequence was deliberate.

Build step What was delivered Why this order
1. Knowledge base Company pricing, scheduling rules, service area, operating procedures, escalation thresholds — structured and loaded into the system prompt. Everything else is generic without this. The knowledge base is what makes the AI represent the business rather than a template.
2. Jobber integration API connection established. Contact lookup, appointment query, invoice retrieval, lead creation, and appointment booking all tested against live Jobber data. Customer-facing responses without live data are useless. The integration is the prerequisite for anything customer-facing.
3. Twilio SMS layer Inbound SMS routing. Make.com scenario triggering on every inbound message. OpenAI response generation. Outbound reply via Twilio. Approval workflow for owner review. SMS is the highest-volume channel and the fastest to validate. Live customer conversations on SMS before voice goes live.
4. Owner approval workflow Every AI-generated response held for owner review during Phase 1. Owner sees draft, approves or edits, response sends. Full audit trail. The owner needs to trust the system before it operates autonomously. The approval workflow builds that trust with real data.
5. Technician support channel Separate inbound channel for technician questions. Same AI infrastructure, different system prompt context. Draft-and-approve mode during rollout. Technician questions are higher-stakes than routine customer queries. Draft-and-approve runs longer here before autonomy is granted.
6. Voice receptionist Retell AI on Twilio voice. Inbound call handling for scheduling, status, and billing. Escalation to owner callback for complex calls. Voice goes live after the SMS layer has been validated on real interactions. The responses are consistent because they draw from the same tested knowledge base.
·  ·  ·

Three Things Every Field Service Business Gets Wrong

Every build like this surfaces the same hard truths. Worth stating plainly for any home service business considering a similar project.

The knowledge base is the product. The AI model is a commodity. GPT-4, GPT-4o, Claude, Gemini — they are all capable of generating reasonable responses to scheduling questions. What none of them can do without your input is represent your business specifically. Your repair-vs-replace threshold. Your overtime authorisation policy. Your discount rules. Your specific escalation conditions. The time spent building and refining the knowledge base is the time that determines whether the system sounds like your business or like a generic assistant that happens to mention your company name. There is no shortcut here.

Autonomous operation has to be earned, not assumed. The draft-and-approve mode during Phase 1 is not a limitation — it is the mechanism that makes the owner trust the system enough to turn it loose. Every business owner who has seen the AI draft a response they would not have sent is now confident about what the system will and will not do in the wild. Every business owner who skips this phase and goes straight to autonomous operation eventually gets a response they would not have approved — and loses trust in the system entirely. Earn the autonomy before you grant it.

The phone is always the bottleneck until it is not. In field service, the business phone number is a single point of failure that the whole operation routes through. Every missed call, every unanswered text, every voicemail that never got returned is a job that went to a competitor who picked up. The AI receptionist does not fix this by being smarter than a human. It fixes it by being available when no human is — after hours, during peak season, when the owner is on a roof and the phone is ringing in their pocket. Availability is the value proposition. Everything else is detail.

·  ·  ·

If Your Business Phone Is a Bottleneck

Customer texts that sit unanswered until someone in the office has a minute. Technicians calling the owner for decisions that should be documented policy. After-hours calls going to voicemail and leads going to whoever picked up next door. A scheduling system that the owner has to manually operate because nothing reads it and nothing writes to it automatically.

This is not a staffing problem. You do not need another person answering the phone. You need a system that reads your scheduling data, knows your operating policies, handles the routine interactions automatically, and brings the right things to the right human at the right moment.

I build AI receptionist and operations automation systems for field service businesses — home services, trades, irrigation, HVAC, landscaping, and anything that runs a field team on a scheduling platform. The engagement starts with a fixed-price architecture sprint: a complete system design, knowledge base structure, integration map, and approval workflow spec before a single automation is built.

Book an AI Operations Architecture Session

30 minutes. We map your current communication bottlenecks, your scheduling stack, and the decisions that are costing you time every day. You walk away with a plain-English architecture recommendation — whether or not you engage us to build it.

In This Build Three Users, One System The Integration Stack Customer-Facing AI Technician Operations Assistant Owner Control Layer Voice Receptionist Phase 1 Build Sequence What We Learned Build Yours
Stack in This Build
JobberScheduling + Customer Records
TwilioSMS + Voice Infrastructure
OpenAI APIIntelligence + Response Layer
Make.comWorkflow Orchestration
Retell AIVoice Receptionist (on Twilio)
Google WorkspaceInternal Comms + Documents
Company Knowledge BasePolicies, Pricing, Procedures