# Jobber AI Voice Agent: How to Connect a Custom AI Receptionist to Jobber (2026 Build Guide)

Author: Kris Hubbard
Published: November 7, 2026
Updated: November 7, 2026
Canonical: https://wrkless.com/blog/jobber-ai-voice-agent

**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](/case-studies/jobber-gohighlevel-quickbooks-integration) 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](/blog/jobber-ai-receptionist-pricing) or [Jobber Receptionist vs. GoHighLevel Voice AI](/blog/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](https://help.getjobber.com/en/articles/receptionistpowered-by-jobber-ai/) (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](https://docs.retellai.com/integrations/crm-overview.md) 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](/blog/ai-receptionist-lead-capture) 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](/blog/ai-receptionist-transfer-to-human).

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:

1. **During the call: read-only lookups.** A Retell [custom function](https://docs.retellai.com/build/single-multi-prompt/custom-function.md) 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.
2. **After the call: writes.** We wait for Retell's [`call_analyzed` webhook](https://docs.retellai.com/features/webhook-overview.md), which carries the Post Call Extraction fields. n8n checks the required fields, matches the client, then runs `clientCreate` (only if there's no match) and `requestCreate` with the job notes.
3. **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](/blog/retell-workflows-vs-n8n-zapier) covers where that logic should live.

## Which Jobber API rules break voice agent builds?

All of these come from Jobber's [Developer Center](https://developer.getjobber.com/docs/), 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](https://developer.getjobber.com/docs/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](https://developer.getjobber.com/docs/custom_integrations/) 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](/blog/jobber-chatgpt-connector).

**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](/gohighlevel-quickbooks-jobber.php) 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-VERSION` and 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 on `event` + `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](/blog/ai-receptionist-spam-calls))
- [ ] 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](/blog/ai-receptionist-disclosure-laws), [recording laws](/blog/ai-call-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](/retell-ai-voice-agent-setup.php) page and how the post-call hand-off works on [Retell AI integrations and webhooks](/retell-ai-integrations-and-webhooks.php).

[Book an AI systems assessment](https://cal.com/kris-hubbard-wrk-less/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](tel:+14072594842).

## 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.

## Sources

- https://developer.getjobber.com/docs/
- https://developer.getjobber.com/docs/custom_integrations/
- https://developer.getjobber.com/docs/changelog/
- https://developer.getjobber.com/docs/using_jobbers_api/api_rate_limits/
- https://developer.getjobber.com/docs/using_jobbers_api/api_versioning/
- https://developer.getjobber.com/docs/using_jobbers_api/setting_up_webhooks/
- https://help.getjobber.com/en/articles/receptionistpowered-by-jobber-ai/
- https://help.getjobber.com/en/articles/connect-jobber-to-claude-and-chatgpt/
- https://docs.retellai.com/integrations/crm-overview.md
- https://docs.retellai.com/build/single-multi-prompt/custom-function.md
- https://docs.retellai.com/features/webhook-overview.md
- https://wrkless.com/case-studies/jobber-gohighlevel-quickbooks-integration
- Jobber Receptionist help article (updated October 28, 2026), checked November 7, 2026: Receptionist is included on the Plus Plan with unlimited usage; can be added-on to select plans for $29 per month, which includes 30 conversations; $0.79 per additional conversation; spam and no conversation do not count; a dedicated phone number (DPN) in Jobber is still required; actions: answering questions, escalating specific inquiries, booking jobs in your schedule, canceling and rescheduling appointments, creating requests, creating and assigning follow-up tasks; Schedule jobs uses your Online Booking form
- Jobber Developer Center, checked November 7, 2026: GraphQL over HTTPS at https://api.getjobber.com/api/graphql; access tokens expire after 60 minutes; refresh tokens must be stored securely and rotated correctly; X-JOBBER-GRAPHQL-VERSION required on every request; versions supported for at least 12 months and accessible for up to 18 months; rate limits 10,000 points per app/account pair restoring at 500 points per second and 2,500 requests per 5 minutes; THROTTLED error; EncodedId base64 IDs; webhooks must be responded to within 1 second; at-least-once delivery; X-Jobber-Hmac-SHA256 header; Jobber may disable the app's webhooks; changelog newest version 2026-09-25; custom integrations only possible for specific, approved Jobber customers (service providers) and developers; API access blocked if a Draft app connects to more than 5 paying Jobber accounts
- Retell docs, checked November 7, 2026: CRM integrations list Salesforce, HubSpot, Dynamics 365, GoHighLevel, Zoho (no Jobber); custom function timeout accepts 1000 to 600000 ms, defaults to 120000 (2 minutes); not retried unless max_retry set (0-5); call_analyzed webhook includes call_analysis; webhook timeout 10 seconds, retried up to 3 times if no 2xx; dedupe on event + call_id
- Wrk Less call review, Retell API pull (Nov 1, 2026) of two field-trade client voice lines, October 12 to 31, 2026: 27 customers asking for work; 26 of 27 left a name and callback number; address asked on 25; readback on 25; median job call 89 seconds
- Wrk Less build notes, Oct 19 2026: field-service company; custom direct connection to Jobber (off-the-shelf GoHighLevel/Jobber app not usable; automation tool lacked Jobber support); master customer record across Jobber, GoHighLevel and QuickBooks; duplicate-proof company matching (Acme, LLC vs Acme LLC)
- https://cal.com/kris-hubbard-wrk-less/ai-systems-assessment