Jobber runs the back office for a huge share of Canadian trades businesses — plumbers, electricians, HVAC techs, landscapers, and cleaning companies who need to track clients, quote jobs, schedule crews, and invoice, all in one place. If your AI voice agent answers the phone but the leads it captures don't land inside Jobber in a structure your office staff can actually work with, you've automated the easy part and left the hard part manual.

Our general CRM integration guide covers Jobber alongside HubSpot, Jane App, and Google Sheets at a high level. This one goes deeper on Jobber specifically — its data model, exactly which fields a captured lead should map to, the two ways to build the connection, and the pitfalls that are unique to how Jobber is built.

Jobber's Data Model, in Plain English

Jobber organizes work around five connected objects, and understanding the hierarchy matters before you wire anything up:

  • Client — the customer record: name, phone, email, and any linked Properties (service addresses). This is the anchor everything else attaches to.
  • Request — an inbound ask for work that hasn't been priced or scheduled yet. This is Jobber's built-in "new lead" bucket.
  • Quote — a priced proposal tied to a Client and Property, sent for approval.
  • Job — approved, scheduled work with a crew, a date, and line items.
  • Invoice — the billing record generated once a Job is complete.

Each object sits downstream of the one before it. A Request doesn't need pricing or scheduling information to exist — it just needs to capture that someone asked for something. That matters a lot for what an AI voice agent should actually create.

Where an AI-Captured Lead Belongs in Jobber

The instinct is to have the AI agent create a Job, since that feels like "the work." Resist it. A Job in Jobber assumes you already know the scope, the price, and the crew — none of which exist after a first phone call. Creating Jobs directly from raw call data produces a schedule full of placeholder entries that someone has to clean up by hand, which defeats the purpose of automating in the first place.

The correct target is a Request attached to a Client record. Here's the field mapping that works in practice:

  • Caller name → Client first name / last name
  • Caller phone number → Client primary phone (and the field you match duplicates against — more below)
  • Service address, if captured → Client Property
  • What they need, in the caller's words → Request title or instructions field
  • Urgency ("no heat," "burst pipe," "quote for spring cleanup") → Request details, sometimes tagged for priority
  • Call timestamp and source → a custom field or tag such as "AI Voice Agent"

Landing here means the Request shows up in Jobber's request queue exactly where the office already looks each morning, with enough context to quote and schedule without a callback just to ask what the job even is.

Two Ways to Build the Connection

Path 1: Jobber's native Zapier app. Jobber publishes an official app on Zapier with triggers (New Client, New Request, New Quote, New Job, New Invoice) and actions (Create Client, Create Request, Find Client, and more). For the vast majority of small trades businesses, this is the right path — no developer, no code, and Jobber maintains the app on their end as their product evolves.

Path 2: Jobber's API and webhooks. Jobber also exposes a GraphQL API with webhook support for developers who need more than Zapier's action set allows — bidirectional sync, custom field logic, or handling volumes where Zapier's task-based pricing gets expensive. This path requires either in-house development time or a vendor who builds and maintains the connection for you. Most single-location trades businesses don't need this until they're running multiple crews and dozens of daily calls.

Setting Up the Zapier Connection, Step by Step

  1. In Zapier, start a new Zap and set the trigger app to your AI voice agent platform — most support a "New Lead Captured" or "Call Completed" trigger, or a generic webhook if a native trigger isn't available.
  2. Add a second step: search Zapier's app directory for "Jobber" and connect your Jobber account via OAuth login.
  3. Choose the action Find Client, searching by phone number, so the Zap checks whether the caller already exists before creating anything new.
  4. Add a conditional path (Zapier's built-in Paths feature): if no client is found, add a Create Client step using the captured name, phone, and address.
  5. Add a final action: Create Request, attached to either the existing or newly created Client, with the service description mapped into the Request's title and instructions fields.
  6. Send a test call's worth of sample data through the Zap and confirm the Request appears correctly in Jobber before turning it on live.

The whole setup takes 20–30 minutes once your AI platform's trigger is configured, and it's a one-time build — every call after that flows through automatically.

Common Pitfalls

Duplicate clients. Jobber doesn't automatically merge or de-duplicate records created via the API or Zapier. If your Zap only ever runs "Create Client," every repeat caller — including someone calling back to reschedule — generates a second Client record. Always run a Find Client step matched on phone number first. Phone number is more reliable than name matching for trades businesses, where the same person might give "Mike" one time and "Michael Chisholm" the next.

Plan tier restrictions. Jobber's Zapier app and open API aren't available on every plan. They're typically reserved for Jobber's mid-tier and higher plans, not the entry-level tier. If your integration build stalls with a permissions error, check your current Jobber plan before assuming the Zap is broken.

Over-collecting fields. It's tempting to map every possible data point the AI agent captures into custom fields. Stick to what your office actually uses to triage and quote — name, phone, address, service description, urgency. Extra fields mean more places for a mapping to silently break when Jobber or your AI platform updates.

Why This Matters More for Trades Than Almost Any Other Business

Jobber's core users — plumbers, electricians, HVAC companies, landscapers, cleaners — live and die on speed-to-lead. A burst pipe at 9pm or a no-heat call on a February morning goes to whoever answers first, and a huge share of that call volume happens outside office hours when nobody's at a desk to key a lead into Jobber. An AI voice agent that answers around the clock closes the first half of that problem. Landing the capture directly into a Request in Jobber — matched to the right Client, with the job described in the caller's own words — closes the second half, so the crew that opens Jobber at 7am sees a ready-to-quote queue instead of a stack of voicemails to transcribe by hand.

Ready to Get Every Call Into Jobber Automatically?

Start a free 60-day trial and we'll set up your AI voice agent and connect it to Jobber, so every after-hours call becomes a Request waiting in your queue — not a voicemail to transcribe.

← Back to The Lab