crmoauth2

Jobber

Jobber is a field service management platform for managing clients, jobs, scheduling, quotes, invoices, and payments.

Verdict

Jobber is a field-service management platform for home-service businesses — plumbers, landscapers, cleaners, HVAC techs. This MCP lets your team create clients, jobs, quotes, and invoices directly from Switchy chat, pull job histories, and log notes against work orders without opening Jobber's UI. Most valuable for ops teams who triage incoming requests, dispatch coordinators who spin up jobs on the fly, and account managers who need to quote fast. One catch: Jobber doesn't let you delete clients or jobs through the API, so test carefully before you write production records.

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

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

Not enough Projects yet to publish anonymised usage stats (we require ≥ 50 Projects per week).

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.

Prompt

@Jobber pull the client record for Acme Landscaping and show me their last 5 service jobs with invoice status

Output

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.

Notes

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.

Prompt

@Jobber create a new quote for property 456 Oak Street: spring garden bed prep $320, mulch delivery $180, plant installation $450, due April 15

Output

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.

Notes

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.

Prompt

@Jobber review all overdue invoices from the past 60 days and draft a polite follow-up email template I can customize per client

Output

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.

Notes

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

Field service dispatch coordination

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.

Quote generation for repeat clients

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.

Custom field admin for franchise rollout

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.

More crm MCPs

See all crm MCPs →

Data last verified 61 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.