The WorkflowMAX MCP server lets an AI assistant read from and write to a WorkflowMAX organisation through a defined set of tools. Each connection is scoped to a single organisation and the authenticated user's permissions, so a tool call can only do what that user could do in the product.
This article lists every tool the server exposes, grouped by the WorkflowMAX area it supports. There are 26 tools in total.
Identity and reference data
Most write operations need a UUID rather than a name. These tools return the reference data needed to build a valid call.
Tool
What it does
Actions and key parameters
Example
whoami
Returns the identity of the currently authenticated user, including name, email address and the organisation the session is connected to.
No parameters. Useful for confirming which organisation you are working in before making any changes.
“Which WorkflowMAX organisation am I connected to, and as who?”
get_staff
Retrieves staff members and their OrganizationUser UUIDs, which are required for job and task assignment and for timesheet creation.
Search by partial name, email or exact UUID, or omit the query to list all staff. Filter by employment status (active or inactive).
“Find James Carter’s staff record so I can assign him to a job.”
get_job_lookups
Returns the reference lists needed when creating or updating a job.
type="statuses" returns job status UUIDs; type="categories" returns job category UUIDs. Categories can be filtered by active or deleted status.
“What job statuses and categories can I choose from when creating a job?”
get_custom_field_definitions
Lists the organisation’s custom field definitions for one entity, including each field’s UUID, type, whether it is mandatory, and any dropdown options.
Choose the entity: job, quote, client, supplier, lead, contact, purchase order, job task, job cost or timesheet. Mandatory fields must be supplied when creating that entity.
“What custom fields are mandatory when I create a new client?”
manage_org_task_catalogue
Manages the organisation’s task catalogue: the templates used to add tasks to jobs and quotes.
list, search, get, create, update. Create requires a name, base rate (cost) and billable rate (charged to the client). Create and update require task-admin privilege.
“Add ‘Site Survey’ to our task catalogue with a cost rate of £45/hour and a billable rate of £75/hour.”
manage_org_cost_catalogue
Manages the organisation’s cost catalogue, including tax rates and linked suppliers.
list, search, get, create, update. Create requires a description, unit cost and unit price. Filter by Service or Stock type. Create and update require cost-admin privilege.
“List our cost items and their unit prices in the cost catalogue.”
Clients, suppliers and contacts
Tool
What it does
Actions and key parameters
Example
manage_clients_and_suppliers
Lists, searches, fetches, creates and updates client and supplier records.
Set entity_type to client or supplier. Actions: list, search, get, create, update (update is supported for suppliers only). Sideloads on get and list: addresses, contacts, billing details and client groups for clients; contacts, notes and documents for suppliers.
“Pull up the contact details and billing address for Kelly & Co Architects.”
manage_clients_and_suppliers_contact
Manages the contacts attached to clients and suppliers.
list, search, get, create, update. Client contacts can be linked to one or more clients with a position per client, starred, or archived. Supplier contacts support a primary flag, which automatically demotes the previous primary contact.
“Add Max Payne as a new contact at Riverside Developments and make him the primary contact.”
manage_clients_and_suppliers_contact_address
Creates and updates addresses on client and supplier records.
Create or update only. Addresses are read back through the addresses sideload on manage_clients_and_suppliers.
“Update the billing address we hold for Riverside Developments to XYZ.”
Leads
Tool
What it does
Actions and key parameters
Example
manage_leads
Retrieves, creates and updates CRM leads
list, get, create, update. Create requires a name, client UUID, lead date and estimated value. Update can move a lead through the pipeline using a macro status (active, won, lost) or a specific pipeline stage UUID. Sideloads: quotes, custom fields, notes.
“Create a lead for XYZ Corp worth an estimated 12,000, and move it to Awaiting Decision.”
Quotes and estimates
Quotes follow a state machine. Line items can only be added or changed while the quote is in Draft.
Tool
What it does
Actions and key parameters
Example
manage_quotes
Lists, searches, fetches, creates and updates quotes and estimates, including the full financial summary and live calculation for a single quote.
list, search, get, create, update. Create requires a name, client UUID, quote date and expiry date, and opens the quote in Draft. Pass a job UUID to link the quote to an existing job. Filter lists by state, client or job.
“Show me all quotes we’ve sent to XYZ Corp that haven’t been accepted yet.”
manage_quote_task
Manages the task (labour) line items on a quote.
list, get, add, update. Add and update require the quote to be in Draft. Estimated minutes drive the cost and revenue calculation. Per-staff time can be allocated, which recalculates the line from the organisation’s rate hierarchy.
“Add 20 hours of design time to the draft quote for the Riverside extension.”
manage_quote_cost
Manages the cost and expense line items on a quote.
list, get, add, update. Add and update require the quote to be in Draft. Lines can be linked to a catalogue cost or a supplier, and marked optional or non-billable.
“Add a 500 structural survey cost to this quote and mark it optional.”
issue_quote
Moves a Draft quote to Issued so it can be sent to the client.
Only quotes currently in Draft can be issued.
“This quote’s ready. Issue it so I can send it to the client.”
accept_quote
Accepts a quote that is Issued, Sent or Expired.
If the quote is not already linked to a job, a new job is created and all non-optional tasks and costs are copied into it. The new job’s name, dates, category and status can be set on the call.
“The client’s accepted quote Q-0045. Create the job and set it to start Monday.”
Jobs
Tool
What it does
Actions and key parameters
Example
manage_jobs
Lists, searches, fetches, creates and updates jobs.
list, search, get, create, update. Create requires a job name, client UUID, start date, due date, priority and status UUID. On get, sideload tasks, costs, staff, phases and milestones; custom field values are always returned. Search matches partial job names and job numbers.
“Show me all jobs currently In Progress for West Ham United.”
manage_job_task
Manages the tasks on a job.
list, add, update, delete. Tasks are added from the organisation task catalogue. Delete is blocked if the task is complete, has timesheets against it, or is linked to an invoice.
“Add the ‘Planning Application’ task to this job from our catalogue.”
manage_job_cost
Manages actual and estimated costs on a job.
list, add, update, delete. Costs can come from the catalogue or be ad hoc. Delete is blocked if the cost is WIP-locked or written off, and requires full job-cost privilege.
“Log an ad hoc cost of 250 for printing on JOB0092.”
assign_staff
Assigns staff to a job or to a specific job task.
Job assignment is additive and preserves existing assignments. Task assignment accepts allocated minutes per staff member; in staff time-allocation mode the total must match the task estimate.
“Assign David to this job and give him 6 hours on the site survey task.”
add_job_note
Adds a note to a job, optionally pinned to a specific task within that job.
Requires a job UUID, a short title and the note content.
“Add a note to this job saying the client wants the drawings revised by Friday.”
get_job_financials
Returns the job financials summary: linked invoices, accepted quotes and purchase orders with their amounts and statuses.
Optionally scope each section to a date range, using either explicit dates or a relative period such as this month or last 30 days.
“What’s the financial summary for this job over the last 30 days (invoices, quotes and POs)?”
Time
Tool
What it does
Actions and key parameters
Example
manage_timesheets
Lists and creates timesheet entries.
list, create. Filter by job, job task, staff member, entry date range, creation date range or last-updated date. Create logs time against a job task using either a duration in minutes or a start and end time. WIP amounts are only returned to users with WIP access.
“Log 2.5 hours for me against the site survey task on the GP Surgery job.”
Invoicing and Purchase Orders
Tool
What it does
Actions and key parameters
Example
create_job_invoice
Creates a draft invoice for a job, covering all five invoice types available on the job financials page.
Types: actual time and costs, quoted or estimated amounts, a percentage of the quoted value, a fixed progress amount or deposit, and a final invoice. The invoice is created as a Draft and must be approved separately.
“Create a draft invoice for 50% of the quoted value on this job.”
approve_invoice
Approves a draft invoice, locking its amounts and making it ready for payment.
An invoice number can be supplied; otherwise the next number in the organisation’s sequence is used.
“Approve this draft invoice and give it the next invoice number.”
get_invoices
Retrieves invoices, either as a filtered list or as a single invoice with its totals (net, tax, gross, paid and owing) and workflow state.
Search by invoice number or UUID. Filter lists by status (approved, draft, cancelled), client, creation date range or last-updated date.
“Show me all approved invoices for West Construction this month, and how much is still owing.”
get_purchase_order
Retrieves purchase orders, with optional audit history and receipts (bills and stock receipts).
Read-only. Search by PO number or supplier name, or filter by status, supplier, job and supplier due date range.
“Pull up the purchase order for Greys Timber, for JOB0987.”
Limits and things to know
Everything is scoped to the connected organisation and to the authenticated user’s permissions. Some tools additionally require task-admin, cost-admin, job-cost or WIP privileges.
Deletion is available only for job tasks and job costs, and both are blocked once the record has been invoiced or locked. Jobs, clients, quotes and invoices cannot be deleted through the server.
Quote line items can only be added or edited while the quote is in Draft.
Where an entity has mandatory custom fields, those values must be supplied when the record is created. Use get_custom_field_definitions to find the field UUIDs first.
Changing a billable rate in the task catalogue retroactively updates un-invoiced ledger entries.
List and search results are paginated, with a maximum of 50 records per page.
Purchase orders are read-only: they can be retrieved but not created or amended.
There are no reporting or analytics tools, no access to documents or attachments, and no ability to record payments.
Tool set as at September 2026. Available tools may change between releases.