The JobCRM connector lets Claude and ChatGPT look up your customers and jobs, draft and send quotes, invoice, take deposits, book appointments and build dashboards, using your real JobCRM data.
No JobCRM account yet? You can create one from the sign-in window when you connect. 14 days free, no card needed.
“Draft a quote for Pat Lee: replace 2 bathroom faucets, 3 hours labor at $95, parts $180. Don't send it yet.”
“Which invoices are overdue, and how much is outstanding in total?”
“What did we finish or get approved that we haven't invoiced yet?”
“Book a site visit with the Garcias next Tuesday at 9am for 90 minutes and show me the rest of my week.”
“Build me a dashboard of revenue by month for the last 12 months, my pipeline by stage, and unpaid invoices by age.”
“Price a 12x14 bedroom repaint, walls and ceiling, two coats, at $3.25 per square foot.”
https://app.jobcrm.com/mcp.Ask Claude for a dashboard and it can chart your revenue, pipeline and unpaid invoices from JobCRM and keep it up to date.
https://app.jobcrm.com/mcp.| Tool | What it does | |
|---|---|---|
| Draft an estimate draft_estimate |
Calculates a job estimate from line items: subtotal, discount, tax, total and deposit, and returns a formatted estimate table. Nothing is saved; to save it as a quote in JobCRM use create_draft_quote. | Saves nothing |
| Price a job price_job |
Works out a job price from labor hours and rate, materials and other costs, using either a markup percent or a target profit margin percent. Returns price, profit, margin and markup. Saves nothing. | Saves nothing |
| Get a ClosetPro proposal get_closetpro_proposal |
Read a project's linked ClosetPro proposal LIVE from ClosetPro (read-only). Use it for ClosetPro-side detail that isn't synced into Sublime (proposal status, room/design breakdown, etc.). Most basics (amount, customer, line items) are already available as the synced quote, so prefer the quote tools for those and use this for live ClosetPro detail. Only works for merchants with a ClosetPro integration and a project linked to a proposal; makes a live external call, so it can be slower. Never writes to ClosetPro. | Read only |
| Get a calendar event get_calendar_event |
Get full details of one calendar event by its event_id. | Read only |
| Get an address and its job history get_property |
Returns one saved address with every job done there (newest first, up to 20), and what was quoted, approved and invoiced at it. | Read only |
| Get custom fields get_custom_fields |
Read the merchant-defined custom fields (and their values) for one record. Use it when the user asks about a bespoke/merchant-specific field that the standard tools don't return - e.g. "what's the gate code", "referral source", "install crew", "measured by". Security: merchant-scoped, and gated on the same per-entity permission as reading that record type. | Read only |
| Get customer details get_customer |
Returns one customer's contact details with their recent projects, quotes and invoices and their open invoice balance. | Read only |
| Get invoice details get_invoice |
Returns one invoice with line items, totals, amount paid, balance due and due date. | Read only |
| Get project details get_project |
Returns one project's details: customer, stage, address, notes, its quotes and invoices with balances, and scheduled appointments. | Read only |
| Get quote details get_quote |
Returns one quote with its line items, totals, status, customer and project. | Read only |
| List a customer's addresses list_properties |
Lists the addresses (properties) saved for a customer: service locations, billing and shipping, with how many jobs each has had and when the last one was. Use the ID for get_property or create_project. | Read only |
| List calendar events list_calendar_events |
List this merchant's calendar events between two dates (inclusive), in the merchant's local timezone. | Read only |
| List invoices list_invoices |
List this merchant's invoices with optional filters. `total_amount` sums the dollar value over ALL matches (not just the returned page), so you can state a filtered total (e.g. total overdue) without paging. | Read only |
| List my notes list_my_notes |
List team notes visible to the signed-in user, newest first. Visibility rules (all-team / private / selected+tagged) are enforced automatically. | Read only |
| List payments list_payments |
List customer payments with totals over the whole match set. | Read only |
| List payouts list_payouts |
List bank payouts (processor settlements) with totals over the whole match set. Use for "how much cash was deposited this week?", payout status checks, and fee questions. | Read only |
| List products and services list_products |
List this merchant's product/service catalog with prices. Use it to price line items with real catalog data when drafting quotes, invoices or work orders. | Read only |
| List projects list_projects |
List this merchant's projects with optional filters. | Read only |
| List quotes list_quotes |
List this merchant's quotes with optional filters. | Read only |
| List work orders list_work_orders |
List this merchant's work orders (aka orders / jobs) with optional filters. | Read only |
| Pipeline by stage pipeline_by_stage |
Active projects (not completed, lost or archived) per pipeline stage, with the value of their quotes awaiting approval and of their approved quotes. | Read only |
| Projects at risk list_projects_at_risk |
Open projects that look stalled or at risk, ranked by how long they've sat idle. A project is flagged when it has had no activity (no update) in the last `inactive_days` days and/or has overdue (past-due, incomplete) tasks. Answers "which projects are stuck / at risk?". Stage names vary per merchant, so this does NOT hard-drop anything: it splits the stalled projects into `at_risk` (live pipeline stages) and a separate `finished_but_unarchived` bucket (stages whose name looks terminal - Done, Complete, Paid, Closed, Lost - i.e. finished work that was never archived, not real risk). Both include a by-stage breakdown so you can reason from the actual stage names and, if a stage is miscategorised, note it or re-call with include_finished_stages. | Read only |
| Quote funnel quote_funnel |
Quotes created in a period, by their current status (draft, sent, awaiting deposit, approved, declined), with values and the win rate on sent quotes. | Read only |
| Revenue by month revenue_by_month |
Monthly totals for charts: value of quotes approved, value of invoices issued and payments collected, for the last N months including this one, in the workspace's timezone. | Read only |
| Sales summary get_sales_summary |
Business/financial summary for a period (defaults to the last 90 days): sales booked (quotes approved), invoices issued, cash collected (payments), and bank deposits (payouts), plus open-pipeline snapshots. Use for questions like "what are my sales this month?", "how did we do last week?", "how much cash came in?". For a specific calendar period, pass explicit dates (e.g. this month vs last month comparisons). | Read only |
| Search app help search_app_help |
Searches the app's help articles for how to do something in the app: where a page or setting is, how to create or send a quote, invoice or work order, take a payment, import clients, add a team member, set up automations, the calendar, billing and plans, and how this assistant works. Use it for any how-to or where-is question about using the app, and answer only from what it returns. | Read only |
| Search customers search_customers |
Search this merchant's customers (and leads) by name, company, email or phone. Use this first to resolve a person/company name mentioned by the user into a customer_id before calling other tools that accept customer_id. | Read only |
| Search everything global_search |
Find anything across this merchant in one call - customers, quotes, invoices, projects and work orders - by name, number, company, email, phone or free text. Use it as the entry point when the user names something but you don't know its type ("pull up Foster", "find 1042"). Security: every query is scoped to the signed-in merchant, and only the record types the signed-in user is allowed to see are searched. The types actually searched vs skipped-for-permission are returned in searched_types and omitted_types. | Read only |
| Unbilled and unscheduled work unbilled_work |
Work that needs follow-up: approved quotes with no invoice, completed projects with no invoice, and active projects with an approved quote but nothing on the calendar. Up to 20 of each, with totals. | Read only |
| Unpaid invoices by age receivables_aging |
Outstanding balance on unpaid invoices grouped by how overdue they are: not yet due, 1-30, 31-60, 61-90 and over 90 days. Partial payments are subtracted. | Read only |
| Who owes the most list_top_debtors |
Customers ranked by how much they owe: outstanding (not fully paid) invoice balances grouped by customer (invoiced total minus payments recorded against those invoices), ranked descending. Authoritative server-side aggregation for "who owes us the most?". | Read only |
| Add a note add_note |
Adds a note to a project (it also shows on the customer) or to a customer, visible to the team. Nothing is sent to the customer. | Makes changes |
| Add an address to a customer add_property |
Saves another address for a customer, e.g. a rental unit or a second site. Returns the existing one instead if the customer already has that street and ZIP. The customer's current address is kept as their default. | Makes changes |
| Cancel an appointment cancel_calendar_event |
Removes an appointment from the calendar. Team members can cancel only their own appointments. No one is notified. | Makes changes |
| Create a customer create_customer |
Creates a new customer (or lead) for this workspace: a person (first and last name) or a company. If a customer with the same email already exists, returns that customer instead of creating a duplicate. Only call this when the user explicitly asks to add a customer, after confirming the details. Does not contact the customer. | Makes changes |
| Create a deposit invoice create_deposit_invoice |
Creates the deposit invoice for a quote, for the workspace's usual deposit percentage or deposit_percent. If the quote already has one, returns it. Nothing is sent or charged; send_invoice emails it. | Makes changes |
| Create a draft invoice create_draft_invoice |
Creates an UNSENT invoice, either from an existing quote (quote_id: copies its line items, customer and project and links back to the quote, e.g. 'turn this accepted quote into an invoice') or from line items for a customer or project. The invoice number is assigned automatically. Nothing is sent to the customer. | Makes changes |
| Create a draft quote create_draft_quote |
Saves an UNSENT draft quote for a customer (customer_id) or project (project_id) with line items, and optional tax and discount. Use list_products for the workspace's real prices, and confirm the items and total with the user first. The quote number is assigned automatically. Nothing is sent to the customer. | Makes changes |
| Create a project create_project |
Creates a project (job) for an existing customer (customer_id) or a new customer (customer_name, customer_email, ...). It goes into the first stage of the workspace's first pipeline unless a stage name is given. Does not contact the customer. | Makes changes |
| Draft a work order create_draft_work_order |
Create a work order with line items composed in chat, in the merchant's first status. The user reviews it on the work order page and adjusts it there. Confirm the items with the user before calling. | Makes changes |
| Email a quote to the customer send_quote |
Emails a quote to the customer with a link to view and approve it, and marks a draft quote as sent. Goes to the customer's saved emails unless emails is given. | Makes changes |
| Email an invoice to the customer send_invoice |
Emails an invoice to the customer with a link to the invoice page, where they can pay online if the workspace accepts online payments. This tool does not charge or move money. Goes to the customer's saved emails unless emails is given. | Makes changes |
| Get an invoice payment link get_payment_link |
Returns the link the customer uses to view and pay an invoice, to share by text or email yourself. The link signs the customer in, so share it only with them. Reuses the invoice's existing link when there is one. Does not charge anything. | Makes changes |
| Reschedule or edit an appointment reschedule_calendar_event |
Moves an appointment to a new start time and/or length, or changes its title, location or details. Times are local to the appointment's timezone. Team members can change only their own appointments. No one is notified. | Makes changes |
| Schedule an appointment create_calendar_event |
Adds an appointment to the calendar, assigned to you: a sales visit (needs a project), a service visit such as an installation, or an internal event. Times are local to the given timezone (default: the workspace's). Only call this when the user asks to book something and has given the details. No calendar invitations or customer emails are sent. | Makes changes |
| Update a customer update_customer |
Edits a customer's (client's) name, phone, address, city, state, ZIP or notes, or adds an email address. Only the fields given change. Does not contact the customer. | Makes changes |
| Update a project update_project |
Moves a project (job) to another stage of its pipeline, renames it, changes its address, or marks it complete or reopens it. | Makes changes |
| Update a quote update_quote |
Changes a draft or sent quote: replace its line items (with tax and discount), title, customer message or internal notes, and/or mark it approved (the customer said yes) or declined. Approved quotes can't be edited here. Nothing is emailed. | Makes changes |