Help centre

Simpro in Agent Builder

Give an agent its own Simpro connection, read and change jobs, quotes, invoices and more with 147 actions, and start the agent from Simpro alerts.

Checked against the app on

On this page11 sections
  1. 1What the Simpro step does
  2. 2Add the step
  3. 3Connect the step
  4. 4Choose an action
  5. 5Start an agent from Simpro alerts
  6. 6Example agents
  7. 7Test before it goes live
  8. 8Costs
  9. 9Limits and good to know
  10. 10When it does not work
  11. 11Actions and endpoints

What the Simpro step does

The Simpro step lets an agent read and change records in your Simpro build as part of a run. It can list today's diary, fetch a job, add a note, raise a quote or record a payment. Each step does one thing, picked from 147 actions, and hands what Simpro sends back to the next step. The same connection also drives the Simpro webhook trigger, which starts an agent when something you have ticked changes in Simpro.

app.centrus.ai/app/agents/workflow-builder
Agents

Build modular AI workflows with reusable nodes

Today's diary
1,240 / 10,000 creditsValidateResetRunsSettingsUpdate & Publish

Weekdays at 16:00

Daily at 16:00 · Mon, Tue, Wed, Thu, Fri

Today's visits

List schedules · today

2

Write the briefing

GPT-5.6 Terra

Email the planners

1 action enabled

AI builderMap
  1. 1Simpro in the Integration group of the Nodes panel.
  2. 2The step on the canvas. Its summary shows the action, List schedules, and the date window today.
  3. 3Connection: the Simpro build this agent uses, shown by its address.
  4. 4Endpoint: the action the step performs, chosen from the full list.
  5. 5The action's fields. Here the diary is limited to today.

Centrus works alongside Simpro. Your jobs, quotes and finance records stay in Simpro, and the agent reads and updates them there through Simpro's API. To ask about Simpro records in a conversation rather than in an agent, see Simpro in chat. Connecting Simpro in chat does not connect it here. How the two connections differ is covered in Integrations overview.

Add the step

Open the agent in Agent Builder and find Simpro in the Integration group of the Nodes panel. It sits with the other job systems, after BigChange Web Services. Drag it onto the canvas and connect the step before it to its left-hand side. Until you choose an action, its summary on the canvas reads No endpoint selected.

Job finished

Job stage complete

Simpro

No endpoint selected

2
  1. 1Simpro in the Integration group. Drag it onto the canvas.
  2. 2The new step. It reads No endpoint selected until you choose an action in its Details panel.

On a phone, Agent Builder shows the canvas only. The Nodes panel is hidden on screens narrower than 768 pixels and the Details panel on screens narrower than 1,024 pixels, so you can follow an agent's steps on a phone but need a tablet or computer to add a Simpro step or change its settings.

09:41
Centrus
Agents

Build modular AI workflows with reusable nodes

Chase overdue invoices
Save and Publish

Weekdays at 16:00

Daily at 16:00 · Mon, Tue, Wed, Thu, Fri

Today's visits

List schedules · today

Write the briefing

GPT-5.6 Terra

Email the planners

1 action enabled

Connect the step

The Simpro connection belongs to this agent alone. It is separate from your Simpro connection in chat, so connecting one does not connect the other. One connection covers every Simpro step in the agent and its Simpro webhook trigger, so you only connect once per agent.

You need three values. Base URL is the address your team uses to open Simpro, such as https://meridianfm.simprosuite.com. It must start with https. Access token is the API key from Simpro's developer settings. Company ID is the company number Simpro uses in its API paths. Use 0 for a build with one company. On a build with several companies, use the ID of the company this agent should work in. The info icon on Company ID explains that 0 is a valid company number.

  1. 1Save the agent with Save draft. Until it has been saved once, the Connection section reads Save this workflow as a draft first, then connect the account. and Connect is greyed out.
  2. 2Select the Simpro step. In the Details panel, open Connection and click Connect.
  3. 3In the Connect Simpro window, enter the Base URL, Access token and Company ID, then click Connect.
  4. 4Connection now reads Connected, followed by the build address.
ConnectionNot connected

Not connected

Save this workflow as a draft first, then connect the account.

Connect
Before the first save
ConnectionNot connected

Not connected

Connect your Simpro account to use this node.

Connect
Saved, not connected
ConnectionConnected

Connected · https://meridianfm.simprosuite.com

Disconnect
Connected
The Connection section before the first save, once saved, and once connected. A connected account is shown by its Simpro build address.

Connect Simpro

