Integrations
Jobber AI Voice Agent: How to Connect a Custom AI Receptionist to Jobber (2026 Build Guide)
Short answer: A Jobber AI voice agent is a phone agent that answers your calls and writes what it learns into Jobber as a client, a request or a follow-up task. You have three ways to get one. Jobber's own Receptionist is built in: it's $29 per month with 30 conversations included and $0.79 for each extra conversation, and it's included on the Plus plan. A third-party receptionist can connect through the Jobber App Marketplace or Zapier. Or you can run a custom voice agent, which we usually build on Retell, that talks to Jobber's GraphQL API. Go custom when routing, multiple systems or your own intake rules matter more than a toggle. If you do, build it like this: look up the caller during the call, write to Jobber after the call from the call_analyzed webhook, match before you create, and send new work in as a request, not a booked job.
We build voice agents and Jobber integrations at Wrk Less. For one field-service company we wrote a direct connection to Jobber because the off-the-shelf Jobber and GoHighLevel app wasn't usable and their automation tool had no Jobber support. This post covers the voice side of that pattern: what we wire up, which Jobber API rules bite, and what we test before it answers a real customer.
Comparing prices instead? Read our Jobber AI receptionist pricing guide or Jobber Receptionist vs. GoHighLevel Voice AI. This post is about the build.
What are your options for an AI voice agent on Jobber?
| Option | How it reaches Jobber | Best for | Watch out for |
|---|---|---|---|
| Jobber Receptionist (native) | Built in. Uses your dedicated phone number, online booking and request form | Solo and small crews that live in Jobber | A Jobber dedicated phone number is required. $29/mo with 30 conversations, then $0.79 each, or included on Plus |
| Marketplace or Zapier receptionist | App Marketplace listing, or Zapier actions like Create Request | Teams that want a vendor product and a quick setup | Find out whether it books a visit or only creates a request |
| Custom voice agent (Retell + n8n + Jobber API) | Your own OAuth app calling https://api.getjobber.com/api/graphql |
Multi-line routing, GoHighLevel or QuickBooks in the mix, strict intake rules | You own token refresh, versioning, rate limits and testing |
Jobber's Receptionist help article (updated October 28, 2026, checked November 7) lists what it can do: answer questions, escalate on keywords, book jobs through your Online Booking form, reschedule or cancel appointments, create requests, and create follow-up tasks. The setup is quick. What you can't change is the logic behind it.
Why go custom instead of using Jobber's Receptionist?
Three situations come up again and again in our builds:
- More than one system has to agree. If GoHighLevel runs your marketing and QuickBooks runs your books, a call has to land on one customer record, not three. Retell's CRM integrations cover Salesforce, HubSpot, Dynamics 365, GoHighLevel and Zoho. Jobber isn't on that list, so a Retell agent reaches Jobber through Jobber's API.
- The intake has rules. "Gate stuck open" goes to the on-call tech. "Quote for a new fence" goes into the morning queue. Vendors and sales pitches never become requests. Our lead capture guide walks through those fields.
- You want to control the phone line. A custom agent can sit on your existing number, use different greetings for different lines, and transfer calls the way you want. See how we build the human handoff.
Here's why intake quality matters. On two field-trade client lines we run, 27 callers asked for work from October 12 to 31, 2026. 26 of 27 left a name and callback number, the agent asked for the address on 25 and read the details back on 25, and the median job call took 89 seconds. A good intake produces a request your team can act on without calling the customer back to ask what they wanted.
How does a custom voice agent write calls into Jobber?
This is the architecture we use:
- During the call: read-only lookups. A Retell custom function calls a small n8n endpoint that searches Jobber clients by the caller's phone number. If it finds a match, the agent can greet the caller by name and skip questions you already know the answers to. Retell's custom function timeout defaults to 120000 ms (two minutes), and a failed function isn't retried unless you set
max_retry. We set a short timeout and give the agent a fallback line, so a slow API never leaves dead air. - After the call: writes. We wait for Retell's
call_analyzedwebhook, which carries the Post Call Extraction fields. n8n checks the required fields, matches the client, then runsclientCreate(only if there's no match) andrequestCreatewith the job notes. - Route. Urgent calls page the on-call tech. Everything else lands as a request with an owner.
Why not write during the call? A write that fails halfway through a conversation is hard to recover. A write after the call can be retried, deduplicated and logged. Retell retries webhooks that don't get a 2xx within 10 seconds, so we acknowledge fast and dedupe on event + call_id. Our Retell Workflows vs. n8n comparison covers where that logic should live.
Which Jobber API rules break voice agent builds?
All of these come from Jobber's Developer Center, checked November 7, 2026.
| Jobber rule | What breaks if you ignore it | What we do |
|---|---|---|
| Access tokens expire after 60 minutes. Refresh tokens must be stored and rotated correctly | The agent works on day one, then every write fails | Refresh the token in one place and store the rotated refresh token every time |
Every request needs X-JOBBER-GRAPHQL-VERSION. Versions are supported for at least 12 months and accessible for up to 18 months |
Silent upgrades or warnings when an old version ages out | Pin a current version (the changelog lists 2026-09-25 as the newest) and read the extensions.versioning warnings |
| Rate limits: 10,000 query-cost points per app/account, restoring at 500 per second, plus 2,500 requests per 5 minutes | THROTTLED errors during a busy morning |
Use small, paginated queries (first:) and no deep nesting in phone lookups |
IDs are base64 EncodedId strings |
Integer IDs and hand-built IDs fail | Pass IDs straight from one query into the next mutation |
Webhooks must be answered within 1 second, are delivered at least once, and carry an X-Jobber-Hmac-SHA256 signature |
Jobber may disable webhooks that keep timing out. Duplicate events create duplicate work | Verify the HMAC, return 200 right away, process in a queue, and stay idempotent |
| Custom integrations can stay in Draft, but API access is blocked past 5 paying Jobber accounts without approval | An agency template stops working on the sixth client | One app per client account, or apply for approval |
One more catch: Jobber's Custom Integrations page says custom integrations are only possible for "specific, approved Jobber customers (service providers) and developers." Sort out access before you promise anyone a launch date.
Should the voice agent create a request, a job or a task?
Create a request for new work. In Jobber, a request is an incoming work enquiry tied to a client. Your team still decides whether to quote, assess or schedule it, so a misheard address costs you a phone call, not a truck roll. Jobber's own Receptionist only books directly through your Online Booking settings, which is a good rule for custom builds too: let the agent book only where you've already defined which services and team members can be booked.
Use a task for messages that aren't new work, like vendors, billing questions and "call me back." Don't have the agent create jobs or invoices. Jobber's ChatGPT connector can't create jobs or invoices either, as we covered in our Jobber ChatGPT connector guide.
Match before you create. On our Jobber, GoHighLevel and QuickBooks build, "Acme, LLC" and "Acme LLC" had become separate records. Search by phone first, then by normalized company name, and only then create a client. Our Jobber, GoHighLevel and QuickBooks integration services page covers the matching layer.
Jobber voice agent launch checklist
- Get Jobber API access approved for the account (custom integration or Marketplace app)
- Request only the scopes you need (client and request read/write for most intake agents)
- Store and rotate the refresh token, and alert on any 401
- Pin
X-JOBBER-GRAPHQL-VERSIONand log version warnings - Keep the mid-call phone lookup read-only with a short timeout and a fallback line
- Write to Jobber only from
call_analyzed, and dedupe onevent+call_id - Match by phone, then by normalized name, before
clientCreate - Send new work in as a request, with a summary, the address and the callback number in the notes
- Filter spam before it reaches Jobber (see our spam call guide)
- Test a new caller, a known caller, an urgent job, a vendor, a hang-up and a Jobber outage
- Check your AI and recording disclosures (disclosure rules, recording laws)
Want a voice agent that writes clean requests into Jobber?
Wrk Less builds custom Retell voice agents that write clean requests into Jobber, keep GoHighLevel and QuickBooks in step, and hand urgent calls to a person. See how we set up agents on our Retell AI voice agent setup page and how the post-call hand-off works on Retell AI integrations and webhooks.
Book an AI systems assessment and we'll map your call flow and your Jobber setup before anything goes live. Rather hear one first? Call our AI receptionist on +1 407-259-4842.
Questions people ask
Can I use my own AI voice agent with Jobber?
Yes. Jobber's API is GraphQL over HTTPS at https://api.getjobber.com/api/graphql, and an OAuth app can look up clients and create clients and requests. A custom voice agent, such as one built on Retell with n8n, can look up the caller during the call and create a request after it. Jobber says custom integrations are only possible for specific, approved Jobber customers and developers, so confirm API access first.
Does Retell integrate with Jobber natively?
Not as of November 7, 2026. Retell's CRM integrations page lists Salesforce, HubSpot, Dynamics 365, GoHighLevel and Zoho, but not Jobber. A Retell agent reaches Jobber through a custom function or a webhook that calls Jobber's GraphQL API, usually through a workflow tool such as n8n.
Should an AI voice agent create requests or jobs in Jobber?
Requests, for new work. A request is an incoming work enquiry that your team still reviews, so a misheard detail costs a callback instead of a wasted visit. Use follow-up tasks for messages that aren't new work. Only let the agent book directly where you've already defined which services and team members can be booked, which is how Jobber's own Receptionist books through Online Booking.
What Jobber API limits matter for a voice agent?
Access tokens expire after 60 minutes and must be refreshed. Every request needs an X-JOBBER-GRAPHQL-VERSION header. Rate limits are 10,000 query-cost points per app and account, restoring at 500 points per second, plus 2,500 requests per 5 minutes. Webhooks must be answered within 1 second and can arrive more than once. A Draft custom integration loses API access if it connects to more than 5 paying Jobber accounts without approval.
How much does Jobber's built-in AI Receptionist cost?
Jobber's help article, updated October 28, 2026, says Receptionist is included on the Plus Plan with unlimited usage, or can be added to select plans for $29 per month, which includes 30 conversations, with $0.79 per additional conversation. Calls tagged as spam or no conversation don't count, and a Jobber dedicated phone number is required.