The Jobber connector lets your AI agent act in each user's Jobber account. Each user signs in to Jobber once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 49 tools.
- Tools
- 49
- What they doRead · write · destructive
- 23 · 25 · 123 read25 write1 destructive
- Users sign in with
- OAuth
- OAuth app
- Your own Jobber app
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Jobber connection
In AgentKit > Connections, create a Jobber connection and copy its redirect URI. The name you give it is the
connection_nameyour code passes. See Configure connections.Register an OAuth app
Jobber connections use your own OAuth app. Register one with Jobber and add the redirect URI you copied.
Then enter the app's Client ID and Client Secret on the Jobber connection.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'jobber'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Jobber:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'jobber_account_get',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "jobber"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Jobber:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="jobber_account_get",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_tooljobber_account_getGet the Jobber account (business) that the connection is authorized for.Read-onlyGet Account
Get the Jobber account (business) that the connection is authorized for. Returns the account id, name, company contact details and the account owner. Use it to confirm which Jobber business you are connected to. Use jobber_users_list for team members.
Inputs
This tool takes no inputs.
jobber_client_getGet one Jobber client by ID.Read-onlyGet Client
Get one Jobber client by ID. Returns the client's names, company, contact preferences, emails, phones, billing address, tags and up to 10 properties. Use it for one client's full details. Use jobber_clients_list to search for a client first.
Inputs
client_idstringrequired- Jobber encoded ID of the client. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
jobber_clients_listList clients in Jobber, optionally filtered by a text search, lead/company/archived flags, tags or dates.Read-onlyList Clients
List clients in Jobber, optionally filtered by a text search, lead/company/archived flags, tags or dates. Returns each client's id, name, company, lead and archived flags, balance, emails, phones and billing address, plus pageInfo for paging. Use it to browse or find clients. Use jobber_client_get for one client's full details.
Inputs
afterstring- Cursor for the next page. Pass the pageInfo.endCursor value from the previous response when pageInfo.hasNextPage is true. Leave empty for the first page. Example: MjU.
created_afterstring- Only return records whose creation time is on or after this ISO 8601 timestamp. Example: 2026-01-01T00:00:00Z.
created_beforestring- Only return records whose creation time is on or before this ISO 8601 timestamp. Example: 2026-12-31T23:59:59Z.
firstinteger- Number of clients to return in this page. Defaults to 20. Keep it small (20 to 50) so the query stays within Jobber's per-request query cost budget. Example: 25.
is_archivedboolean- Set to true to return only archived clients, or false to exclude them. Example: false.
is_companyboolean- Set to true to return only company clients, or false for individuals only. Example: false.
is_leadboolean- Set to true to return only leads, or false to return only clients that are not leads. Example: true.
search_termstring- Free-text search across client names, emails, phone numbers and addresses. Leave empty to return all records. Example: Smith.
tagsarray- Only return clients that have these tags. Example: ["VIP", "Commercial"].
updated_afterstring- Only return records whose last update time is on or after this ISO 8601 timestamp. Example: 2026-01-01T00:00:00Z.
updated_beforestring- Only return records whose last update time is on or before this ISO 8601 timestamp. Example: 2026-12-31T23:59:59Z.
jobber_expenses_listList expenses recorded in Jobber, optionally matching a text search.Read-onlyList Expenses
List expenses recorded in Jobber, optionally matching a text search. Returns each expense's id, title, description, date, total, linked job and the users who entered it and are reimbursed, plus pageInfo. Use it for job costing. Use jobber_expense_create to record a new expense.
Inputs
afterstring- Cursor for the next page. Pass the pageInfo.endCursor value from the previous response when pageInfo.hasNextPage is true. Leave empty for the first page. Example: MjU.
firstinteger- Number of expenses to return in this page. Defaults to 20. Keep it small (20 to 50) so the query stays within Jobber's per-request query cost budget. Example: 25.
search_termstring- Free-text search across expense titles and descriptions. Leave empty to return all records. Example: Smith.
jobber_invoice_getGet one Jobber invoice by ID.Read-onlyGet Invoice
Get one Jobber invoice by ID. Returns the invoice's number, subject, status, dates, amounts and balance, client, billing address, up to 50 line items, linked jobs and up to 20 payment records. Use it for one invoice. Use jobber_invoices_list to find invoices.
Inputs
invoice_idstringrequired- Jobber encoded ID of the invoice. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0ludm9pY2UvMTIzNDU2Nzg=.
jobber_invoices_listList invoices in Jobber, optionally filtered by client, status, text or issued, due and update dates.Read-onlyList Invoices
List invoices in Jobber, optionally filtered by client, status, text or issued, due and update dates. Returns each invoice's id, number, subject, status, dates, amounts and balance, and client, plus pageInfo. Use it to review receivables. Use jobber_invoice_get for one invoice's line items and payments.
Inputs
afterstring- Cursor for the next page. Pass the pageInfo.endCursor value from the previous response when pageInfo.hasNextPage is true. Leave empty for the first page. Example: MjU.
client_idstring- Jobber encoded ID of the client to filter by. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
due_afterstring- Only return records whose due date is on or after this ISO 8601 timestamp. Example: 2026-01-01T00:00:00Z.
due_beforestring- Only return records whose due date is on or before this ISO 8601 timestamp. Example: 2026-12-31T23:59:59Z.
firstinteger- Number of invoices to return in this page. Defaults to 20. Keep it small (20 to 50) so the query stays within Jobber's per-request query cost budget. Example: 25.
issued_afterstring- Only return records whose issued date is on or after this ISO 8601 timestamp. Example: 2026-01-01T00:00:00Z.
issued_beforestring- Only return records whose issued date is on or before this ISO 8601 timestamp. Example: 2026-12-31T23:59:59Z.
search_termstring- Free-text search across invoice subjects, numbers and client names. Leave empty to return all records. Example: Smith.
statusstring- Only return invoices with this status: draft, awaiting_payment, paid, past_due, bad_debt, sent_not_due or voided. Example: past_due.one of
draftawaiting_paymentpaidpast_duebad_debtsent_not_duevoided updated_afterstring- Only return records whose last update time is on or after this ISO 8601 timestamp. Example: 2026-01-01T00:00:00Z.
updated_beforestring- Only return records whose last update time is on or before this ISO 8601 timestamp. Example: 2026-12-31T23:59:59Z.
jobber_job_getGet one Jobber job by ID.Read-onlyGet Job
Get one Jobber job by ID. Returns the job's number, title, status, instructions, dates, totals, client, property, quote, up to 50 line items, 20 visits and 10 invoices. Use it for one job. Use jobber_jobs_list to find jobs.
Inputs
job_idstringrequired- Jobber encoded ID of the job. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0pvYi8xMjM0NTY3OA==.
jobber_jobs_listList jobs in Jobber, optionally filtered by status, job type, text or date ranges.Read-onlyList Jobs
List jobs in Jobber, optionally filtered by status, job type, text or date ranges. Returns each job's id, number, title, status, type, dates, totals, client and property, plus pageInfo. Use it to browse jobs. Use jobber_job_get for one job's line items and visits.
Inputs
afterstring- Cursor for the next page. Pass the pageInfo.endCursor value from the previous response when pageInfo.hasNextPage is true. Leave empty for the first page. Example: MjU.
created_afterstring- Only return records whose creation time is on or after this ISO 8601 timestamp. Example: 2026-01-01T00:00:00Z.
created_beforestring- Only return records whose creation time is on or before this ISO 8601 timestamp. Example: 2026-12-31T23:59:59Z.
firstinteger- Number of jobs to return in this page. Defaults to 20. Keep it small (20 to 50) so the query stays within Jobber's per-request query cost budget. Example: 25.
job_typestring- Only return ONE_OFF or RECURRING jobs. Example: ONE_OFF.one of
ONE_OFFRECURRING search_termstring- Free-text search across job titles, numbers and client names. Leave empty to return all records. Example: Smith.
start_afterstring- Only return records whose start date is on or after this ISO 8601 timestamp. Example: 2026-01-01T00:00:00Z.
start_beforestring- Only return records whose start date is on or before this ISO 8601 timestamp. Example: 2026-12-31T23:59:59Z.
statusstring- Only return jobs with this status, for example active, upcoming, late, requires_invoicing or archived. Example: active.one of
requires_invoicingarchivedlatetodayupcomingaction_requiredon_holdunscheduledactiveexpiring_within_30_days
jobber_payment_records_listList payments recorded in Jobber, optionally for one client, payment type or entry date range.Read-onlyList Payment Records
List payments recorded in Jobber, optionally for one client, payment type or entry date range. Returns each payment's id, amount, entry date, payment type, adjustment type, details, client and invoice, plus pageInfo. Use it to reconcile payments. Use jobber_invoice_get for one invoice's payments.
Inputs
afterstring- Cursor for the next page. Pass the pageInfo.endCursor value from the previous response when pageInfo.hasNextPage is true. Leave empty for the first page. Example: MjU.
client_idstring- Jobber encoded ID of the client to filter by. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
entry_afterstring- Only return records whose entry date is on or after this ISO 8601 timestamp. Example: 2026-01-01T00:00:00Z.
entry_beforestring- Only return records whose entry date is on or before this ISO 8601 timestamp. Example: 2026-12-31T23:59:59Z.
firstinteger- Number of payment records to return in this page. Defaults to 20. Keep it small (20 to 50) so the query stays within Jobber's per-request query cost budget. Example: 25.
jobber_products_listList the products and services catalog in Jobber, optionally matching a text search.Read-onlyList Products and Services
List the products and services catalog in Jobber, optionally matching a text search. Returns each item's id, name, description, category, default price, internal cost, markup, taxable and visible flags, plus pageInfo. Use it to find a productOrServiceId for line items.
Inputs
afterstring- Cursor for the next page. Pass the pageInfo.endCursor value from the previous response when pageInfo.hasNextPage is true. Leave empty for the first page. Example: MjU.
firstinteger- Number of products and services to return in this page. Defaults to 20. Keep it small (20 to 50) so the query stays within Jobber's per-request query cost budget. Example: 25.
search_termstring- Free-text search across product and service names. Leave empty to return all records. Example: Smith.
show_inactiveboolean- Set to true to include hidden (inactive) items. Example: false.
jobber_properties_listList service properties (job sites) in Jobber, optionally for one client or matching a text search.Read-onlyList Properties
List service properties (job sites) in Jobber, optionally for one client or matching a text search. Returns each property's id, name, address, owning client and tax rate, plus pageInfo for paging. Use it to find a property id for quotes, jobs and requests. Use jobber_property_get for one property.
Inputs
afterstring- Cursor for the next page. Pass the pageInfo.endCursor value from the previous response when pageInfo.hasNextPage is true. Leave empty for the first page. Example: MjU.
client_idstring- Jobber encoded ID of the client whose properties to list. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
firstinteger- Number of properties to return in this page. Defaults to 20. Keep it small (20 to 50) so the query stays within Jobber's per-request query cost budget. Example: 25.
search_termstring- Free-text search across property addresses. Leave empty to return all records. Example: Smith.
jobber_property_getGet one Jobber service property by ID.Read-onlyGet Property
Get one Jobber service property by ID. Returns the property's id, name, address, owning client and tax rate. Use it for one property. Use jobber_properties_list to find properties.
Inputs
property_idstringrequired- Jobber encoded ID of the property. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1Byb3BlcnR5LzEyMzQ1Njc4.
jobber_quote_getGet one Jobber quote by ID.Read-onlyGet Quote
Get one Jobber quote by ID. Returns the quote's number, title, status, message, amounts, client, property, up to 50 line items and linked jobs. Use it for one quote. Use jobber_quotes_list to find quotes.
Inputs
quote_idstringrequired- Jobber encoded ID of the quote. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1F1b3RlLzEyMzQ1Njc4.
jobber_quotes_listList quotes in Jobber, optionally filtered by client, status, salesperson, text or dates.Read-onlyList Quotes
List quotes in Jobber, optionally filtered by client, status, salesperson, text or dates. Returns each quote's id, number, title, status, amounts, client and property, plus pageInfo for paging. Use it to browse quotes. Use jobber_quote_get for one quote's line items.
Inputs
afterstring- Cursor for the next page. Pass the pageInfo.endCursor value from the previous response when pageInfo.hasNextPage is true. Leave empty for the first page. Example: MjU.
client_idstring- Jobber encoded ID of the client to filter by. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
created_afterstring- Only return records whose creation time is on or after this ISO 8601 timestamp. Example: 2026-01-01T00:00:00Z.
created_beforestring- Only return records whose creation time is on or before this ISO 8601 timestamp. Example: 2026-12-31T23:59:59Z.
firstinteger- Number of quotes to return in this page. Defaults to 20. Keep it small (20 to 50) so the query stays within Jobber's per-request query cost budget. Example: 25.
salesperson_idstring- Jobber encoded ID of the salesperson to filter by. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1VzZXIvMTIzNDU2Nzg=.
search_termstring- Free-text search across quote titles, numbers and client names. Leave empty to return all records. Example: Smith.
statusstring- Only return quotes with this status: draft, awaiting_response, archived, approved, converted or changes_requested. Example: awaiting_response.one of
draftawaiting_responsearchivedapprovedconvertedchanges_requested updated_afterstring- Only return records whose last update time is on or after this ISO 8601 timestamp. Example: 2026-01-01T00:00:00Z.
updated_beforestring- Only return records whose last update time is on or before this ISO 8601 timestamp. Example: 2026-12-31T23:59:59Z.
jobber_request_getGet one Jobber work request by ID.Read-onlyGet Request
Get one Jobber work request by ID. Returns the request's title, status, contact details, client, property, assessment, linked quotes and jobs, and up to 10 notes. Use it for one request. Use jobber_requests_list to find requests.
Inputs
request_idstringrequired- Jobber encoded ID of the request. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1JlcXVlc3QvMTIzNDU2Nzg=.
jobber_requests_listList work requests (incoming service requests) in Jobber, optionally filtered by client, status, text or dates.Read-onlyList Requests
List work requests (incoming service requests) in Jobber, optionally filtered by client, status, text or dates. Returns each request's id, title, status, source, contact details, client and property, plus pageInfo. Use it to triage new work. Use jobber_request_get for one request's details.
Inputs
afterstring- Cursor for the next page. Pass the pageInfo.endCursor value from the previous response when pageInfo.hasNextPage is true. Leave empty for the first page. Example: MjU.
client_idstring- Jobber encoded ID of the client to filter by. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
created_afterstring- Only return records whose creation time is on or after this ISO 8601 timestamp. Example: 2026-01-01T00:00:00Z.
created_beforestring- Only return records whose creation time is on or before this ISO 8601 timestamp. Example: 2026-12-31T23:59:59Z.
firstinteger- Number of requests to return in this page. Defaults to 20. Keep it small (20 to 50) so the query stays within Jobber's per-request query cost budget. Example: 25.
search_termstring- Free-text search across request titles and client names. Leave empty to return all records. Example: Smith.
statusstring- Only return requests with this status, for example new, upcoming, overdue, converted or archived. Example: new.one of
newcompletedconvertedarchivedupcomingoverdueunscheduledassessment_completedtodayneeds_approval updated_afterstring- Only return records whose last update time is on or after this ISO 8601 timestamp. Example: 2026-01-01T00:00:00Z.
updated_beforestring- Only return records whose last update time is on or before this ISO 8601 timestamp. Example: 2026-12-31T23:59:59Z.
jobber_scheduled_items_listList everything on the Jobber calendar within a time range: visits, tasks, events, assessments and reminders.Read-onlyList Scheduled Items
List everything on the Jobber calendar within a time range: visits, tasks, events, assessments and reminders. Returns each item's type (__typename), id, title, start and end times, duration and assigned users, plus pageInfo. Use it for a calendar view. Use jobber_visits_list for visits only.
Inputs
ends_atstringrequired- End of the time range, as an ISO 8601 timestamp. Example: 2026-11-08T00:00:00Z.
starts_atstringrequired- Start of the time range, as an ISO 8601 timestamp. Example: 2026-11-01T00:00:00Z.
afterstring- Cursor for the next page. Pass the pageInfo.endCursor value from the previous response when pageInfo.hasNextPage is true. Leave empty for the first page. Example: MjU.
assigned_toarray- Only return items assigned to these users (Jobber encoded user IDs). Example: ["Z2lkOi8vSm9iYmVyL1VzZXIvMTIzNDU2Nzg="].
firstinteger- Number of scheduled items to return in this page. Defaults to 20. Keep it small (20 to 50) so the query stays within Jobber's per-request query cost budget. Example: 25.
item_typestring- Only return one kind of item: BASIC_TASK, VISIT, EVENT, ASSESSMENT, QUOTE_REMINDER or INVOICE_REMINDER. Example: VISIT.one of
BASIC_TASKVISITEVENTASSESSMENTQUOTE_REMINDERINVOICE_REMINDER
jobber_tax_rates_listList the tax rates configured in the Jobber account, optionally matching a text search.Read-onlyList Tax Rates
List the tax rates configured in the Jobber account, optionally matching a text search. Returns each tax rate's id, name, label, percentage, default flag and description, plus pageInfo. Use it to find a taxRateId for quotes, jobs, invoices and properties.
Inputs
afterstring- Cursor for the next page. Pass the pageInfo.endCursor value from the previous response when pageInfo.hasNextPage is true. Leave empty for the first page. Example: MjU.
firstinteger- Number of tax rates to return in this page. Defaults to 20. Keep it small (20 to 50) so the query stays within Jobber's per-request query cost budget. Example: 25.
search_termstring- Free-text search across tax rate names. Leave empty to return all records. Example: Smith.
jobber_time_sheet_entries_listList time sheet entries in Jobber, optionally filtered by user, approval, payable or running state, or dates.Read-onlyList Time Sheet Entries
List time sheet entries in Jobber, optionally filtered by user, approval, payable or running state, or dates. Returns each entry's id, start and end times, final duration in seconds, approval and running flags, note, user and job, plus pageInfo. Use it for payroll and labor costing.
Inputs
afterstring- Cursor for the next page. Pass the pageInfo.endCursor value from the previous response when pageInfo.hasNextPage is true. Leave empty for the first page. Example: MjU.
assigned_tostring- Jobber encoded ID of the user whose time sheet entries to list. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1VzZXIvMTIzNDU2Nzg=.
firstinteger- Number of time sheet entries to return in this page. Defaults to 20. Keep it small (20 to 50) so the query stays within Jobber's per-request query cost budget. Example: 25.
is_approvedboolean- Set to true for approved entries only. Example: true.
is_payableboolean- Set to true for payable entries only. Example: true.
start_afterstring- Only return records whose start time is on or after this ISO 8601 timestamp. Example: 2026-01-01T00:00:00Z.
start_beforestring- Only return records whose start time is on or before this ISO 8601 timestamp. Example: 2026-12-31T23:59:59Z.
tickingboolean- Set to true for entries whose timer is running. Example: false.
jobber_user_getGet one Jobber user by ID, or the currently authorized user when no ID is given.Read-onlyGet User
Get one Jobber user by ID, or the currently authorized user when no ID is given. Returns the user's id, name, email, phone, status and owner/admin flags. Use it for one user's details. Use jobber_users_list to browse or search users.
Inputs
user_idstring- Jobber encoded ID of the user. Leave empty to get the user who authorized the connection. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1VzZXIvMTIzNDU2Nzg=.
jobber_users_listList team members (users) on the Jobber account, optionally filtered by status or a name search.Read-onlyList Users
List team members (users) on the Jobber account, optionally filtered by status or a name search. Returns each user's id, name, email, phone, status and owner/admin flags, plus pageInfo for paging. Use it to find a user id for assignments. Use jobber_user_get for one user.
Inputs
afterstring- Cursor for the next page. Pass the pageInfo.endCursor value from the previous response when pageInfo.hasNextPage is true. Leave empty for the first page. Example: MjU.
firstinteger- Number of users to return in this page. Defaults to 20. Keep it small (20 to 50) so the query stays within Jobber's per-request query cost budget. Example: 25.
search_termstring- Free-text search across user names. Leave empty to return all records. Example: Smith.
statusstring- Only return users with this status: ACTIVATED or DEACTIVATED. Leave empty for all users. Example: ACTIVATED.one of
ACTIVATEDDEACTIVATED
jobber_visit_getGet one Jobber visit by ID.Read-onlyGet Visit
Get one Jobber visit by ID. Returns the visit's title, status, times, instructions, job, client, property, assigned users, line items and invoice. Use it for one visit. Use jobber_visits_list to find visits.
Inputs
visit_idstringrequired- Jobber encoded ID of the visit. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1Zpc2l0LzEyMzQ1Njc4.
jobber_visits_listList scheduled visits in Jobber, optionally filtered by status, assigned user, job, completion or dates.Read-onlyList Visits
List scheduled visits in Jobber, optionally filtered by status, assigned user, job, completion or dates. Returns each visit's id, title, status, start and end times, completion, job, client and property, plus pageInfo. Use it to see the visit schedule. Use jobber_scheduled_items_list for tasks, events and assessments too.
Inputs
afterstring- Cursor for the next page. Pass the pageInfo.endCursor value from the previous response when pageInfo.hasNextPage is true. Leave empty for the first page. Example: MjU.
assigned_tostring- Jobber encoded ID of the user the visits are assigned to. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1VzZXIvMTIzNDU2Nzg=.
firstinteger- Number of visits to return in this page. Defaults to 20. Keep it small (20 to 50) so the query stays within Jobber's per-request query cost budget. Example: 25.
is_completeboolean- Set to true for completed visits only, or false for incomplete visits only. Example: false.
job_idsarray- Only return visits on these jobs (Jobber encoded job IDs). Example: ["Z2lkOi8vSm9iYmVyL0pvYi8xMjM0NTY3OA=="].
start_afterstring- Only return records whose start time is on or after this ISO 8601 timestamp. Example: 2026-01-01T00:00:00Z.
start_beforestring- Only return records whose start time is on or before this ISO 8601 timestamp. Example: 2026-12-31T23:59:59Z.
statusstring- Only return visits with this status: ACTIVE, COMPLETED, LATE, TODAY, UNSCHEDULED or UPCOMING. Example: UPCOMING.one of
ACTIVECOMPLETEDLATETODAYUNSCHEDULEDUPCOMING
jobber_client_createCreate a client (customer or lead) in Jobber with optional emails, phones, billing address and properties.WriteCreate Client
Create a client (customer or lead) in Jobber with optional emails, phones, billing address and properties. Returns the new client's id, names and contact details, plus userErrors when Jobber rejects the input. Use it to add a new person or company. Use jobber_client_update to change an existing client.
Inputs
billing_addressobject- Billing address of the client. Street address with street1, street2, city, province (state or province), postalCode and country. All parts are optional strings. Example: {"street1": "123 Main St", "city": "Austin", "province": "TX", "postalCode": "78701", "country": "United States"}.
company_namestring- Company name of the client. Provide a first/last name, a company name, or both. Example: Smith Landscaping.
emailsarray- Email addresses to add. Each entry has an address, an optional description (MAIN, WORK, PERSONAL or OTHER) and an optional primary flag. Example: [{"address": "jane@example.com", "description": "MAIN", "primary": true}].
first_namestring- First name of the client. Example: Jane.
is_companyboolean- Set to true to show the company name as the client's primary name. Example: false.
last_namestring- Last name of the client. Example: Smith.
phonesarray- Phone numbers to add. Each entry has a number, an optional description (MAIN, WORK, MOBILE, HOME, FAX or OTHER), an optional primary flag and an optional smsAllowed flag. Example: [{"number": "555-123-4567", "description": "MOBILE", "primary": true, "smsAllowed": true}].
propertiesarray- Service properties to create for the client. Each entry needs an address object (street1, street2, city, province, postalCode, country) and can have a name. Example: [{"name": "Home", "address": {"street1": "123 Main St", "city": "Austin", "province": "TX", "postalCode": "78701"}}].
receives_remindersboolean- Whether the client receives visit and assessment reminders. Example: true.
titlestring- Honorific title: MR, MS, MRS, MISS or DR. Example: MS.one of
MRMSMRSMISSDR
jobber_client_note_createAdd an internal note to a Jobber client.WriteCreate Client Note
Add an internal note to a Jobber client. Returns the new note's id, message and creation time, plus userErrors when Jobber rejects the input. Use it to record context on a client. Notes are visible to the team, not the client.
Inputs
client_idstringrequired- Jobber encoded ID of the client. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
messagestringrequired- Text of the note to add to the client. Example: Customer asked to use the side gate.
pinnedboolean- Set to true to pin the note to the top of the notes list. Example: false.
jobber_client_unarchiveRestore an archived Jobber client to the active client list.WriteUnarchive Client
Restore an archived Jobber client to the active client list. Returns the client's id and archived flag, plus userErrors when the client cannot be restored. Use it to undo jobber_client_archive.
- Idempotent
Inputs
client_idstringrequired- Jobber encoded ID of the archived client to restore. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
jobber_client_updateUpdate an existing Jobber client's names, company, billing address, contact preferences, tags, emails or phones.WriteUpdate Client
Update an existing Jobber client's names, company, billing address, contact preferences, tags, emails or phones. Returns the updated client's details, plus userErrors when Jobber rejects the input. Use it to change a client. Use jobber_client_create to add a new client.
- Idempotent
Inputs
client_idstringrequired- Jobber encoded ID of the client to update. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
billing_addressobject- New billing address. Street address with street1, street2, city, province (state or province), postalCode and country. All parts are optional strings. Example: {"street1": "123 Main St", "city": "Austin", "province": "TX", "postalCode": "78701", "country": "United States"}.
company_namestring- New company name. Example: Smith Landscaping.
emails_to_addarray- Email addresses to add. Each entry has an address, an optional description (MAIN, WORK, PERSONAL or OTHER) and an optional primary flag. Example: [{"address": "jane@example.com", "description": "MAIN", "primary": true}].
first_namestring- New first name. Example: Jane.
is_companyboolean- Set to true to show the company name as the client's primary name. Example: false.
last_namestring- New last name. Example: Smith.
phones_to_addarray- Phone numbers to add. Each entry has a number, an optional description (MAIN, WORK, MOBILE, HOME, FAX or OTHER), an optional primary flag and an optional smsAllowed flag. Example: [{"number": "555-123-4567", "description": "MOBILE", "primary": true, "smsAllowed": true}].
receives_remindersboolean- Whether the client receives visit and assessment reminders. Example: true.
receives_review_requestsboolean- Whether the client receives review requests. Example: false.
tags_to_addarray- Tags to add to the client. Example: ["VIP"].
tags_to_deletearray- Tags to remove from the client. Example: ["Prospect"].
titlestring- Honorific title: MR, MS, MRS, MISS or DR. Example: DR.one of
MRMSMRSMISSDR
jobber_expense_createRecord an expense in Jobber, optionally linked to a job or reimbursable to a user.WriteCreate Expense
Record an expense in Jobber, optionally linked to a job or reimbursable to a user. Returns the new expense's id, title, date, total and links, plus userErrors when Jobber rejects the input. Use it to log materials or costs. Use jobber_expenses_list to review expenses.
Inputs
datestringrequired- When the expense was incurred, as an ISO 8601 timestamp. Example: 2026-11-02T00:00:00Z.
titlestringrequired- Title of the expense. Example: Mulch, 10 bags.
descriptionstring- Details about the expense. Example: Home Depot receipt 4471.
linked_job_idstring- Jobber encoded ID of the job the expense belongs to. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0pvYi8xMjM0NTY3OA==.
reimbursable_to_idstring- Jobber encoded ID of the user to reimburse. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1VzZXIvMTIzNDU2Nzg=.
totalnumber- Total cost of the expense. Example: 89.5.
jobber_invoice_createCreate an invoice for a Jobber client, either from a job or with its own line items.WriteCreate Invoice
Create an invoice for a Jobber client, either from a job or with its own line items. Returns the new invoice's id, number, status, amounts and line items, plus userErrors when Jobber rejects the input. Use it to bill a client. Use jobber_invoice_update to change an invoice.
Inputs
client_idstringrequired- Jobber encoded ID of the client being invoiced. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
due_detailsobjectrequired- When payment is due. Set invoiceNet to a number of days after issue, or dueDate to an ISO 8601 timestamp. Example: {"invoiceNet": 30}.
line_itemsarrayrequired- Line items on the invoice. Each item needs a name; most also set quantity and unitPrice. You can add a description, a category (PRODUCT, SERVICE or LABOUR), taxable, a service date, or link an existing catalog item with productOrServiceId. Example: [{"name": "Window cleaning", "quantity": 2, "unitPrice": 60.0, "taxable": true}].
tax_calculation_methodstringrequired- Whether line item prices exclude tax (EXCLUSIVE) or already include it (INCLUSIVE). Example: EXCLUSIVE.one of
EXCLUSIVEINCLUSIVE issued_datestring- Date the invoice is issued, as an ISO 8601 timestamp. Example: 2026-11-02T00:00:00Z.
job_idstring- Jobber encoded ID of the job to invoice. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0pvYi8xMjM0NTY3OA==.
mark_sentboolean- Set to true to mark the invoice as sent (status changes from draft) without emailing it. Example: false.
messagestring- Message to the client on the invoice. Example: Thank you!
property_idstring- Jobber encoded ID of the property for an invoice that has no job. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1Byb3BlcnR5LzEyMzQ1Njc4.
subjectstring- Subject line of the invoice. Example: November lawn care.
tax_rate_idstring- Jobber encoded ID of the tax rate to apply. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1RheFJhdGUvMTIzNDU2Nzg=.
jobber_invoice_note_createAdd an internal note to a Jobber invoice.WriteCreate Invoice Note
Add an internal note to a Jobber invoice. Returns the new note's id, message and creation time, plus userErrors when Jobber rejects the input. Use it to record context on a invoice. Notes are visible to the team, not the client.
Inputs
invoice_idstringrequired- Jobber encoded ID of the invoice. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0ludm9pY2UvMTIzNDU2Nzg=.
messagestringrequired- Text of the note to add to the invoice. Example: Customer asked to use the side gate.
pinnedboolean- Set to true to pin the note to the top of the notes list. Example: false.
jobber_invoice_updateUpdate a Jobber invoice's subject, message, number, dates, due terms, discount, tax rate or payment options.WriteUpdate Invoice
Update a Jobber invoice's subject, message, number, dates, due terms, discount, tax rate or payment options. Returns the updated invoice, plus userErrors when Jobber rejects the input. Use it to change an invoice. A discount or tax rate change can change the total.
- Idempotent
Inputs
invoice_idstringrequired- Jobber encoded ID of the invoice to update. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0ludm9pY2UvMTIzNDU2Nzg=.
allow_partial_paymentsboolean- Whether the client can pay part of the invoice. Example: true.
discountobject- Discount on the invoice with discountRate and discountType (Percent or Unit). Set the rate to 0 to remove it. Example: {"discountRate": 10, "discountType": "Percent"}.
due_detailsobject- New due terms. Set invoiceNet to a number of days after issue, or dueDate to an ISO 8601 timestamp. Example: {"invoiceNet": 15}.
invoice_numberstring- New invoice number. Example: 2031.
issued_datestring- New issued date, as an ISO 8601 timestamp. Example: 2026-11-03T00:00:00Z.
messagestring- New message to the client. Example: Updated per our call.
subjectstring- New subject line. Example: November lawn care (revised).
tax_rate_idstring- Jobber encoded ID of the tax rate for the invoice. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1RheFJhdGUvMTIzNDU2Nzg=.
jobber_job_closeClose a Jobber job and decide what happens to its incomplete visits.WriteClose Job
Close a Jobber job and decide what happens to its incomplete visits. Returns the job's id, number and new status, plus userErrors when the job cannot be closed. Use it when the work is finished. Create the invoice with jobber_invoice_create.
- Idempotent
Inputs
job_idstringrequired- Jobber encoded ID of the job to close. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0pvYi8xMjM0NTY3OA==.
modify_incomplete_visits_bystringrequired- What to do with incomplete visits: DESTROY_ALL removes them all; COMPLETE_PAST_DESTROY_FUTURE completes past visits and removes future ones. Example: COMPLETE_PAST_DESTROY_FUTURE.one of
DESTROY_ALLCOMPLETE_PAST_DESTROY_FUTURE completed_onstring- Date the job was completed (YYYY-MM-DD, account time zone). Defaults to today. Example: 2026-11-02.
jobber_job_createCreate a job at a client property in Jobber, with its invoicing setup and optional line items.WriteCreate Job
Create a job at a client property in Jobber, with its invoicing setup and optional line items. Returns the new job's id, number, status, dates and totals, plus userErrors when Jobber rejects the input. Use it to book work, for example after jobber_quote_approve. Use jobber_job_update to change a job.
Inputs
invoicingobjectrequired- How the job is invoiced. invoicingType is FIXED_PRICE or VISIT_BASED. invoicingSchedule is ON_COMPLETION, PERIODIC, PER_VISIT or NEVER. Example: {"invoicingType": "FIXED_PRICE", "invoicingSchedule": "ON_COMPLETION"}.
property_idstringrequired- Jobber encoded ID of the client property where the work happens. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1Byb3BlcnR5LzEyMzQ1Njc4.
instructionsstring- Instructions for the team. Example: Ladder needed.
line_itemsarray- Line items on the job. Each item needs a name, quantity, unitPrice and saveToProductsAndServices (true to also save it to the products and services list). You can add a description, a category (PRODUCT, SERVICE or LABOUR), taxable, or link an existing catalog item with productOrServiceId. Example: [{"name": "Gutter cleaning", "quantity": 1, "unitPrice": 120.0, "saveToProductsAndServices": false}].
quote_idstring- Jobber encoded ID of the approved quote this job comes from. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1F1b3RlLzEyMzQ1Njc4.
request_idstring- Jobber encoded ID of the request this job comes from. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1JlcXVlc3QvMTIzNDU2Nzg=.
salesperson_idstring- Jobber encoded ID of the user who sold the job. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1VzZXIvMTIzNDU2Nzg=.
schedulingobject- Visit scheduling. createVisits and notifyTeam are required when you set this. You can also set assignedTo (user ids), startTime and endTime (HH:MM:SS) and a recurrence rule starting with RRULE:. Example: {"createVisits": true, "notifyTeam": false, "startTime": "09:00:00", "endTime": "11:00:00"}.
timeframeobject- When the job starts and how long it runs. startAt is a date (YYYY-MM-DD); durationValue is a number of durationUnits (DAYS, WEEKS, MONTHS or YEARS). Example: {"startAt": "2026-11-02", "durationValue": 1, "durationUnits": "DAYS"}.
titlestring- Title of the job. Example: Gutter cleaning.
jobber_job_note_createAdd an internal note to a Jobber job.WriteCreate Job Note
Add an internal note to a Jobber job. Returns the new note's id, message and creation time, plus userErrors when Jobber rejects the input. Use it to record context on a job. Notes are visible to the team, not the client.
Inputs
job_idstringrequired- Jobber encoded ID of the job. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0pvYi8xMjM0NTY3OA==.
messagestringrequired- Text of the note to add to the job. Example: Customer asked to use the side gate.
pinnedboolean- Set to true to pin the note to the top of the notes list. Example: false.
jobber_job_updateUpdate a Jobber job's title, instructions, number, timeframe, invoicing, salesperson or review-request setting.WriteUpdate Job
Update a Jobber job's title, instructions, number, timeframe, invoicing, salesperson or review-request setting. Returns the updated job, plus userErrors when Jobber rejects the input. Use it to change a job. Use jobber_job_close to close it.
- Idempotent
Inputs
job_idstringrequired- Jobber encoded ID of the job to update. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0pvYi8xMjM0NTY3OA==.
allow_review_requestboolean- Whether Jobber sends a review request text when the job is done. Example: true.
instructionsstring- New instructions. They also apply to the job's incomplete visits. Example: Bring a 30 ft ladder.
job_numberinteger- New job number. Example: 512.
salesperson_idstring- Jobber encoded ID of the user who sold the job. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1VzZXIvMTIzNDU2Nzg=.
timeframeobject- New start date and duration. startAt is a date (YYYY-MM-DD); durationValue is a number of durationUnits (DAYS, WEEKS, MONTHS or YEARS). Example: {"startAt": "2026-11-09", "durationValue": 2, "durationUnits": "DAYS"}.
titlestring- New title. Example: Gutter cleaning and repair.
jobber_product_createAdd a product or service to the Jobber catalog.WriteCreate Product or Service
Add a product or service to the Jobber catalog. Returns the new item's id, name, category and pricing, plus userErrors when Jobber rejects the input. Use it to save a reusable line item. Use jobber_product_update to change one.
Inputs
default_unit_costnumberrequired- Default price per unit charged to clients. Example: 45.0.
namestringrequired- Name of the product or service. Example: Lawn mowing.
categorystring- Kind of item: PRODUCT, SERVICE or LABOUR. Example: SERVICE.one of
PRODUCTSERVICELABOUR descriptionstring- Description shown on line items. Example: Mow, edge and blow.
duration_minutesinteger- Time to deliver the service, in minutes. Example: 60.
internal_unit_costnumber- Your internal cost per unit, used for margins. Example: 20.0.
markupnumber- Default markup percentage. Example: 25.
taxableboolean- Whether the item is taxable. Example: true.
jobber_product_updateUpdate a product or service in the Jobber catalog: name, description, pricing, category, taxable or visible.WriteUpdate Product or Service
Update a product or service in the Jobber catalog: name, description, pricing, category, taxable or visible. Returns the updated item, plus userErrors when Jobber rejects the input. Use it to change catalog pricing. Existing quotes and invoices keep their old prices.
- Idempotent
Inputs
product_idstringrequired- Jobber encoded ID of the product or service to update. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1Byb2R1Y3RPclNlcnZpY2UvMTIzNDU2Nzg=.
categorystring- Kind of item: PRODUCT, SERVICE or LABOUR. Example: SERVICE.one of
PRODUCTSERVICELABOUR default_unit_costnumber- New default price per unit. Example: 55.0.
descriptionstring- New description. Example: Mow, edge, trim and blow.
internal_unit_costnumber- New internal cost per unit. Example: 25.0.
namestring- New name. Example: Lawn mowing (large lot).
taxableboolean- Whether the item is taxable. Example: true.
visibleboolean- Set to false to hide the item from the catalog. Example: true.
jobber_property_createAdd a service property (job site address) to an existing Jobber client.WriteCreate Property
Add a service property (job site address) to an existing Jobber client. Returns the created properties with their ids and addresses, plus userErrors when Jobber rejects the input. Use it before creating a quote or job at a new address. Use jobber_property_update to change one.
Inputs
client_idstringrequired- Jobber encoded ID of the client that owns the new property. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
propertiesarrayrequired- Properties to create. Each entry needs an address object (street1, street2, city, province, postalCode, country) and can have a name or a taxRateId. Example: [{"name": "Lake house", "address": {"street1": "9 Shore Rd", "city": "Austin", "province": "TX", "postalCode": "78732"}}].
jobber_property_updateUpdate a Jobber service property's name, address or tax rate.WriteUpdate Property
Update a Jobber service property's name, address or tax rate. Returns the updated property, plus userErrors when Jobber rejects the input. Use it to fix a job site address. Use jobber_property_create to add a new one.
- Idempotent
Inputs
property_idstringrequired- Jobber encoded ID of the property to update. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1Byb3BlcnR5LzEyMzQ1Njc4.
addressobject- New address for the property. Street address with street1, street2, city, province (state or province), postalCode and country. All parts are optional strings. Example: {"street1": "123 Main St", "city": "Austin", "province": "TX", "postalCode": "78701", "country": "United States"}.
namestring- New name for the property. Example: Main residence.
tax_rate_idstring- Jobber encoded ID of the tax rate to apply to work at this property. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1RheFJhdGUvMTIzNDU2Nzg=.
jobber_quote_approveMark a Jobber quote as approved by the client.WriteApprove Quote
Mark a Jobber quote as approved by the client. Returns the quote's id, number and new status, plus userErrors when the quote cannot be approved. Use it after the client accepts. Then create the job with jobber_job_create.
- Idempotent
Inputs
quote_idstringrequired- Jobber encoded ID of the quote to approve. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1F1b3RlLzEyMzQ1Njc4.
jobber_quote_createCreate a draft quote with line items for a Jobber client and property.WriteCreate Quote
Create a draft quote with line items for a Jobber client and property. Returns the new quote's id, number, status, amounts and line items, plus userErrors when Jobber rejects the input. Use it to price work. Use jobber_quote_update to change a quote and jobber_quote_approve to approve it.
Inputs
client_idstringrequired- Jobber encoded ID of the client the quote is for. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
line_itemsarrayrequired- Line items on the quote. Each item needs a name and saveToProductsAndServices (true to also save it to the products and services list). Most items also set quantity and unitPrice; you can add a description, a category (PRODUCT, SERVICE or LABOUR), taxable, optional, or link an existing catalog item with productOrServiceId. Example: [{"name": "Lawn mowing", "quantity": 1, "unitPrice": 45.0, "saveToProductsAndServices": false}].
property_idstringrequired- Jobber encoded ID of the client property the quote is for. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1Byb3BlcnR5LzEyMzQ1Njc4.
depositobject- Required deposit on the quote as an object with a rate and a type. Type Percent treats the rate as a percentage; type Unit treats it as a fixed amount. Example: {"rate": 10, "type": "Percent"}.
discountobject- Discount on the quote as an object with a rate and a type. Type Percent treats the rate as a percentage; type Unit treats it as a fixed amount. Example: {"rate": 10, "type": "Percent"}.
messagestring- Message to the client shown on the quote. Example: Thanks for the opportunity!
request_idstring- Jobber encoded ID of the request this quote answers. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1JlcXVlc3QvMTIzNDU2Nzg=.
salesperson_idstring- Jobber encoded ID of the user who is the salesperson. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1VzZXIvMTIzNDU2Nzg=.
tax_rate_idstring- Jobber encoded ID of the tax rate for the quote. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1RheFJhdGUvMTIzNDU2Nzg=.
titlestring- Title of the quote. Example: Weekly lawn care.
jobber_quote_note_createAdd an internal note to a Jobber quote.WriteCreate Quote Note
Add an internal note to a Jobber quote. Returns the new note's id, message and creation time, plus userErrors when Jobber rejects the input. Use it to record context on a quote. Notes are visible to the team, not the client.
Inputs
messagestringrequired- Text of the note to add to the quote. Example: Customer asked to use the side gate.
quote_idstringrequired- Jobber encoded ID of the quote. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1F1b3RlLzEyMzQ1Njc4.
pinnedboolean- Set to true to pin the note to the top of the notes list. Example: false.
jobber_quote_updateUpdate a Jobber quote's title, message, number, discount, deposit, tax rate or salesperson.WriteUpdate Quote
Update a Jobber quote's title, message, number, discount, deposit, tax rate or salesperson. Returns the updated quote, plus userErrors when Jobber rejects the input. Use it to revise a quote. Line items are not changed by this tool.
- Idempotent
Inputs
quote_idstringrequired- Jobber encoded ID of the quote to update. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1F1b3RlLzEyMzQ1Njc4.
depositobject- Required deposit as an object with a rate and a type. Type Percent treats the rate as a percentage; type Unit treats it as a fixed amount. Example: {"rate": 10, "type": "Percent"}. Set the rate to 0 to remove the deposit.
discountobject- Discount on the quote as an object with a rate and a type. Type Percent treats the rate as a percentage; type Unit treats it as a fixed amount. Example: {"rate": 10, "type": "Percent"}. Set the rate to 0 to remove the discount.
messagestring- New message to the client. Example: Updated per our call.
quote_numberstring- New quote number. Example: 1042.
salesperson_idstring- Jobber encoded ID of the user who is the salesperson. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1VzZXIvMTIzNDU2Nzg=.
tax_rate_idstring- Jobber encoded ID of the tax rate for the quote. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1RheFJhdGUvMTIzNDU2Nzg=.
titlestring- New title. Example: Bi-weekly lawn care.
jobber_request_createCreate a work request for an existing Jobber client.WriteCreate Request
Create a work request for an existing Jobber client. Returns the new request's id, title, status, client and property, plus userErrors when Jobber rejects the input. Use it to log incoming work before quoting. Use jobber_request_update to change a request.
Inputs
client_idstringrequired- Jobber encoded ID of the client the request is for. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
property_idstring- Jobber encoded ID of the property for the request. Defaults to the client's most recent property. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1Byb3BlcnR5LzEyMzQ1Njc4.
salesperson_idstring- Jobber encoded ID of the user who is the salesperson. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1VzZXIvMTIzNDU2Nzg=.
sourcestring- Channel the request came from: SOCIAL_MEDIA, INTERNAL or EXTERNAL. Example: EXTERNAL.one of
SOCIAL_MEDIAINTERNALEXTERNAL titlestring- Title of the request. Example: Spring cleanup estimate.
jobber_request_note_createAdd an internal note to a Jobber request.WriteCreate Request Note
Add an internal note to a Jobber request. Returns the new note's id, message and creation time, plus userErrors when Jobber rejects the input. Use it to record context on a request. Notes are visible to the team, not the client.
Inputs
messagestringrequired- Text of the note to add to the request. Example: Customer asked to use the side gate.
request_idstringrequired- Jobber encoded ID of the request. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1JlcXVlc3QvMTIzNDU2Nzg=.
pinnedboolean- Set to true to pin the note to the top of the notes list. Example: false.
jobber_request_updateUpdate a Jobber work request's title, property, salesperson or referring client.WriteUpdate Request
Update a Jobber work request's title, property, salesperson or referring client. Returns the updated request, plus userErrors when Jobber rejects the input. Use it to change a request. Use jobber_request_create to add one.
- Idempotent
Inputs
request_idstringrequired- Jobber encoded ID of the request to update. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1JlcXVlc3QvMTIzNDU2Nzg=.
property_idstring- Jobber encoded ID of the property for the request. It must belong to the same client. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1Byb3BlcnR5LzEyMzQ1Njc4.
referring_client_idstring- Jobber encoded ID of the client who referred this request. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
salesperson_idstring- Jobber encoded ID of the user who is the salesperson. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1VzZXIvMTIzNDU2Nzg=.
titlestring- New title. Example: Fall cleanup estimate.
jobber_task_createCreate a task on the Jobber calendar, optionally linked to a client, property, quote or request.WriteCreate Task
Create a task on the Jobber calendar, optionally linked to a client, property, quote or request. Returns the new task's id, title, times and completion flag, plus userErrors when Jobber rejects the input. Use it for to-dos that are not billable visits.
Inputs
titlestringrequired- Title of the task. Example: Call supplier about mulch.
all_dayboolean- Set to true for an all-day task. Example: false.
assigned_toarray- Users assigned to the task (Jobber encoded user IDs). Example: ["Z2lkOi8vSm9iYmVyL1VzZXIvMTIzNDU2Nzg="].
client_idstring- Jobber encoded ID of the client to link the task to. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
end_atstring- When the task ends, as an ISO 8601 timestamp. Example: 2026-11-03T15:00:00Z.
instructionsstring- Details of the task. Example: Ask for bulk pricing.
property_idstring- Jobber encoded ID of the property to link the task to. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1Byb3BlcnR5LzEyMzQ1Njc4.
quote_idstring- Jobber encoded ID of the quote to link the task to. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1F1b3RlLzEyMzQ1Njc4.
request_idstring- Jobber encoded ID of the request to link the task to. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1JlcXVlc3QvMTIzNDU2Nzg=.
start_atstring- When the task starts, as an ISO 8601 timestamp. Example: 2026-11-03T14:00:00Z.
jobber_visit_completeMark a Jobber visit as complete.WriteComplete Visit
Mark a Jobber visit as complete. Returns the visit's id, status and completion time, plus userErrors when the visit cannot be completed. Use it when the crew finishes a visit. Use jobber_job_close to close the whole job.
- Idempotent
Inputs
visit_idstringrequired- Jobber encoded ID of the visit to complete. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL1Zpc2l0LzEyMzQ1Njc4.
completed_atstring- When the visit was completed, as an ISO 8601 timestamp. Defaults to now. Example: 2026-11-02T15:30:00Z.
jobber_client_archiveArchive a Jobber client so it no longer appears in active client lists.DestructiveArchive Client
Archive a Jobber client so it no longer appears in active client lists. Returns the client's id and archived flag, plus userErrors when the client cannot be archived. Use it to retire a client. Use jobber_client_unarchive to restore it.
- Idempotent
Inputs
client_idstringrequired- Jobber encoded ID of the client to archive. Jobber IDs are base64 strings returned in the id field of list and get tools. Example: Z2lkOi8vSm9iYmVyL0NsaWVudC8xMjM0NTY3OA==.
No tools match.