Connectors · Accounting & finance
Jobber MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Jobber and the rest of your systems. It gives your agent 251 Jobber actions (91 reads, 124 writes and 36 that wait for a confirmation) and holds the Jobber credential itself, so the agent never does. It paces Jobber's limits and records every call. Connecting Jobber needs your own Jobber OAuth app and one admin sign-in.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "jobber.invoices.list", intent: "check which Jobber account is connected"}# List Jobber invoices · read · 1 upstream call- 251actionsin one signed file
- 91readlook, never change
- 124writecreate and update
- 36wait for a yesdestructive, confirmed first
Set up
Connect Jobber in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Jobber.
OAuth 2.0, authorization code. You register your own OAuth app with Jobber, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.
Before the first sign-in, Jobber needs an OAuth app of your own, registered in its developer portal. actionlake has no Jobber app to lend you.
access_tokenAccess token from one sign-in with your own OAuth apprefresh_tokenRefresh token from the same sign-in; the access token is renewed from itclient_idJobber app Client ID (Developer Center > your app > App settings)client_secretJobber app Client Secret
account { op: "connections.requirements", service: "jobber" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "jobber.invoices.list" }# list jobber invoices · read · 1 upstream callcheck { action: "jobber.invoices.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Jobber at a glance
- Sign-in
- OAuth 2.0, authorization code. You register your own OAuth app with Jobber, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.
- You provide
access_tokenrefresh_tokenclient_idclient_secret- Limits we pace to
- 2,500 calls per 5 minutes, per connection
- API covered
- Jobber API 2026-09-25
api.getjobber.com - Built from
- Jobber's documentation, read 22 October 2026developer.getjobber.comapi.getjobber.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 91 of 91 reads, for up to an hour; a write clears what it affects
- Shared entities
- 7, so ask can line Jobber up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Jobber.
251 actions in 1 area. Every one carries its effect, so a key can allow the reads and hold the rest.
- 91readlook, never change
- 124writecreate and update
- 36destructivewait for a confirmation
Field service
25191 read · 124 write · 36 destructive
List Jobber invoices · List Jobber quotes · List Jobber expenses · List Jobber users
Top actions
The Jobber API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 72 of Jobber's 72 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
jobber.invoices.listList Jobber invoices | List of 100 recently updated invoices satisfying a filter, belonging to the account of the authenticated in Service Provider | read | finance.invoice.list101 connectors |
jobber.quotes.listList Jobber quotes | List of 100 recently updated quotes satisfying a filter, belonging to the account of the authenticated in Service Provider | read | finance.quote.list52 connectors |
jobber.expenses.listList Jobber expenses | Connection of expenses belonging to the account of the authenticated Service Provider | read | finance.expense.list40 connectors |
jobber.users.listList Jobber users | List of 10,000 users satisfying a filter, belonging to the account of the authenticated Service Provider | read | identity.user.list474 connectors |
jobber.jobs.listList Jobber jobs | 100 recently updated jobs of the logged in account. | read | work.project.list109 connectors |
jobber.time_sheet_entries.listList Jobber time sheet entries | All timesheet entries for users on a given day | read | work.time_entry.list59 connectors |
jobber.invoices.createJobber invoices: create | Create a new invoice | write | finance.invoice.create74 connectors |
jobber.quotes.createJobber quotes: create | Create a new Quote | write | finance.quote.create52 connectors |
jobber.expenses.createJobber expenses: create | Create a new expense | write | finance.expense.create36 connectors |
jobber.jobs.createJobber jobs: create | Create a job | write | work.project.create102 connectors |
jobber.invoices.deleteJobber invoices: delete | Delete an Invoice | destructive | finance.invoice.delete56 connectors |
jobber.time_sheet_entries.createJobber time sheet entries: create | Create a Timesheet entry | write | work.time_entry.create56 connectors |
Try it
Prompts to paste into Claude.
Each one names the Jobber actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Jobber invoices are more than 30 days overdue? Group them by customer with the total owed.
calls
jobber.invoices.list - Writewrite
Jobber invoices: create in Jobber. Show me exactly what you will send before you save it.
calls
jobber.invoices.create - Across systemsread
For each customer, how many invoices are in Jobber and how many tickets in ConnectWise PSA?
calls
jobber.invoices.listconnectwise_manage.tickets.list
Across your systems
Jobber, joined to the rest of your business.
One ask fetches from Jobber and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.
For each customer, how many invoices are in Jobber and how many tickets in ConnectWise PSA?
jobber.invoices.list+connectwise_manage.tickets.list, oncrm.company· ConnectWise PSAFor each customer, how many invoices are in Jobber and how many tickets in HubSpot CRM?
jobber.invoices.list+hubspot_crm.tickets.list, oncrm.company· HubSpot CRM
identity.user 517crm.company 227work.project 116finance.invoice 91finance.quote 45work.time_entry 40finance.expense 26ask { intent: "for each customer, how many invoices are in Jobber and how many tickets in ConnectWise PSA", steps: [ { action: "jobber.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 }, { action: "connectwise_manage.tickets.list", as: "tix", input: {}, limit: 100, max_pages: 5 }, { join: { left: "inv", right: "tix", on: "crm.company", group_by: "inv.company_name", select: ["inv.company_name", "count(inv.id) as invoices", "count(tix.id) as tickets"] } } ]}Governance for Jobber
Destructive actions wait for a yes.
36 Jobber actions are destructive. The first 10:
- Jobber invoices: delete
jobber.invoices.delete - Jobber quotes: delete
jobber.quotes.delete - Jobber expenses: delete
jobber.expenses.delete - Jobber jobs: delete
jobber.jobs.delete - Jobber time sheet entries: delete
jobber.time_sheet_entries.delete - Jobber clients: delete
jobber.clients.delete - Jobber payment records: delete
jobber.payment_records.delete - Jobber tasks: delete
jobber.tasks.delete - Jobber invoice line items: delete
jobber.invoice_line_items.delete - Jobber quote line items: delete
jobber.quote_line_items.delete
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Jobber invoices: delete?
intent: the user asked me to jobber invoices: delete
account { op: "keys.create", name: "jobber-agent", allowed_actions: ["jobber.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "jobber.invoices.delete", approver: "[email protected]" }, { match: "jobber.quotes.delete", approver: "[email protected]" }, { match: "jobber.expenses.delete", approver: "[email protected]" } ]}Cost
What Jobber costs on actionlake.
Every Jobber action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Jobber refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 251 Jobber actions
- 51actions pageeach page of a long list is one call
- 91reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Jobber action.
251 actions by area: the id your agent calls, what it does, and its effect.
Field service251
jobber.account.getGet accountreadjobber.app.disconnectJobber app connection: disconnectdestructivejobber.app.set_last_sync_dateJobber app connection: set last sync datewritejobber.app_alerts.listList Jobber app alertsreadjobber.app_alerts.updateJobber app alerts: updatewritejobber.apps.listList Jobber appsreadjobber.assessment_form_submissions.getGet a Jobber assessment form submissionreadjobber.assessments.completeJobber assessments: completewritejobber.assessments.createJobber assessments: createwritejobber.assessments.deleteJobber assessments: deletedestructivejobber.assessments.getGet a Jobber assessmentreadjobber.assessments.uncompleteJobber assessments: uncompletewritejobber.assessments.updateJobber assessments: updatewritejobber.capital_loans.listList Jobber capital loansreadjobber.client_contacts.getGet a Jobber client contactreadjobber.client_emails.listList Jobber client emailsreadjobber.client_notes.createJobber client notes: createwritejobber.client_notes.deleteJobber client notes: deletedestructivejobber.client_notes.updateJobber client notes: updatewritejobber.client_phones.listList Jobber client phonesreadjobber.client_tags.listList Jobber client tagsreadjobber.clients.archiveJobber clients: archivewritejobber.clients.createJobber clients: createwritejobber.clients.deleteJobber clients: deletedestructivejobber.clients.edit_tagsJobber clients: edit tagswritejobber.clients.find_similarJobber clients: find similarreadjobber.clients.getGet a Jobber clientreadjobber.clients.listList Jobber clientsreadjobber.clients.mergeJobber clients: mergewritejobber.clients.metadataGet Jobber clients metadatareadjobber.clients.unarchiveJobber clients: unarchivewritejobber.clients.updateJobber clients: updatewritejobber.conversations.getGet a Jobber conversationreadjobber.conversations.listList Jobber conversationsreadjobber.crews.add_membersJobber crews: add memberswritejobber.crews.createJobber crews: createwritejobber.crews.deleteJobber crews: deletedestructivejobber.crews.listList Jobber crewsreadjobber.crews.move_membersJobber crews: move memberswritejobber.crews.remove_membersJobber crews: remove memberswritejobber.crews.renameJobber crews: renamewritejobber.custom_field_configurations.archiveJobber custom field configurations: archivewritejobber.custom_field_configurations.create_areaJobber custom field configurations: create areawritejobber.custom_field_configurations.create_dropdownJobber custom field configurations: create dropdownwritejobber.custom_field_configurations.create_linkJobber custom field configurations: create linkwritejobber.custom_field_configurations.create_numericJobber custom field configurations: create numericwritejobber.custom_field_configurations.create_textJobber custom field configurations: create textwritejobber.custom_field_configurations.create_true_falseJobber custom field configurations: create true falsewritejobber.custom_field_configurations.listList Jobber custom field configurationsreadjobber.custom_field_configurations.unarchiveJobber custom field configurations: unarchivewritejobber.custom_field_configurations.updateJobber custom field configurations: updatewritejobber.events.createJobber events: createwritejobber.events.deleteJobber events: deletedestructivejobber.events.getGet a Jobber eventreadjobber.events.updateJobber events: updatewritejobber.expenses.createJobber expenses: createwritejobber.expenses.deleteJobber expenses: deletedestructivejobber.expenses.getGet a Jobber expensereadjobber.expenses.listList Jobber expensesreadjobber.expenses.metadataGet Jobber expenses metadatareadjobber.expenses.updateJobber expenses: updatewritejobber.imports.getGet a Jobber importreadjobber.imports.listList Jobber importsreadjobber.invoice_line_items.createJobber invoice line items: createwritejobber.invoice_line_items.deleteJobber invoice line items: deletedestructivejobber.invoice_line_items.updateJobber invoice line items: updatewritejobber.invoice_notes.createJobber invoice notes: createwritejobber.invoice_notes.deleteJobber invoice notes: deletedestructivejobber.invoice_notes.updateJobber invoice notes: updatewritejobber.invoice_reminders.createJobber invoice reminders: createwritejobber.invoice_reminders.deleteJobber invoice reminders: deletedestructivejobber.invoice_reminders.getGet a Jobber invoice reminderreadjobber.invoice_reminders.updateJobber invoice reminders: updatewritejobber.invoices.closeJobber invoices: closewritejobber.invoices.createJobber invoices: createwritejobber.invoices.create_from_jobJobber invoices: create from jobwritejobber.invoices.create_from_quoteJobber invoices: create from quotewritejobber.invoices.create_from_visitsJobber invoices: create from visitswritejobber.invoices.deleteJobber invoices: deletedestructivejobber.invoices.getGet a Jobber invoicereadjobber.invoices.listList Jobber invoicesreadjobber.invoices.mark_sentJobber invoices: mark sentwritejobber.invoices.metadataGet Jobber invoices metadatareadjobber.invoices.remove_tax_rateJobber invoices: remove tax ratewritejobber.invoices.reopenJobber invoices: reopenwritejobber.invoices.updateJobber invoices: updatewritejobber.invoices.update_totalsJobber invoices: update totalswritejobber.job_forms.createJobber job forms: createwritejobber.job_forms.deleteJobber job forms: deletedestructivejobber.job_forms.getGet a Jobber job formreadjobber.job_forms.listList Jobber job formsreadjobber.job_forms.updateJobber job forms: updatewritejobber.job_line_items.createJobber job line items: createwritejobber.job_line_items.deleteJobber job line items: deletedestructivejobber.job_line_items.reorderJobber job line items: reorderwritejobber.job_line_items.updateJobber job line items: updatewritejobber.job_notes.createJobber job notes: createwritejobber.job_notes.deleteJobber job notes: deletedestructivejobber.job_notes.updateJobber job notes: updatewritejobber.jobs.closeJobber jobs: closewritejobber.jobs.createJobber jobs: createwritejobber.jobs.create_from_quoteJobber jobs: create from quotewritejobber.jobs.deleteJobber jobs: deletedestructivejobber.jobs.expiringGet Jobber jobs expiringreadjobber.jobs.getGet a Jobber jobreadjobber.jobs.listList Jobber jobsreadjobber.jobs.metadataGet Jobber jobs metadatareadjobber.jobs.remove_tax_rateJobber jobs: remove tax ratewritejobber.jobs.reopenJobber jobs: reopenwritejobber.jobs.updateJobber jobs: updatewritejobber.lead_sources.createJobber lead sources: createwritejobber.lead_sources.deleteJobber lead sources: deletedestructivejobber.lead_sources.listList Jobber lead sourcesreadjobber.lead_sources.updateJobber lead sources: updatewritejobber.messages.send_emailJobber messages: send emailwritejobber.messages.send_smsJobber messages: send smswritejobber.payment_disputes.getGet a Jobber payment disputereadjobber.payment_disputes.listList Jobber payment disputesreadjobber.payment_methods.listList Jobber payment methodsreadjobber.payment_records.createJobber payment records: createwritejobber.payment_records.deleteJobber payment records: deletedestructivejobber.payment_records.getGet a Jobber payment recordreadjobber.payment_records.listList Jobber payment recordsreadjobber.payment_records.refundJobber payment records: refunddestructivejobber.payment_records.updateJobber payment records: updatewritejobber.payment_terms.createJobber payment terms: createwritejobber.payment_terms.deleteJobber payment terms: deletedestructivejobber.payment_terms.updateJobber payment terms: updatewritejobber.payments.listList Jobber paymentsreadjobber.payout_records.getGet a Jobber payout recordreadjobber.payout_records.listList Jobber payout recordsreadjobber.payroll_periods.listList Jobber payroll periodsreadjobber.pipeline_stages.listList Jobber pipeline stagesreadjobber.pipelines.listList Jobber pipelinesreadjobber.pricebook_items.listList Jobber pricebook itemsreadjobber.product_notes.createJobber product notes: createwritejobber.product_notes.deleteJobber product notes: deletedestructivejobber.product_notes.updateJobber product notes: updatewritejobber.products.createJobber products: createwritejobber.products.deleteJobber products: deletedestructivejobber.products.getGet a Jobber productreadjobber.products.listList Jobber productsreadjobber.products.updateJobber products: updatewritejobber.properties.createJobber properties: createwritejobber.properties.deleteJobber properties: deletedestructivejobber.properties.getGet a Jobber propertiereadjobber.properties.listList Jobber propertiesreadjobber.properties.mergeJobber properties: mergewritejobber.properties.updateJobber properties: updatewritejobber.quote_line_items.createJobber quote line items: createwritejobber.quote_line_items.create_textJobber quote line items: create textwritejobber.quote_line_items.deleteJobber quote line items: deletedestructivejobber.quote_line_items.updateJobber quote line items: updatewritejobber.quote_notes.createJobber quote notes: createwritejobber.quote_notes.deleteJobber quote notes: deletedestructivejobber.quote_notes.updateJobber quote notes: updatewritejobber.quote_reminders.completeJobber quote reminders: completewritejobber.quote_reminders.deleteJobber quote reminders: deletedestructivejobber.quote_reminders.getGet a Jobber quote reminderreadjobber.quote_reminders.uncompleteJobber quote reminders: uncompletewritejobber.quote_reminders.updateJobber quote reminders: updatewritejobber.quote_templates.createJobber quote templates: createwritejobber.quote_templates.deleteJobber quote templates: deletedestructivejobber.quote_templates.getGet a Jobber quote templatereadjobber.quote_templates.listList Jobber quote templatesreadjobber.quote_templates.updateJobber quote templates: updatewritejobber.quotes.approveJobber quotes: approvewritejobber.quotes.archiveJobber quotes: archivewritejobber.quotes.archive_manyJobber quotes: archive manywritejobber.quotes.createJobber quotes: createwritejobber.quotes.deleteJobber quotes: deletedestructivejobber.quotes.delete_manyJobber quotes: delete manydestructivejobber.quotes.getGet a Jobber quotereadjobber.quotes.listList Jobber quotesreadjobber.quotes.mark_awaiting_responseJobber quotes: mark awaiting responsewritejobber.quotes.metadataGet Jobber quotes metadatareadjobber.quotes.remove_tax_rateJobber quotes: remove tax ratewritejobber.quotes.unarchive_manyJobber quotes: unarchive manywritejobber.quotes.updateJobber quotes: updatewritejobber.quotes.update_lost_reasonJobber quotes: update lost reasonwritejobber.quotes.update_totalsJobber quotes: update totalswritejobber.reports.client_balance_overviewGet Jobber reports client balance overviewreadjobber.reports.client_balancesJobber reports: client balancesreadjobber.reports.invoicesJobber reports: invoicesreadjobber.reports.lead_source_summaryJobber reports: lead source summaryreadjobber.reports.lead_sourcesJobber reports: lead sourcesreadjobber.reports.one_off_jobsJobber reports: one off jobsreadjobber.reports.quotesJobber reports: quotesreadjobber.reports.recurring_jobsJobber reports: recurring jobsreadjobber.reports.requestsJobber reports: requestsreadjobber.reports.salespeopleJobber reports: salespeoplereadjobber.reports.team_productivityJobber reports: team productivityreadjobber.reports.visitsJobber reports: visitsreadjobber.request_line_items.createJobber request line items: createwritejobber.request_line_items.deleteJobber request line items: deletedestructivejobber.request_line_items.updateJobber request line items: updatewritejobber.request_notes.createJobber request notes: createwritejobber.request_notes.deleteJobber request notes: deletedestructivejobber.request_notes.updateJobber request notes: updatewritejobber.request_settings.getGet a Jobber request settingreadjobber.request_settings.listList Jobber request settingsreadjobber.requests.archiveJobber requests: archivewritejobber.requests.createJobber requests: createwritejobber.requests.deleteJobber requests: deletedestructivejobber.requests.getGet a Jobber requestreadjobber.requests.listList Jobber requestsreadjobber.requests.metadataGet Jobber requests metadatareadjobber.requests.unarchiveJobber requests: unarchivewritejobber.requests.updateJobber requests: updatewritejobber.requests.update_lost_reasonJobber requests: update lost reasonwritejobber.routes.dailyGet Jobber routes dailyreadjobber.routes.listList Jobber routesreadjobber.scheduled_items.listList Jobber scheduled itemsreadjobber.search.queryJobber search: queryreadjobber.tasks.createJobber tasks: createwritejobber.tasks.deleteJobber tasks: deletedestructivejobber.tasks.getGet a Jobber taskreadjobber.tasks.listList Jobber tasksreadjobber.tasks.set_completedJobber tasks: set completedwritejobber.tasks.updateJobber tasks: updatewritejobber.tax_rates.createJobber tax rates: createwritejobber.tax_rates.create_groupJobber tax rates: create groupwritejobber.tax_rates.listList Jobber tax ratesreadjobber.time_sheet_entries.createJobber time sheet entries: createwritejobber.time_sheet_entries.deleteJobber time sheet entries: deletedestructivejobber.time_sheet_entries.getGet a Jobber time sheet entriereadjobber.time_sheet_entries.listList Jobber time sheet entriesreadjobber.time_sheet_entries.start_timerJobber time sheet entries: start timerwritejobber.time_sheet_entries.stop_timerJobber time sheet entries: stop timerwritejobber.time_sheet_entries.updateJobber time sheet entries: updatewritejobber.time_sheet_users.listList Jobber time sheet usersreadjobber.users.getGet a Jobber userreadjobber.users.listList Jobber usersreadjobber.vehicles.createJobber vehicles: createwritejobber.vehicles.deleteJobber vehicles: deletedestructivejobber.vehicles.getGet a Jobber vehiclereadjobber.vehicles.listList Jobber vehiclesreadjobber.vehicles.update_manyJobber vehicles: update manywritejobber.visit_form_submissions.getGet a Jobber visit form submissionreadjobber.visit_line_items.createJobber visit line items: createwritejobber.visit_line_items.deleteJobber visit line items: deletedestructivejobber.visit_line_items.updateJobber visit line items: updatewritejobber.visits.assign_usersJobber visits: assign userswritejobber.visits.completeJobber visits: completewritejobber.visits.createJobber visits: createwritejobber.visits.deleteJobber visits: deletedestructivejobber.visits.getGet a Jobber visitreadjobber.visits.listList Jobber visitsreadjobber.visits.rescheduleJobber visits: reschedulewritejobber.visits.uncompleteJobber visits: uncompletewritejobber.visits.updateJobber visits: updatewrite
Questions
The Jobber MCP server, answered.
Is there a Jobber MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 251 Jobber actions, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Jobber.
What do I need to connect Jobber?
Your own Jobber OAuth app, registered with Jobber (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no Jobber app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. The free call account { op: "connections.requirements", service: "jobber" } lists exactly what to paste.
Can an AI agent delete or change things in Jobber?
Only if its key allows it, and only with an explicit confirmation. 36 Jobber actions are destructive, including jobber invoices: delete, jobber quotes: delete and jobber expenses: delete. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Jobber API limit?
actionlake paces every call to the limits in the Jobber service file: 2,500 calls per 5 minutes per connection. Repeated reads are answered from cache (91 Jobber actions can be), which never reaches Jobber.
What does a Jobber action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (51 Jobber actions page). Cache hits, searches, dry runs and calls Jobber refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Jobber API does it cover?
The Jobber API 2026-09-25 at api.getjobber.com. It is built from Jobber's documentation as read on 22 October 2026. 251 actions in 1 area, each one in the signed service file (version 1.0.0).
Can I combine Jobber with my other systems?
Yes. ask joins Jobber to ConnectWise PSA or HubSpot CRM on the same customer and returns the answer rather than every row. Jobber maps crm.company, which 227 other connectors also map.
Does actionlake keep my Jobber data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Jobber credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Jobber today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.