Enter the Simpro REST API credentials for this account. Base URL is your Simpro tenant (for example https://yourcompany.simprosuite.com). The access token is the API key from Simpro's developer settings.

1
Copy from existing agent
Select an agent
2
Base URLhttps://yourcompany.simprosuite.com
Access tokenSimpro API key
Company ID0
3
Cancel
Connect4

Connect Simpro

Enter the Simpro REST API credentials for this account. Base URL is your Simpro tenant (for example https://yourcompany.simprosuite.com). The access token is the API key from Simpro's developer settings.

Copy from existing agent
Select an agent
Job completed note (https://meridianfm.simprosuite.com)
Today's diary (https://meridianfm.simprosuite.com)
5
Base URLhttps://yourcompany.simprosuite.com
Access tokenSimpro API key
Company ID0
CancelConnect
  1. 1Where the three values come from.
  2. 2Copy from existing agent, for reusing a connection you made on another agent.
  3. 3The three values. The access token is hidden as you type it. Company ID of 0 is valid for a single-company build.
  4. 4Connect checks the values with Simpro, then saves them on this agent.
  5. 5The agents you can copy from, each with its build address.

Centrus checks the address and the access token when you click Connect, by calling Simpro's company list. A wrong token or a build you cannot reach stops the save with Could not verify Simpro credentials. An address that is not https is refused before that check, with Simpro base URL must use https or Simpro base URL must be a valid https URL. After a successful connect, try the agent with a dry run, as described under Test before it goes live.

Reusing a connection. If you have already connected Simpro on another agent you created, choose that agent under Copy from existing agent. Centrus fills in the three fields from it, and you click Connect to save them on this agent. The list only shows agents you created that are not archived and have a Simpro connection, so an agent someone else shared with you never appears. When there are none, the box reads No other agents with this connection.

Sharing and copying the agent. When you share an agent, its Simpro connection stays with it, and everyone who runs it uses that connection rather than their own. When you duplicate an agent, the steps are copied but the connection is not, so connect Simpro again on the copy. Copy from existing agent makes that quick. For the details, see Share an agent.

Disconnecting. Disconnect removes the credentials from this agent only. Its Simpro steps and trigger stop working until someone connects it again, and other agents keep their own connections. The webhook secret, described under Start an agent from Simpro alerts, stays the same if you connect again.

Choose an action

Select the step and open Endpoint in the Details panel. Endpoint tool type holds all 147 actions in one list that starts with List companies, then the job and quote actions. The list has no search box and no headings, so the tables at the end of this guide are the quickest way to find the exact name you need.

Endpoint

Choose the Simpro action this step should run.

Endpoint tool type
Select an endpoint
List companies
List jobs
Get job
List quotes
Get quote
List job notes
Get job notes
Get job note
Create job
Update job

Select an endpoint to configure its inputs.

1
Endpoint

Choose the Simpro action this step should run.

Endpoint tool type
Get job

Fetch one Simpro job by ID, including full job detail.

2
Endpoint fields modeSet endpoint fields here
3
  1. 1Endpoint tool type, open. Scroll for the action you want.
  2. 2A line on what the chosen action does.
  3. 3Who fills in the fields. Keep Set endpoint fields here on a step in the main flow.

Keep Set endpoint fields here on a step in the agent's main flow. Let AI populate endpoint fields hides the fields so that an AI can fill them, but on a main-flow step nothing fills them in when the step runs. To have an AI choose the values, attach the step to an Intelligence step as a tool instead, as described below.

Each action then shows its own fields in a box titled with the action's name. Get job has two boxes to fill: Simpro job ID (required) and Simpro company ID. Leave Simpro company ID empty to use the company you connected. The label on a field is the first sentence of its help text, and the same help is repeated underneath, so some labels read like instructions. A field with no help text is labelled from its name, such as Job Id and Subject on Create job note.

To use a value from an earlier step, open Step data references at the top of the Details panel and click a field to copy its reference, then paste it into a text field. Text fields, such as Subject, Note and Date Window, keep what you paste. Number boxes do not. Simpro job ID (required), Job Id, Quote Id and the other ID boxes only keep a number, so a reference such as the job id from a Simpro alert is dropped as you type it.

Get job

Fetch one Simpro job by ID, including full job detail.

Simpro job ID (required) *12871
Simpro company ID0
1
Step data references1

Downstream nodes can read this step as {{ steps.integration-simpro-1791540900000-2.json.field }}

Paste references into subject, body, field paths, or expressions. Run the workflow once to see real field names in the Runs panel.

Earlier steps

Job finished

Trigger · trigger-simpro-1791540900000-1

IDbuildnameaction
reference
description

Run trigger

triggeredAt
2
Create job note

Create a note on a Simpro job.

Job Id12871
3
SubjectVisit finished at Riverside House
NoteBoiler serviced. No parts used.
  1. 1Get job. Both fields are number boxes, so they take a fixed ID, not a reference.
  2. 2Step data references. Click a field to copy its reference. reference is where a Simpro alert puts the record ids.
  3. 3Job Id on Create job note, another number box. Subject and Note are text, so they can hold a sentence or a reference.

That is why a Simpro alert is usually followed by an Intelligence step that has the Simpro step as a tool, rather than by a Get job step with the id typed in. The AI reads the alert and fills the number itself. The examples below are built that way.

What the step passes on. When the step runs, it passes on what Simpro returned as items for the next step. Get job passes on one item, the job. A list action such as List schedules passes on one item per record, so six bookings become six items. Later steps reach their fields through Step data references, and an AI step reads all of the items together. Simpro's own names are kept, such as ID, Date, Staff and Blocks on a schedule. To create or change one record for each item, the field you are filling has to be a text field that can hold a reference. Where the id is a number box, use the step as a tool, or the Ingest step described under Large lists. Loops are described in Conditions, loops and approvals.

As a tool for an AI step. Connect a Simpro step to the Tools side of an Intelligence step and its Details panel changes. Instead of one endpoint, Actions lets you choose several, with a search box, and the AI decides when to call each one and fills in the fields itself. The step's summary on the canvas lists up to three actions, such as Get job, Create job note. Wide lists, such as every job in the company, are meant to run on the main path or through Ingest. Their info icon says not to attach them as a tool.

Job finished

Job stage complete

Write the visit note

GPT-5.6 Terra

Job and note

Get job, Create job note

1
  1. 1The Simpro step attached to the Intelligence step as a tool.
  2. 2Actions: the Simpro actions the AI may call. The AI fills the job ID from the alert.
  3. 3Pause for approval: each call the AI makes waits for someone to approve it in the Runs panel.

Pause for approval appears on every Simpro step but only applies to calls an AI makes, so it has no effect on a step in the main flow. To ask someone before a main-flow step changes Simpro, put an Approval step in front of it.

Start an agent from Simpro alerts

The Simpro webhook trigger, in the Trigger group of the Nodes panel, starts the agent when Simpro reports a change you have ticked, such as a job reaching the complete stage. It uses the agent's Simpro connection, so if a Simpro step is already connected, the trigger is too. Setting up, testing and costs for every system are covered in Start an agent from a system alert. This section covers what is particular to Simpro.

Job finished

Job stage complete

Write the visit note

GPT-5.6 Terra

Job and note

Get job, Create job note

Email the office

1 action enabled

  1. 1Connection, shared with the agent's Simpro steps. It is closed here, and reads Connected.
  2. 2Event types: the events that start a run. Only Job stage complete is ticked. The line under each name is Simpro's event id.
  3. 3Set this up in Simpro: the steps to follow in Simpro, the callback address and the secret.
  4. 4Simulate webhook: runs the agent once with a sample alert. It does not call Simpro.

Every event it can listen for. There are 95 event types in 28 groups. Tick only the ones the agent needs, because each alert that matches starts a run and each run uses credits. The line under each name is the id Simpro uses, so you can match the ticks here to the events you select on the subscription.

Simpro event types
GroupEvents
Jobs (9)Job created, Job updated, Job deleted, Job status changed, Job stage pending, Job stage in progress, Job stage complete, Job stage invoiced, Job stage archived
Job notes (2)Job note created, Job note updated
Job schedules (3)Job schedule created, Job schedule updated, Job schedule deleted
Job assets (3)Job asset assigned, Job asset removed, Job asset tested
Job attachments (3)Job attachment created, Job attachment updated, Job attachment deleted
Quotes (4)Quote created, Quote updated, Quote deleted, Quote status changed
Quote schedules (3)Quote schedule created, Quote schedule updated, Quote schedule deleted
Quote assets (3)Quote asset assigned, Quote asset removed, Quote asset tested
Quote attachments (3)Quote attachment created, Quote attachment updated, Quote attachment deleted
Invoices (6)Invoice created, Invoice updated, Invoice deleted, Invoice status changed, Invoice stage approved, Invoice stage pending
Credits (6)Credit created, Credit updated, Credit deleted, Credit status changed, Credit stage approved, Credit stage pending
Payments (3)Payment created, Payment updated, Payment deleted
Recurring invoices (3)Recurring invoice created, Recurring invoice updated, Recurring invoice deleted
Leads (4)Lead created, Lead updated, Lead deleted, Lead status changed
Lead schedules (3)Lead schedule created, Lead schedule updated, Lead schedule deleted
Company customers (3)Company customer created, Company customer updated, Company customer deleted
Individual customers (3)Individual customer created, Individual customer updated, Individual customer deleted
Contacts (3)Contact created, Contact updated, Contact deleted
Sites (3)Site created, Site updated, Site deleted
Site attachments (3)Site attachment created, Site attachment updated, Site attachment deleted
Employees (3)Employee created, Employee updated, Employee deleted
Activity schedules (3)Activity schedule created, Activity schedule updated, Activity schedule deleted
Purchase orders (3)Purchase order created, Purchase order updated, Purchase order deleted
Purchase order receipts (3)Purchase order receipt created, Purchase order receipt updated, Purchase order receipt deleted
Contractor jobs (3)Contractor job created, Contractor job updated, Contractor job deleted
Assets (3)Asset created, Asset updated, Asset deleted
Asset types (3)Asset type created, Asset type updated, Asset type deleted
Stock allocations (1)Stock allocation deleted

Simpro has no separate event for an accepted quote. Tick Quote status changed and check the status in the agent.

Who sets it up, and where. Centrus does not create the subscription. Anyone who can edit the agent does the Centrus side. A Simpro administrator adds the subscription. If API is missing from the Setup menu, the person signed in is not an administrator. Set this up in Simpro lists the steps:

  1. 1Connect Simpro on the trigger and save the agent. Copy the Secret. It stays the same if you reconnect.
  2. 2In Simpro, sign in as an administrator. Open System, then Setup. Hover API near the bottom and choose Webhook Subscriptions.
  3. 3Choose Create Subscription. Enter a name. Email is optional. Simpro may send debug mail there.
  4. 4Paste the secret from this node into Secret, and the Callback URL into Callback URL. The address is https://api.centrus.ai/agent-builder-v2/webhooks/simpro.
  5. 5Select the same events as the ticks on this node. Set Status to Enabled. Save.
  6. 6Choose Test Subscription. Centrus accepts the test and does not start a run.

Unticking an event in Centrus does not stop Simpro sending it until you edit that subscription. A second Centrus agent on the same build needs its own subscription and its own secret. Centrus only matches alerts from the build address you entered when you connected, including a missing www or a host posted without https, so connect with the same address your team signs in to.

What the trigger hands on. Each alert becomes one item for the next step. It carries ID (the event, such as job.stage.complete), build, description, name, action, reference and date_triggered. It does not carry the job or the quote itself. reference holds the ids Simpro sends for that record. The simulate box's own example is a job id. The usual next step is an Intelligence step with Get job or Get quote as a tool, so the AI can pass that id. A Get step on the main path cannot hold the reference in its ID box, as described under Choose an action.

Simulating an alert. Once the agent is saved, Simulate webhook runs it once for the event type you choose and the Reference you paste, for example {"jobID":12871,"companyID":0}. The run does not call Simpro for the alert itself. Write actions the agent takes afterwards do change Simpro, and the run uses credits. Use the id of a real record so that a following Get, called by the AI, finds something. The button stays grey until Reference has something in it.

Example agents

Weekdays at 16:00

Daily at 16:00 · Mon, Tue, Wed, Thu, Fri

Today's visits

List schedules · today

Write the briefing

GPT-5.6 Terra

Email the planners

1 action enabled

Today's diary

Today's diary emails the planners a summary of today's bookings at 16:00 each weekday. Today's visits uses List schedules with Date Window set to today. The window is the diary date, not the date the job was raised. The step passes on one item per booking, with the staff member, the hours and the time blocks. Write the briefing reads them together and groups them by engineer, and Email the planners sends the result to Sarah Price. The list costs 1 credit however many bookings it returns.

Job finished

Job stage complete

Write the visit note

GPT-5.6 Terra

Job and note

Get job, Create job note

Email the office

1 action enabled

Job completed note

Job completed note writes a note on the job and emails the office when a job reaches the complete stage. Job finished is a Simpro webhook with Job stage complete ticked. Write the visit note has the Simpro step Job and note as a tool, with Get job and Create job note chosen. The AI reads the job id from the alert, fetches the job, and drafts a short note, for example that Dylan Hughes finished the boiler service at Riverside House for Northgate Housing. Pause for approval is on, so the note waits for someone to approve it in the Runs panel. Email the office then sends Sarah Price what was written.

Job finished

Job stage complete

Review the form

GPT-5.6 Terra

Job and form

Get job, Get job form, Create job note

Tell the service desk

1 action enabled

Form check

Form check looks at the form on a job an engineer has just completed. The trigger is the same Job stage complete event. Review the form has Get job, Get job form and Create job note as tools. The AI loads the job, reads the rendered form, and asks to put a note on the job when something needs the office, such as a failed test at Harbour View Apartments. Pause for approval is on for the note. Tell the service desk emails Priya Shah what was found. Simpro has no separate event for an accepted quote. For that, tick Quote status changed and have the AI read the quote and carry on only when the status is the one your business uses for accepted.

Test before it goes live

A dry run is the safe way to try a Simpro step. Open Runs in the toolbar, click Run now and choose Dry run (no actions performed). Read actions such as Get job and List schedules call Simpro for real, so you see real data. Write actions are skipped, and the step's summary says what it would have done, so nothing in Simpro changes. Run for real performs every action, including the writes.

Runs

Each run executes the workflow node-by-node. Select a run to follow its steps.

runs: 23 · credits consumed: 118.4Auto-refreshingRefreshRun now
SuccessDry run
9 Oct 2026, 15:4214s
Manual1 credit
1
Success
8 Oct 2026, 16:0016s
Schedule5.6 credits
Success
7 Oct 2026, 16:0015s
Schedule5.4 credits
SuccessDry run14s4 steps1 credit9 Oct 2026, 15:42
1Schedule Trigger10msSuccess

Triggered

2Simpro2.3sSuccess
Started: 9 Oct 2026, 15:42Took: 2.3sOutput: main ×6

Found 6 schedules

2

Step output

{
  "handles": { "main": 6 },
  "items": {
    "main": [
      {
        "ID": 88421,
        "Type": "job",
        "Reference": "12871",
        "Date": "2026-10-09",
        "TotalHours": 1.5,
        "Staff": { "ID": 214, "Name": "Dylan Hughes" },
        "Blocks": [{ "StartTime": "08:00", "EndTime": "09:30" }]
      }
    ]
  }
}
3
  1. 1The dry run, started with Run now.
  2. 2The step's summary: how many schedules it found.
  3. 3The output: the items the step passed on, as later steps receive them.

Open a step in the run to see its output. The panel shows the first 50 items of each output, and later steps still receive all of them. A dry run costs 1 credit for the whole run. A simulated Simpro alert is not a dry run, so test write actions with Run now first. For Run now, dry runs and the Runs panel in full, see Test an agent before it goes live.

Costs

A Simpro step costs 1 automation credit each time it runs successfully, whatever the action and however many records it returns. A step that fails costs nothing. When the step is a tool, each call the AI makes costs 1 credit. The Simpro webhook trigger is free, but every run it starts costs 1 credit, like any other run.

Today's diary

Every run

When the schedule starts it

1

Today's visits

Simpro, 6 schedules in one step

1

Write the briefing

Intelligence, measured

2 or more

Email the planners

Outlook

1

Each run

5 or more

A list costs the same whether it returns 6 schedules or 600. The schedule trigger itself is free.

Job completed note

Every run

When the alert starts it

1

Get job

Simpro, one call from the AI

1

Create job note

Simpro, one call from the AI

1

Write the visit note

Intelligence, measured

2 or more

Email the office

Outlook

1

Each run

6 or more

The Simpro webhook trigger itself is free. Alerts for event types you have not ticked never start a run.

Inside a Loop, the step is charged on every pass, so a Loop over 40 jobs that fetches each one costs 40 credits for that step. A single list action is usually cheaper than fetching records one at a time. A quote status alert starts a run for every status change, including the ones a later step ignores, and that run still pays the 1 credit run fee. For allowances, limits and how to see what each run cost, see Automation credits and usage limits.

Limits and good to know

List schedules

List Simpro schedules (lead, quote, job, activity). Prefer ingest + dataset Loop.

Date Windowtoday
Date FromYYYY-MM-DD
Date ToYYYY-MM-DD
Max Pages5
Page Size200
1
ConnectionConnected

This node always uses the agent's own connection, even though the workflow is set to per-user integration mode. Simpro doesn't support per-user credentials.

Connected · https://meridianfm.simprosuite.com

Disconnect
2
  1. 1List schedules. Date Window of today is the diary date. The page boxes show the defaults: 5 pages of 200.
  2. 2The note shown when the agent is in per-user integration mode.
  • 1,000 records by default. List actions fetch up to five pages of 200 records. Page size can be raised to 250. You can raise the page count for a small list, but a wide list should use the Ingest step, described under Large lists.
  • Two different dates. List jobs, List quotes and List invoices filter the date the record was raised. List schedules filters the diary date. The date windows you can type include today, this_week, this_month, last_7_days, last_30_days, next_7_days and in_7_days. There is no Tomorrow value. For a single day that is not today, set Date From and Date To to that day, as YYYY-MM-DD.
  • Company ID 0. On a single-company build, 0 is the right company. Leave the company field on an action empty to use the company you connected.
  • About 8 MB per read. A single read that returns more than about 8 MB fails. Narrow the filters, lower the page size, or use Ingest.
  • 60 seconds. Each call to Simpro waits up to 60 seconds. There is no automatic retry if Simpro is busy.
  • Per-user integration mode. Simpro only works with the agent's own connection. The Connection section says so, but in per-user mode the step fails with a message that the action is not supported in that mode. The Simpro webhook cannot use per-user credentials either. Keep agents that use Simpro on agent-level mode.
  • Number fields. ID boxes only take numbers, so they cannot hold a reference to an earlier step. See Choose an action.
  • Deletes. Delete job line item and Unschedule job remove the record in Simpro. Stock lines on a job cannot be deleted. There is no undo in Centrus.
  • Published agents only. Alerts only start runs once the agent is published. Simulate webhook and Run now work on drafts.

When it does not work

2Simpro180msFailed
Started: 9 Oct 2026, 09:15Took: 180ms

No output recorded.

Simpro is not connected to this agent

1
2Simpro210msFailed
Started: 9 Oct 2026, 09:15Took: 210ms

No output recorded.

Stored Simpro credentials are invalid. Please reconnect.

2
  1. 1The agent has no Simpro connection.
  2. 2The saved credentials can no longer be read.
  • Simpro is not connected to this agent. Open the step's Connection section and click Connect. If you have duplicated the agent, the copy needs its own connection.
  • Could not verify Simpro credentials. Simpro rejected the access token, or the build address did not answer, when you clicked Connect. Check the key in Simpro and the address your team signs in to, then try again.
  • Simpro base URL must use https. The address has to start with https. A host on its own, or an http address, is refused.
  • Simpro credentials are incomplete. Please reconnect. The connection was saved without a build address or an access token. Disconnect and connect again with all three values.
  • Stored Simpro credentials are invalid. Please reconnect. Centrus cannot read the saved access token. Disconnect, then connect again.
  • Simpro HTTP 401, or another Simpro HTTP error, naming the path. Simpro refused the call. 401 means the token is no longer accepted. 404 means the record or the path was not found. Check the ID in the step's fields.
  • A required ID is missing. The step ran without the job, quote or other ID the action needs. On a main-flow step, type the number. From an alert, use the step as a tool so the AI can fill it.
  • No action selected. The step has no action yet. Choose one under Endpoint tool type.
  • An alert never starts the agent. Check that the agent is published, the event type is ticked, the subscription in Simpro uses the same events, the same secret and the callback address, and that the build address on the connection matches the one your team signs in to. Test Subscription in Simpro does not start a run. Unticking an event in Centrus does not stop Simpro until you edit the subscription.
  • No other agents with this connection. None of the agents you created has a Simpro connection. Enter the three values by hand.
  • A field will not take a reference. It is a number box. Use a fixed number, or let an AI fill it by using the step as a tool.
  • A list stops after five pages. That is the default. Raise the page count only for a small list, or use Ingest for more.

Actions and endpoints

The Simpro step offers 147 actions: 88 read from Simpro and 59 change it. Every path below is added to the Base URL you connected, for example https://meridianfm.simprosuite.com. {companyId} is the company on the connection unless the action's company field is filled in. Where an action can call more than one path, the table gives the main one.

Companies
ActionWhat it doesReads or changesEndpoint
List companiesLists the companies on the connected build. Company ID 0 is valid.ReadsGET /api/v1.0/companies/
Jobs and scheduling
ActionWhat it doesReads or changesEndpoint
List jobsLists Simpro jobs for a company.ReadsGET /api/v1.0/companies/{companyId}/jobs/
Get jobFetches one Simpro job by ID, including full job detail.ReadsGET /api/v1.0/companies/{companyId}/jobs/{jobId}
List job notesLists job notes across a company.ReadsGET /api/v1.0/companies/{companyId}/notes/jobs/
Get job notesLists notes on one Simpro job.ReadsGET /api/v1.0/companies/{companyId}/jobs/{jobId}/notes/
Get job noteFetches one job note, including the date, the text and who can see it.ReadsGET /api/v1.0/companies/{companyId}/jobs/{jobId}/notes/{noteId}
Create jobCreates a Simpro job.ChangesPOST /api/v1.0/companies/{companyId}/jobs/
Update jobUpdates a Simpro job (stage, status, site, description, dates, technician).ChangesPATCH /api/v1.0/companies/{companyId}/jobs/{jobId}
Get job timelineLists timeline/audit entries on one Simpro job.ReadsGET /api/v1.0/companies/{companyId}/jobs/{jobId}/timelines/
Create job noteCreates a note on a Simpro job.ChangesPOST /api/v1.0/companies/{companyId}/jobs/{jobId}/notes/
Update job noteUpdates a Simpro job note.ChangesPATCH /api/v1.0/companies/{companyId}/jobs/{jobId}/notes/{noteId}
List job sectionsLists sections on one Simpro job.ReadsGET /api/v1.0/companies/{companyId}/jobs/{jobId}/sections/
Create job sectionCreates a section on a Simpro job.ChangesPOST /api/v1.0/companies/{companyId}/jobs/{jobId}/sections/
List job cost centresLists job cost centres across the company. The date window filters the date they were modified.ReadsGET /api/v1.0/companies/{companyId}/jobCostCenters/
List job line itemsLists line items on a job cost centre.ReadsGET /api/v1.0/companies/{companyId}/jobs/{jobId}/sections/{sectionId}/costCenters/{costCenterId}/{collection}/
Create job line itemAdds a catalogue, labour, one-off, prebuild, service fee or stock line to a job cost centre.ChangesPOST /api/v1.0/companies/{companyId}/jobs/{jobId}/sections/{sectionId}/costCenters/{costCenterId}/{kind}/
Update job line itemUpdates a job cost-centre line item.ChangesPATCH /api/v1.0/companies/{companyId}/jobs/{jobId}/sections/{sectionId}/costCenters/{costCenterId}/{kind}/{itemId}
Delete job line itemDeletes a job cost centre line. Stock lines cannot be deleted.ChangesDELETE /api/v1.0/companies/{companyId}/jobs/{jobId}/sections/{sectionId}/costCenters/{costCenterId}/{kind}/{itemId}
List job work ordersLists job work orders (job cards) across the company.ReadsGET /api/v1.0/companies/{companyId}/jobWorkOrders/
Get job work orderFetches one job work order (job card) by its ID.ReadsGET /api/v1.0/companies/{companyId}/jobWorkOrders/{workOrderId}
Create job work orderCreates a work order on a job cost centre.ChangesPOST /api/v1.0/companies/{companyId}/jobs/{jobId}/sections/{sectionId}/costCenters/{costCenterId}/workOrders/
Update job work orderUpdates a job cost-centre work order.ChangesPATCH /api/v1.0/companies/{companyId}/jobWorkOrders/{workOrderId}
List job form templatesLists form templates available on a Simpro job.ReadsGET /api/v1.0/companies/{companyId}/jobs/{jobId}/formTemplates/
Attach job formAttaches a form template to a job, as a PDF, CSV or document.ChangesPOST /api/v1.0/companies/{companyId}/jobs/{jobId}/attachForm/
Get job formFetches the rendered form for a job and a form template.ReadsGET /api/v1.0/companies/{companyId}/jobs/{jobId}/viewForm/{formTemplateId}
List recurring jobsLists Simpro recurring jobs.ReadsGET /api/v1.0/companies/{companyId}/recurringJobs/
Get recurring jobFetches one Simpro recurring job by ID.ReadsGET /api/v1.0/companies/{companyId}/recurringJobs/{recurringJobId}
Create recurring jobCreates a Simpro recurring job.ChangesPOST /api/v1.0/companies/{companyId}/recurringJobs/
Update recurring jobUpdates a Simpro recurring job.ChangesPATCH /api/v1.0/companies/{companyId}/recurringJobs/{recurringJobId}
Quotes
ActionWhat it doesReads or changesEndpoint
List quotesLists Simpro quotes for a company.ReadsGET /api/v1.0/companies/{companyId}/quotes/
Get quoteFetches one Simpro quote by ID, including full quote detail.ReadsGET /api/v1.0/companies/{companyId}/quotes/{quoteId}
Create quoteCreates a Simpro quote.ChangesPOST /api/v1.0/companies/{companyId}/quotes/
Update quoteChanges a quote, including its stage, status, site, description and dates.ChangesPATCH /api/v1.0/companies/{companyId}/quotes/{quoteId}
Get quote timelineLists timeline/audit entries on one Simpro quote.ReadsGET /api/v1.0/companies/{companyId}/quotes/{quoteId}/timelines/
List quote notesLists notes on one Simpro quote.ReadsGET /api/v1.0/companies/{companyId}/quotes/{quoteId}/notes/
Get quote noteFetches one Simpro quote note by quote ID and note ID, including Note body and Visibility.ReadsGET /api/v1.0/companies/{companyId}/quotes/{quoteId}/notes/{noteId}
Create quote noteCreates a note on a Simpro quote.ChangesPOST /api/v1.0/companies/{companyId}/quotes/{quoteId}/notes/
Update quote noteUpdates a Simpro quote note.ChangesPATCH /api/v1.0/companies/{companyId}/quotes/{quoteId}/notes/{noteId}
List quote line itemsLists line items on a quote cost centre.ReadsGET /api/v1.0/companies/{companyId}/quotes/{quoteId}/sections/{sectionId}/costCenters/{costCenterId}/{collection}/
Create quote line itemAdds a catalogue, labour, one-off, prebuild or service fee line to a quote cost centre.ChangesPOST /api/v1.0/companies/{companyId}/quotes/{quoteId}/sections/{sectionId}/costCenters/{costCenterId}/{kind}/
Update quote line itemUpdates a quote cost-centre line item.ChangesPATCH /api/v1.0/companies/{companyId}/quotes/{quoteId}/sections/{sectionId}/costCenters/{costCenterId}/{kind}/{itemId}
Delete quote line itemDeletes a quote cost-centre line item.ChangesDELETE /api/v1.0/companies/{companyId}/quotes/{quoteId}/sections/{sectionId}/costCenters/{costCenterId}/{kind}/{itemId}
Invoices, credits and payments
ActionWhat it doesReads or changesEndpoint
List invoicesLists Simpro invoices for a company.ReadsGET /api/v1.0/companies/{companyId}/invoices/
Get invoiceFetches one invoice, including its dates, stage and whether it is paid.ReadsGET /api/v1.0/companies/{companyId}/invoices/{invoiceId}
Create invoiceRaises a Simpro invoice from a job.ChangesPOST /api/v1.0/companies/{companyId}/invoices/
Update invoiceChanges an invoice, including its type, issue date, stage and payment terms.ChangesPATCH /api/v1.0/companies/{companyId}/invoices/{invoiceId}
Get invoice payment linkFetches payment link URL(s) for one Simpro invoice.ReadsGET /api/v1.0/companies/{companyId}/invoices/{invoiceId}/getInvoicePaymentLink/
List invoice notesLists notes on one Simpro invoice.ReadsGET /api/v1.0/companies/{companyId}/invoices/{invoiceId}/notes/
Create invoice noteAdds a note to an invoice, with an optional follow-up date and assignee.ChangesPOST /api/v1.0/companies/{companyId}/invoices/{invoiceId}/notes/
List credit notesLists Simpro credit notes for a company.ReadsGET /api/v1.0/companies/{companyId}/creditNotes/
Get credit noteFetches one Simpro credit note by ID.ReadsGET /api/v1.0/companies/{companyId}/creditNotes/{creditNoteId}
Create credit noteCreates a credit note on an invoice.ChangesPOST /api/v1.0/companies/{companyId}/invoices/{invoiceId}/creditNotes/
List customer paymentsLists Simpro customer payments.ReadsGET /api/v1.0/companies/{companyId}/customerPayments/
Get customer paymentFetches one Simpro customer payment by ID.ReadsGET /api/v1.0/companies/{companyId}/customerPayments/{paymentId}
Create customer paymentRecords a Simpro customer payment against invoice(s).ChangesPOST /api/v1.0/companies/{companyId}/customerPayments/
List recurring invoicesLists Simpro recurring invoices.ReadsGET /api/v1.0/companies/{companyId}/recurringInvoices/
Get recurring invoiceFetches one Simpro recurring invoice by ID.ReadsGET /api/v1.0/companies/{companyId}/recurringInvoices/{recurringInvoiceId}
Create recurring invoiceCreates a Simpro recurring invoice.ChangesPOST /api/v1.0/companies/{companyId}/recurringInvoices/
Purchase orders and vendors
ActionWhat it doesReads or changesEndpoint
List purchase ordersLists Simpro vendor orders (purchase orders) for a company.ReadsGET /api/v1.0/companies/{companyId}/vendorOrders/
Get purchase orderFetches one Simpro vendor order (purchase order) by ID.ReadsGET /api/v1.0/companies/{companyId}/vendorOrders/{vendorOrderId}
Create purchase orderCreates a Simpro vendor order (purchase order).ChangesPOST /api/v1.0/companies/{companyId}/vendorOrders/
Update purchase orderUpdates a Simpro vendor order.ChangesPATCH /api/v1.0/companies/{companyId}/vendorOrders/{vendorOrderId}
List purchase order line itemsLists catalogue items on one Simpro vendor order.ReadsGET /api/v1.0/companies/{companyId}/vendorOrders/{vendorOrderId}/catalogs/
Create purchase order line itemAdds a catalogue item to a Simpro vendor order.ChangesPOST /api/v1.0/companies/{companyId}/vendorOrders/{vendorOrderId}/catalogs/
Update purchase order line itemUpdates due date, notes, or price on a Simpro vendor order catalogue item.ChangesPATCH /api/v1.0/companies/{companyId}/vendorOrders/{vendorOrderId}/catalogs/{vendorOrderItemId}
List vendor receiptsLists vendor receipts for the company.ReadsGET /api/v1.0/companies/{companyId}/vendorReceipts/
Get vendor receiptFetches one Simpro vendor receipt nested on a vendor order.ReadsGET /api/v1.0/companies/{companyId}/vendorOrders/{vendorOrderId}/receipts/{vendorReceiptId}
Receive purchase orderCreates a Simpro vendor receipt on a vendor order.ChangesPOST /api/v1.0/companies/{companyId}/vendorOrders/{vendorOrderId}/receipts/
Update vendor receiptUpdates a Simpro vendor receipt nested on a vendor order.ChangesPATCH /api/v1.0/companies/{companyId}/vendorOrders/{vendorOrderId}/receipts/{vendorReceiptId}
Create vendor receipt creditCredit a Simpro vendor receipt.ChangesPOST /api/v1.0/companies/{companyId}/vendorOrders/{vendorOrderId}/receipts/{vendorReceiptId}/credits/
List vendor creditsLists vendor credits for the company.ReadsGET /api/v1.0/companies/{companyId}/vendorCredits/
Get vendor creditFetches one Simpro vendor credit by ID.ReadsGET /api/v1.0/companies/{companyId}/vendorCredits/{vendorCreditId}
List vendorsLists Simpro vendors.ReadsGET /api/v1.0/companies/{companyId}/vendors/
Get vendorFetches one Simpro vendor by ID.ReadsGET /api/v1.0/companies/{companyId}/vendors/{vendorId}
Create vendorCreates a Simpro vendor.ChangesPOST /api/v1.0/companies/{companyId}/vendors/
Update vendorUpdates a Simpro vendor.ChangesPATCH /api/v1.0/companies/{companyId}/vendors/{vendorId}
List vendor quotesLists Simpro vendor quotes.ReadsGET /api/v1.0/companies/{companyId}/vendorQuotes/
Get vendor quoteFetches one Simpro vendor quote by ID.ReadsGET /api/v1.0/companies/{companyId}/vendorQuotes/{vendorQuoteId}
Create vendor quoteCreates a Simpro vendor quote.ChangesPOST /api/v1.0/companies/{companyId}/vendorQuotes/
Customers, sites and contacts
ActionWhat it doesReads or changesEndpoint
List customersLists customers. Companies and individuals can also be listed on their own paths.ReadsGET /api/v1.0/companies/{companyId}/customers/
Get customerFetches one customer. Companies and individuals use different paths. This is the company path.ReadsGET /api/v1.0/companies/{companyId}/customers/companies/{customerId}
Create customerCreates a company customer. An individual uses the individuals path instead.ChangesPOST /api/v1.0/companies/{companyId}/customers/companies/
Update customerChanges a company customer. An individual uses the individuals path instead.ChangesPATCH /api/v1.0/companies/{companyId}/customers/companies/{customerId}
List customer notesLists customer notes for the company.ReadsGET /api/v1.0/companies/{companyId}/notes/customers/
Create customer noteCreates a note on a Simpro customer.ChangesPOST /api/v1.0/companies/{companyId}/customers/{customerId}/notes/
List sitesLists Simpro sites.ReadsGET /api/v1.0/companies/{companyId}/sites/
Get siteFetches one Simpro site by ID.ReadsGET /api/v1.0/companies/{companyId}/sites/{siteId}
Create siteCreates a Simpro site.ChangesPOST /api/v1.0/companies/{companyId}/sites/
Update siteUpdates a Simpro site.ChangesPATCH /api/v1.0/companies/{companyId}/sites/{siteId}
List site contactsLists contacts on one Simpro site.ReadsGET /api/v1.0/companies/{companyId}/sites/{siteId}/contacts/
Create site contactAdds a contact to a Simpro site.ChangesPOST /api/v1.0/companies/{companyId}/sites/{siteId}/contacts/
List contactsLists Simpro people contacts.ReadsGET /api/v1.0/companies/{companyId}/contacts/
Get contactFetches one Simpro contact by ID.ReadsGET /api/v1.0/companies/{companyId}/contacts/{contactId}
Create contactCreates a Simpro people contact.ChangesPOST /api/v1.0/companies/{companyId}/contacts/
Update contactUpdates a Simpro people contact.ChangesPATCH /api/v1.0/companies/{companyId}/contacts/{contactId}
List customer contractsLists customer contracts for the company.ReadsGET /api/v1.0/companies/{companyId}/customerContracts/
Get customer contractFetches one Simpro customer contract nested on a customer.ReadsGET /api/v1.0/companies/{companyId}/customers/{customerId}/contracts/{contractId}
Leads, people and the diary
ActionWhat it doesReads or changesEndpoint
Schedule jobCreates a cost-centre schedule.ChangesPOST /api/v1.0/companies/{companyId}/jobs/{jobId}/sections/{sectionId}/costCenters/{costCenterId}/schedules/
Unschedule jobRemoves a cost centre schedule.ChangesDELETE /api/v1.0/companies/{companyId}/jobs/{jobId}/sections/{sectionId}/costCenters/{costCenterId}/schedules/{scheduleId}
List leadsLists Simpro leads.ReadsGET /api/v1.0/companies/{companyId}/leads/
Get leadFetches one Simpro lead by ID.ReadsGET /api/v1.0/companies/{companyId}/leads/{leadId}
Create leadCreates a Simpro lead.ChangesPOST /api/v1.0/companies/{companyId}/leads/
Update leadUpdates a Simpro lead.ChangesPATCH /api/v1.0/companies/{companyId}/leads/{leadId}
List staffLists Simpro staff (employee, contractor, plant).ReadsGET /api/v1.0/companies/{companyId}/staff/
Get staffFetches one Simpro staff member by ID.ReadsGET /api/v1.0/companies/{companyId}/staff/{staffId}
List employeesLists Simpro employees.ReadsGET /api/v1.0/companies/{companyId}/employees/
Get employeeFetches one Simpro employee by ID.ReadsGET /api/v1.0/companies/{companyId}/employees/{employeeId}
List schedulesLists Simpro schedules (lead, quote, job, activity).ReadsGET /api/v1.0/companies/{companyId}/schedules/
Get scheduleFetches one Simpro schedule by ID.ReadsGET /api/v1.0/companies/{companyId}/schedules/{scheduleId}
Create activity scheduleCreates a non-job Simpro activity schedule (leave and similar).ChangesPOST /api/v1.0/companies/{companyId}/activitySchedules/
List employee timesheetsLists timesheets for one Simpro employee.ReadsGET /api/v1.0/companies/{companyId}/employees/{employeeId}/timesheets/
List tasksLists Simpro tasks.ReadsGET /api/v1.0/companies/{companyId}/tasks/
Get taskFetches one Simpro task by ID.ReadsGET /api/v1.0/companies/{companyId}/tasks/{taskId}
Create taskCreates a Simpro task.ChangesPOST /api/v1.0/companies/{companyId}/tasks/
Update taskUpdates a Simpro task.ChangesPATCH /api/v1.0/companies/{companyId}/tasks/{taskId}
Files and custom fields
ActionWhat it doesReads or changesEndpoint
List attachmentsLists Simpro attachments on a parent record.ReadsGET /api/v1.0/companies/{companyId}/{parent}/{parentId}/attachments/files/
Download attachmentDownload a Simpro attachment (GET ?display=Base64).ReadsGET /api/v1.0/companies/{companyId}/{parent}/{parentId}/attachments/files/{fileId}
Upload attachmentUpload a file to a Simpro parent.ChangesPOST /api/v1.0/companies/{companyId}/{parent}/{parentId}/attachments/files/
List custom fieldsLists custom field values on a Simpro parent.ReadsGET /api/v1.0/companies/{companyId}/{parent}/{parentId}/customFields/
Update custom fieldPatch a Simpro custom field value on a parent record.ChangesPATCH /api/v1.0/companies/{companyId}/{parent}/{parentId}/customFields/{customFieldId}
Catalogue and stock
ActionWhat it doesReads or changesEndpoint
List job stockLists stock allocated to a job cost centre.ReadsGET /api/v1.0/companies/{companyId}/jobs/{jobId}/sections/{sectionId}/costCenters/{costCenterId}/stock/
Create job stockAllocates stock to a job cost centre from a storage device.ChangesPOST /api/v1.0/companies/{companyId}/jobs/{jobId}/sections/{sectionId}/costCenters/{costCenterId}/stock/
List catalogue itemsLists Simpro catalogue items.ReadsGET /api/v1.0/companies/{companyId}/catalogs/
Get catalogue itemFetches one Simpro catalogue item by ID.ReadsGET /api/v1.0/companies/{companyId}/catalogs/{catalogId}
Create catalogue itemCreates a Simpro catalogue item.ChangesPOST /api/v1.0/companies/{companyId}/catalogs/
List prebuildsLists Simpro prebuilds.ReadsGET /api/v1.0/companies/{companyId}/prebuilds/
List storage devicesLists Simpro storage devices.ReadsGET /api/v1.0/companies/{companyId}/storageDevices/
List stockLists stock on one Simpro storage device.ReadsGET /api/v1.0/companies/{companyId}/storageDevices/{storageDeviceId}/stock/
Transfer stockTransfers stock between Simpro storage devices.ChangesPOST /api/v1.0/companies/{companyId}/stockTransfer/
List stock takesLists Simpro stock takes.ReadsGET /api/v1.0/companies/{companyId}/stockTakes/
List stock allocationsLists Simpro stock allocations.ReadsGET /api/v1.0/companies/{companyId}/stockAllocations/
Assets and test history
ActionWhat it doesReads or changesEndpoint
List customer assetsLists Simpro customer assets with sites.ReadsGET /api/v1.0/companies/{companyId}/customerAssets/
Get customer assetFetches one Simpro customer asset by ID.ReadsGET /api/v1.0/companies/{companyId}/customerAssets/{customerAssetId}
Create site assetCreates a Simpro asset on a site.ChangesPOST /api/v1.0/companies/{companyId}/sites/{siteId}/assets/
Update site assetUpdates a Simpro site asset.ChangesPATCH /api/v1.0/companies/{companyId}/sites/{siteId}/assets/{assetId}
List test historiesLists Simpro test histories.ReadsGET /api/v1.0/companies/{companyId}/testHistories/
Contractors
ActionWhat it doesReads or changesEndpoint
List contractor jobsLists Simpro contractor jobs.ReadsGET /api/v1.0/companies/{companyId}/contractorJobs/
Get contractor jobFetches one Simpro contractor job by ID.ReadsGET /api/v1.0/companies/{companyId}/contractorJobs/{contractorJobId}
List contractor invoicesLists Simpro contractor invoices.ReadsGET /api/v1.0/companies/{companyId}/contractorInvoices/
Create contractor invoiceCreates a Simpro contractor invoice.ChangesPOST /api/v1.0/companies/{companyId}/contractorInvoices/
Lookups
ActionWhat it doesReads or changesEndpoint
List cost centresLists Simpro setup cost centres.ReadsGET /api/v1.0/companies/{companyId}/setup/accounts/costCenters/
List response timesLists Simpro response-time catalogue (P1/P2).ReadsGET /api/v1.0/companies/{companyId}/setup/responseTimes/
List status codesLists status codes for jobs, purchase orders or customer invoices.ReadsGET /api/v1.0/companies/{companyId}/setup/statusCodes/{scope}/
List tax codesLists Simpro tax codes.ReadsGET /api/v1.0/companies/{companyId}/setup/accounts/taxCodes/
List payment methodsLists Simpro payment methods.ReadsGET /api/v1.0/companies/{companyId}/setup/accounts/paymentMethods/
List payment termsLists Simpro payment terms.ReadsGET /api/v1.0/companies/{companyId}/setup/accounts/paymentTerms/
Get cost to completeSimpro cost-to-complete report (operations or financial view).ReadsGET /api/v1.0/companies/{companyId}/reports/jobs/costToComplete/{view}/

More in Simpro