How to Set Up Patchment with Jobber: Automatic Job Booking for Field Service
Patchment is the AI front office for field-service businesses. Jobber is the field-service management platform where your jobs, clients, and schedule live. Connecting the two means inbound calls and texts book directly into Jobber. No manual entry, no callback loop. This guide covers the full setup sequence.
Quick answer: Patchment connects to Jobber via OAuth 2.0. Once connected, every call or text that results in a confirmed booking writes a new job record directly into your Jobber account, with the client name, service address, job type, and agreed window pre-filled. Your dispatcher opens Jobber to find clean jobs. No voicemails.
Step 1: How Patchment integrates with Jobber
Patchment uses the Jobber OAuth 2.0 authorization flow to connect to your Jobber account. OAuth is the same mechanism Jobber uses for other connected apps in the Jobber Marketplace. You authorize Patchment to read your schedule and write job records on your behalf. No API key handling required on your end.
The integration stores a per-organization access token that refreshes automatically. This means Patchment does not require you to rotate credentials manually. The token refresh happens in the background when the current token expires.
What Patchment reads from Jobber: your schedule (to check available windows before offering them to the customer) and client records (to match returning customers by phone number).
What Patchment writes to Jobber: new job requests, with client name, service address, job description, and the confirmed booking window. Patchment creates or updates the client record if one does not exist for the calling number.
Your Jobber account stays the system of record. Patchment writes into it, not around it.
Step 2: Mapping job types and confirmation workflows
Before your first live call, you need to map your job types and configure the confirmation workflow for each.
Job type mapping tells Patchment what kinds of work your shop takes and what intake questions to ask for each. An HVAC shop running Patchment needs at minimum: no-cool, no-heat, maintenance, and new system. A plumbing shop needs: drain clog, leak, water heater, and general service. Configure these in your Patchment org settings. The AI uses this map to select the right intake flow and to write the correct job type into Jobber.
Confirmation workflows control whether Patchment books the job automatically or queues it for your dispatcher's approval first. A typical starting config:
| Scenario | Workflow |
|---|---|
| New routine request, open window | Auto-book into Jobber |
| Request during a blacked-out window | Queue for dispatcher review |
| Pricing question | Escalate to dispatcher immediately |
| Emergency keyword (flooding, no heat in winter) | Escalate immediately, offer callback |
| Repeat client, known service address | Auto-book, send confirmation |
Start with "queue everything for review" if you want to audit the AI's decisions before fully autonomous booking. Most shops switch to auto-book for routine requests within two to three weeks.
Step 3: Setting up SMS consent flows
Patchment sends SMS to customers as part of the booking workflow: confirmation texts, technician updates, and day-of reminders. Before these messages go out, Patchment collects the required A2P consent.
The consent disclosure is delivered on the intake call or in the first SMS reply, before any transactional message is sent. The disclosure reads: "By requesting service, you agree to receive text messages about your appointment from the business: booking confirmations, technician updates, and follow-ups. Message frequency varies, typically 2–6 messages per job. Reply STOP to opt out at any time, HELP for help."
Do not skip this step. A2P 10DLC compliance requires consent capture before the first message. Carriers flag or block non-compliant traffic. Blocked messages mean customers never receive your booking confirmations. The workflow breaks silently.
The STOP opt-out is enforced automatically. If a customer replies STOP, Patchment ceases all outbound SMS for that contact. HELP responses trigger a help message with your support contact. Both are handled without dispatcher intervention.
Your Twilio number must be registered under the correct A2P 10DLC brand and campaign before go-live. Patchment's onboarding walks you through this registration. It is a one-time step, not per-customer.
Step 4: Testing the full booking workflow
Test before you forward your main business number to Patchment. The test sequence:
- Test 1: New customer, routine request. Call the Patchment number from a mobile phone. Give a name, address, and job description ("My AC stopped cooling, 42 Elm Street, Apt 2"). Confirm that Patchment offers real available windows from your Jobber calendar. Select a window. Verify that the job appears in Jobber with the correct details, and record the observed processing time.
- Test 2: SMS confirmation. After Test 1, check that the mobile number used received an SMS confirmation with the correct business name, job description, and window. Check that the message includes the STOP opt-out line.
- Test 3: Escalation. Call again and ask for a price estimate. Verify that Patchment escalates to the dispatcher queue rather than quoting a number. The AI should respond: "Pricing depends on what we find on-site. I'll have someone from the team follow up on that."
- Test 4: STOP opt-out. Reply STOP to the confirmation text. Verify that no further SMS is sent to that number. Verify that the opt-out is recorded in Patchment's contact log.
- Test 5: After-hours behavior. Call at a time outside your configured business hours. Verify that Patchment still answers (it runs 24/7) and offers windows from the next available block, not from the current closed period.
If all five tests pass, you are ready to forward your main number.
Notes / gotchas
- `PUBLIC_BASE_URL` must match your domain exactly. Twilio verifies webhook signatures against this URL. A mismatch causes all inbound calls and texts to fail with a 401.
- Jobber OAuth redirect URI must be registered in your Jobber app as
<PUBLIC_BASE_URL>/oauth/jobber/callback. If you change your domain later, update both the Jobber app registration and your Patchment config. - Schedule accuracy is critical. Patchment reads your Jobber calendar to offer windows. If technicians are marked available when they are not, the AI offers those windows. Keep your Jobber schedule accurate.
- New client creation. Patchment creates a Jobber client record for new callers if none exists with that phone number. Review new client records in Jobber periodically to catch duplicates (caller uses a different number for a return visit).
- Org-wide kill switch. If you need to pause Patchment and handle all calls manually, the kill switch in the Patchment console stops all autonomous actions immediately. Use it during unusual periods (staff shortages, pricing changes, service area changes) rather than disconnecting the integration.
Frequently asked questions
Does Patchment work with Jobber's mobile app?
Yes. Jobs that Patchment writes into Jobber appear in the Jobber mobile app for your technicians, including the job details and address. Technicians can access job information the same way they do for jobs your dispatcher enters manually.
What happens if a customer books via Patchment and then calls Jobber directly to reschedule?
Patchment does not intercept reschedule requests that go through Jobber directly. If a customer calls your line and Patchment picks up the reschedule request, it will update the Jobber record. Rescheduling is a supported workflow.
Can Patchment handle multiple Jobber accounts for multi-location businesses?
Patchment stores one Jobber connection per organization (org). A multi-location business using separate Jobber accounts needs a separate Patchment org per location. Multi-org support for a single phone tree is on the roadmap.
How long does the OAuth connection take to set up?
You visit the Patchment onboarding URL and authorize the Jobber connection. Patchment exchanges the authorization code, looks up your Jobber account identity, stores the connection, and then shows a success page. That callback confirms authorization and account identity; it does not validate schedule availability. Run Test 1 above before go-live to verify that real calendar windows can be read and booked.
What if my Jobber access token expires?
Patchment refreshes Jobber access tokens automatically using the stored refresh token. You do not manage token expiry. If the refresh fails (for example, because you revoked Patchment's access in Jobber), Patchment surfaces an alert in the console and falls back to queuing new bookings for manual entry rather than failing silently.
Patchment