Connect Jobber
Goal: accepted leads become Jobber clients and requests; Jobber progress updates the lead here.
Option 1: Zapier (no code)
- Leads in: trigger Webhooks by Zapier, Catch Hook, put the hook address in our Settings, filter on
event=lead.accepted. Actions: Jobber, Create Client (name, phone, email fromlead.contact), then Jobber, Create Request for that client with the titlelead.serviceand the detailslead.detailsplus our leadid. - Status back: trigger on Jobber events in Zapier (for example a new job or a completed visit, depending on what your Jobber Zapier app offers), look up our lead id you stored in step 1 (Zapier Storage, or read it from the request details), and send Webhooks by Zapier, Custom Request
PATCH .../v1/leads/<id>with{"status":"hired"}or{"status":"job_done"}.
Check the exact Jobber trigger and action names in Zapier; they depend on Jobber's current Zapier app.
Option 2: Jobber API (for developers)
Jobber's API is GraphQL at https://api.getjobber.com/api/graphql with OAuth 2.0 (authorization code, PKCE recommended), 60-minute access tokens and the header X-JOBBER-GRAPHQL-VERSION.
- On our
lead.acceptedwebhook: create the client and the request with Jobber's client and request mutations (check names and fields in Jobber's GraphiQL explorer for your API version), and save the mapping of our lead id to the Jobber ids. - Subscribe to Jobber webhooks for the job and visit topics you want. Jobber's payload is thin (topic, account and item id); fetch the item with GraphQL, map it to our status, and
PATCHus. - Jobber signs webhooks with
X-Jobber-Hmac-SHA256(base64 HMAC-SHA256 of the raw body using your app's client secret), expects an answer within 1 second, and can send the same topic twice: dedupe on item id plus topic. - Jobber rate limit: 2,500 requests per 5 minutes per app and account, plus a query-cost budget.
Suggested status mapping is in Statuses.