Jobber
Jobber is a field service management platform for managing clients, jobs, scheduling, quotes, invoices, and payments.
Verdict
Common use cases
- Create clients from inbound chat inquiries
- Draft quotes during discovery calls
- Log job notes after field visits
- Pull client history before callbacks
- Spin up jobs from triage threads
Integration
- Vendor
- Jobber
- Category
- crm
- Auth
- OAUTH2
- Tools
- 36
- Composio slug
jobber
Tools
- Create Client
Create an individual or company client in Jobber with optional primary email and phone contact details. Provide at least one of first_name, last_name, or company_name. Jobber provides no client deletion path, so this leaves a persistent rec
- Create Custom Field Configuration
Create one Jobber TEXT, LINK, AREA, TRUE_FALSE, NUMERIC, or DROPDOWN custom-field definition through a fixed type-specific mutation. WARNING: this persistent administrative write requires Jobber Connect+ (Connect or higher) and the Custom F
- Create Job
Create a basic one-off Jobber job for an existing property with an explicit invoicing strategy. Jobber provides no job deletion path, so this leaves a persistent record.
- Create Note
Create a note on exactly one Jobber client, job, quote, invoice, or request. The resource type selects a fixed provider mutation, and unsupported cross-resource link options are rejected. Created notes persist, and this toolkit has no gener
- Create Quote
Create a persistent draft quote for an existing Jobber client and property with one or more explicit line items. Setting a line item's save_to_products_and_services flag to true also creates a persistent copy in Jobber's products and servic
- Disconnect App
Permanently disconnect this connected account from the Jobber app, immediately revoking its access and refresh tokens. This cannot be undone; future Jobber calls require reconnecting through OAuth.
- Get Account
Return the connected Jobber account's identity and basic company details.
- Get Client
Return one client, its basic properties, and up to 10 normalized notes by opaque Jobber client ID. Note IDs can be passed to Update Note.
- Get Invoice
Return one invoice's receivables summary, client, salesperson, and up to 10 normalized notes by opaque Jobber invoice ID.
- Get Job
Return one job's status, schedule, totals, client, property, and up to 10 normalized notes by opaque Jobber job ID. Note IDs can be passed to Update Note.
- Get Product Or Service
Return one catalog product, service, or labour item by opaque Jobber catalog ID. A supplied unknown catalog ID fails with Jobber's GraphQL error because this root is non-null.
- Get Property
Return one service property and its owning client by opaque Jobber property ID.
- Get Quote
Return one quote's financial summary, client, property, salesperson, and up to 10 notes by opaque Jobber quote ID.
- Get Request
Return one work request and up to 10 normalized notes by opaque Jobber request ID. Note IDs can be passed to Update Note.
- Get Time Sheet Entry
Return one time sheet entry by opaque Jobber ID.
- Get User
Return a Jobber user by ID, or the current authorized user when user_id is omitted.
- List Clients
Search and filter clients in the connected Jobber account, returning one cursor-paginated page.
- List Custom Field Configurations
List custom-field definitions by target, value type, or creating app, with type-specific defaults and one cursor page. This read was verified on Core; Jobber documents custom-field configuration features as Connect or higher.
- List Invoices
Search and filter invoices by client, status, or due date, returning one cursor-paginated page.
- List Jobs
Search and filter jobs by status, type, schedule, or assignee, returning one cursor-paginated page.
- List Notes
List one cursor page of notes for a Jobber client, job, quote, invoice, or request. An initial call requires resource_type and resource_id. Each opaque LIST_NOTES continuation retains the original resource type, resource ID, and limit, so p
- List Products And Services
Return one cursor-paginated page of catalog products, services, and labour items.
- List Properties
Search properties or list those belonging to a client, returning one cursor-paginated page.
- List Quotes
Search and filter quotes by client, status, salesperson, or creation time, returning one cursor-paginated page.
- List Requests
Search and filter work requests by client, property, status, assignee, or timestamp, returning one cursor-paginated page.
- List Scheduled Items
List visits, tasks, events, assessments, and reminders for a required date-time range, optionally including unassigned or unscheduled items, one cursor-paginated page at a time.
- List Time Sheet Entries
Filter time sheet entries by user, approval, payable state, active timer, or timestamps, returning one cursor-paginated page.
- List Users
Search Jobber users by name or activation status and return each user's account status and role details in one cursor-paginated page.
- List Visits
Filter scheduled or unscheduled visits by status, time, assignee, or billing state, returning one cursor-paginated page.
- Update Client
Update a Jobber client's identity, communication preferences, or tags, or add primary email or phone details. Provide at least one update field in addition to client_id; added contact records do not replace existing records.
- Update Custom Field Configuration
Rename or update the type-specific default of an existing Jobber custom field. Requires Jobber Connect or higher and the app's Custom Field Configurations permission. field_type is needed only for type-specific updates and must match the ex
- Update Invoice
Update an existing Jobber invoice's customer-facing text, issue or due terms, discount, salesperson, or payment options. This is a financial write: discounts can change the invoice total, due terms can change when payment is owed, and payme
- Update Job
Update an existing Jobber job's basic details, timeframe, salesperson, or review-request preference. Provide at least one update field.
- Update Note
Update a note discovered on a Jobber client, job, quote, invoice, or request. Dispatches only to the fixed mutation for resource_type and requires at least one supported update field. Link compatibility: CLIENT supports invoices/jobs/quotes
- Update Product Or Service
Update an existing Jobber catalog item's pricing, visibility, scheduling, classification, or self-serve quantity settings. Financial fields affect the item as follows: default_unit_cost changes the default customer price, internal_unit_cost
- Update Quote
Update an existing Jobber quote's customer-facing text, quote number, pricing modifiers, salesperson, or payment options. Provide at least one update field in addition to quote_id.
Setup
Setup guide
- 11. Open your Switchy workspace settings and navigate to the Integrations page. 2. Find Jobber in the CRM category and click Connect. 3. You'll be redirected to Jobber's OAuth consent screen; log in with an account that has admin or Connect-level permissions. 4. Grant the requested scopes — read/write access to clients, jobs, quotes, invoices, properties, and custom fields. 5. Jobber will redirect you back to Switchy; you'll see a green checkmark when the connection succeeds. 6. Open any Project and type '@Jobber get account' to confirm the integration returns your company name and account ID. 7. To invoke a tool, @mention Jobber in a message and describe what you need — for example, '@Jobber create a client named Sarah Chen with email sarah@example.com' or '@Jobber create a quote for client ID abc123'.
What teammates see: by default, memories from Jobber are scoped to the Project (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Projects have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Create Client from Inquiry
@Jobber create a client with first name Alex, last name Martinez, email alex.martinez@example.com, and phone 555-0199. Use company name 'Martinez Property Management'.
Draft Quote for Existing Client
@Jobber create a quote for client ID gid://jobber/Client/12345 and property ID gid://jobber/Property/67890. Add two line items: 'Lawn mowing' at $80 and 'Hedge trimming' at $45. Set invoicing to 'Invoiced at job completion'.
Log Field Visit Notes
@Jobber create a note on job ID gid://jobber/Job/11223. Note text: 'Replaced two sprinkler heads in zone 3. Customer mentioned fence gate sticks — recommend follow-up visit.'
Pull Client History Before Callback
@Jobber get client ID gid://jobber/Client/98765 and show me their recent notes and job history.
Spin Up Job from Triage
@Jobber create a job for property ID gid://jobber/Property/54321. Title: 'Emergency pipe repair'. Set invoicing to 'Invoiced at job completion' and mark it as a one-off job.
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@Jobber pull the client record for Acme Landscaping and show me their last 5 service jobs with invoice status
Found client 'Acme Landscaping' (ID: cli_8x9y). Their last 5 jobs: (1) Lawn aeration on March 12 – invoice paid $240, (2) Spring cleanup on March 5 – invoice overdue $385, (3) Snow removal on Feb 20 – invoice paid $150, (4) Gutter cleaning on Jan 18 – no invoice issued, (5) Fall leaf removal on Nov 10 – invoice paid $295. The March 5 cleanup invoice is 18 days overdue. This is an illustrative example; actual job and invoice counts depend on your Jobber account history.
This read-heavy example demonstrates cross-resource fetching (client + jobs + invoices). Jobber's API returns paginated results; the MCP retrieves recent records but may not surface every historical job without explicit date filters. Requires read:clients and read:jobs OAuth scopes.
@Jobber create a new quote for property 456 Oak Street: spring garden bed prep $320, mulch delivery $180, plant installation $450, due April 15
Created draft quote QUO-2847 for property 456 Oak Street with three line items totaling $950 (spring garden bed prep $320, mulch delivery $180, plant installation $450). Quote expiration set to April 15, 2025. The quote is now visible in your Jobber dashboard under the property's Quotes tab and can be sent to the client for approval. This is an illustrative example; actual quote numbers and formatting depend on your Jobber account settings.
This write example shows persistent quote creation with multiple line items. Jobber does not provide a quote deletion API, so test quotes remain in your account. If you set save_to_products_and_services:true on a line item, Jobber also creates a reusable product catalog entry. Requires write:quotes scope.
@Jobber review all overdue invoices from the past 60 days and draft a polite follow-up email template I can customize per client
Found 7 overdue invoices from the past 60 days totaling $3,240 across 5 clients. Average overdue period: 23 days. Here's a polite follow-up template: 'Hi [Client Name], I hope this message finds you well. I wanted to follow up on invoice [INV-####] for [Service Description] dated [Date], which shows an outstanding balance of $[Amount]. If you've already sent payment, please disregard this note. Otherwise, I'd appreciate settling this at your earliest convenience. Let me know if you have questions or need a payment plan. Thanks for your business!' This is an illustrative example; actual overdue counts and amounts depend on your Jobber account state.
This synthesis example pairs Jobber's invoice search with AI reasoning to generate contextual communication. The MCP fetches invoice data but does not send emails directly—you'll copy the template into Jobber's client communication tools or your own email client. Requires read:invoices scope.
Use-case deep-dives
When Jobber MCP fits a 6-person HVAC crew's daily workflow
A small HVAC company runs morning dispatch from a shared Switchy workspace. The dispatcher pulls overnight service requests, creates Jobber jobs for each property, assigns them to techs, and logs notes when a customer calls mid-route. The MCP's 36 tools cover the full dispatch loop—create client, create job, create note—without opening the Jobber web UI. This works cleanly if your team already lives in Jobber for scheduling and invoicing; the OAuth2 scope means one person connects the account and the whole crew sees live data. The threshold: if you're triaging more than 40 jobs a day, the lack of bulk-create tools will slow you down. For teams under that line, this MCP turns Switchy into a dispatch console that writes directly to your system of record.
Why this MCP wins for landscaping quote workflows
A three-person landscaping company uses Switchy to draft quotes during client calls. The salesperson asks the AI to pull the client's property details from Jobber, suggest line items based on past jobs, and create the quote—all in one conversational thread. The Create Quote tool writes a persistent draft with explicit line items and can optionally save those items to the products-and-services catalog for future reuse. This scenario leans on Jobber's existing client and property records, so it's a fit if you've already built that foundation. The trade-off: Jobber provides no quote deletion path, so every draft you create stays in the system. If your team experiments with five pricing variations per client, you'll clutter the account. For shops that finalize quotes in one or two passes, this MCP keeps the sales cycle in Switchy.
When Jobber's custom-field MCP tool handles multi-location setup
A cleaning-service franchise is onboarding four new locations and needs each Jobber account to track the same custom fields—preferred arrival window, gate code, pet notes. The franchise ops manager connects one location's Jobber account to Switchy, uses the Create Custom Field Configuration tool to define the six fields, then repeats the process for the other three accounts. The tool supports text, dropdown, numeric, and boolean types, and the MCP's OAuth2 flow means the manager doesn't need admin credentials for each location. This scenario assumes you're setting up fields once or twice a quarter, not iterating daily; Jobber's API treats custom-field creation as a persistent administrative write, so there's no undo. If you're still experimenting with your data model, do that work in Jobber's UI first. For teams rolling out a stable schema across accounts, this MCP turns Switchy into a configuration console.
Frequently asked
What can Switchy's Jobber MCP do for my team?
It creates and reads Jobber clients, jobs, quotes, invoices, and notes directly from Switchy's AI workspace. Your team can draft quotes with line items, log client notes, and pull account details without switching tabs. Jobber doesn't allow deletion via API, so every job or quote you create through the MCP is permanent.
Which Jobber OAuth scopes does the MCP request?
The MCP uses OAuth2 to connect your Jobber account and requests scopes that cover client management, job creation, quoting, invoicing, and custom-field configuration. You'll authorize these during the one-time connection flow in Switchy. Only Jobber account admins or users with API access enabled can complete the OAuth handshake.
Can the Jobber MCP delete jobs or quotes I created by mistake?
No. Jobber's API doesn't expose deletion endpoints for jobs, quotes, or clients, so anything you create through the MCP is permanent in your Jobber account. If you need to remove a record, log into Jobber directly and archive or cancel it there. This is a Jobber platform limitation, not a Switchy restriction.
Why use the MCP instead of opening Jobber in another tab?
The MCP lets your team create clients, draft quotes, and log notes inline while discussing strategy in Switchy's shared workspace. You skip the context switch and manual copy-paste. For bulk imports, complex scheduling, or deleting records, you'll still need Jobber's native UI because those workflows aren't exposed via API.
Who on my team should connect our Jobber account to Switchy?
Connect it with a Jobber user who has admin permissions or explicit API access enabled in Jobber's settings. That account's OAuth token will power the MCP for everyone in your Switchy workspace. The connection doesn't consume extra Jobber seats, but all MCP actions appear under the connected user's audit log.