JobNimbus integration
JobNimbus is a CRM and project management tool for roofing and other contractors. List, read, create and update contacts, jobs and tasks (deleting is an update that sets is_active to false), list, read and add activities such as notes, list file attachments, list, read, create and update products and services, read invoices and payments, and read the account's workflows, statuses, task, activity and file types, lead sources and users. Lists page with from and size (up to 1000), and contacts, jobs, tasks and activities also take an ElasticSearch-style filter object. Contacts, jobs and users are personal data. Left out: estimates, budgets, material and work orders, file uploads and downloads (uploads run on a separate host), creating or changing invoices, creating payments, the account's groups and units of measure, and creating workflows, statuses, lead sources, custom fields, types and locations. Authentication is an API key created under Settings, API in JobNimbus, sent as a bearer token; its access profile decides what it can see.
Say what should happen.
The workflow builds itself.
What you can do with JobNimbus
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Contact, 4 operations
create_contactCreate contactPOSTCreates a contact. Needs a first, last, display or company name plus record_type_name (a contact workflow) and status_name (one of its statuses), see get_account_settings. Returns the new contact with its jnid.get_contactGet contactGETReturns one contact by jnid: names, company, emails and phones, address, workflow and status, lead source, sales rep, owners and tags. Personal data.list_contactsList contactsGETLists contacts (names, emails, phones, addresses, workflow status, sales rep), up to 1000 per call (size, from), sortable and filterable with an ElasticSearch-style filter, for example by email or date_updated. Personal data.update_contactUpdate contactPUTUpdates a contact by jnid with the fields sent. The docs do not say whether fields left out are kept; their examples send only the fields that change. Set is_active to false to delete.
Job, 4 operations
create_jobCreate jobPOSTCreates a job with name, record_type_name (a job workflow) and status_name (one of its statuses), see get_account_settings; primary links it to a contact. Returns the new job with its jnid.get_jobGet jobGETReturns one job by jnid: name, number, workflow and status, address and coordinates, sales rep, owners, primary contact, related records and tags.list_jobsList jobsGETLists jobs (name, workflow and status, address, sales rep, primary contact, related records), up to 1000 per call (size, from), sortable and filterable with an ElasticSearch-style filter.update_jobUpdate jobPUTUpdates a job by jnid with the fields sent; the docs point to create_job's required fields (name, record_type_name, status_name). Their examples send only the fields that change. is_active false deletes it.
Product, 4 operations
create_productCreate productPOSTCreates a product or service with name, item_type (material, labor or labor+material) and uoms (units with material and labor cost and price). Names under 32 characters can sync with QuickBooks.get_productGet productGETReturns one product or service by jnid: name, description, item type, units of measurement with material and labor cost and price, suppliers, tax exemption and status.list_productsList productsGETLists the products and services of the account with their item type, units of measurement and material and labor cost and price, tax exemption and status.update_productUpdate productPUTUpdates a product by jnid with the fields sent. The docs' delete example sends only is_active false and gets back the product with its other fields unchanged. is_active false deletes it.
Task, 4 operations
create_taskCreate taskPOSTCreates a task with title, date_start (Unix seconds), record_type_name (a task type, see get_account_settings) and related (the contact or job it is about). Returns the new task with its jnid.get_taskGet taskGETReturns one task by jnid: title, description, type, priority, start and end dates, completion, estimated and actual time, related records and owners.list_tasksList tasksGETLists tasks (title, type, priority, start and end, completion, related contact or job, owners), up to 1000 per call (size, from), sortable and filterable with an ElasticSearch-style filter.update_taskUpdate taskPUTUpdates a task by jnid with the fields sent, for example a new date_start or is_completed true. The docs' example sends only the changed field. is_active false deletes the task.
Activity, 3 operations
create_activityCreate activityPOSTAdds an activity, such as a note, to a contact or job: note, record_type_name (an activity type such as Note) and primary (the record's jnid). Returns the new activity.get_activityGet activityGETReturns one activity by jnid: note text, activity type, primary record and status change, related records, author and dates.list_activitiesList activitiesGETLists activities (notes, status changes and other history entries of contacts and jobs), up to 1000 per call (size, from); filter on related.id (a contact's or job's jnid) or on date_created to get one record's history.
Invoice, 2 operations
get_invoiceGet invoiceGETReturns one invoice by jnid: number, status, invoice, due and paid-in-full dates, line items, totals, payments, notes and the related job and contact.list_invoicesList invoicesGETLists invoices with number, status, dates, line items, subtotal, tax, total, amount paid and due, and the related job and contact, paginated with from and size.
File, 1 operation
list_filesList filesGETLists the file attachments of the account: file name, MIME type, size, file type (Photo, Document), privacy, and the contact or job each file is attached to.
Payment, 1 operation
list_paymentsList paymentsGETLists payments with amount, payment date, reference, method, refunds, and the invoices each payment is applied to.
Setting, 1 operation
get_account_settingsGet account settingsGETReturns the account's workflows with their statuses, file types, task types, activity types and lead sources: the names create_contact, create_job, create_task and create_activity expect.
User, 1 operation
list_usersList usersGETLists the account's users (team members): contact jnid, first and last name, email, calendar color and whether each is active. Personal data.
Use JobNimbus from Claude Code, Cursor or Codex
Connect JobNimbus in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its JobNimbus operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect JobNimbus
- Create your workspace
Sign up free. Nothing to install.
- Connect JobNimbus once
Add your JobNimbus connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
JobNimbus integration FAQ
What can you do with the JobNimbus integration?
LiveContext exposes 25 operations on JobNimbus, covering contact, job, product and task.
