Joblogic in Agent Builder
Give an agent its own Joblogic connection, read and change jobs, quotes, visits and more with 82 actions, and start the agent from Joblogic alerts.
Checked against the app on
What the JobLogic step does
The JobLogic step lets an agent read and change records in your Joblogic account as part of a run. It can list tomorrow's jobs, fetch a quote, add a note, book a visit or raise a purchase order. Each step does one thing, picked from 82 actions, and hands what Joblogic sends back to the next step. The same connection also drives the JobLogic webhook trigger, which starts an agent when Joblogic reports a change you have ticked, such as a job being logged.
Build modular AI workflows with reusable nodes
Weekdays at 16:00
Daily at 16:00 · Mon, Tue, Wed, Thu, Fri
Tomorrow's jobs
List jobs · tomorrow
Write the briefing
GPT-5.6 Terra
Email the planners
1 action enabled
- 1JobLogic in the Integration group of the Nodes panel.
- 2The step on the canvas. Its summary shows List jobs and the date window, tomorrow.
- 3Connection: the Joblogic account this agent uses, shown by its tenant ID.
- 4Endpoint: the action the step performs, chosen from the full list.
- 5The action's fields. Date Window is tomorrow and Date Field is appointment, so the list is tomorrow's booked jobs.
Centrus works alongside Joblogic. Jobs, quotes, customers, sites and visits stay in Joblogic, and the agent reads and updates them there through Joblogic's API. To ask about Joblogic records in a conversation rather than in an agent, see Joblogic in chat. Connecting Joblogic 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 JobLogic in the Integration group of the Nodes panel, directly under Simpro. 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.
Weekdays at 16:00
Daily at 16:00 · Mon, Tue, Wed, Thu, Fri
JobLogic
No endpoint selected
- 1JobLogic in the Integration group. Drag it onto the canvas.
- 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 JobLogic step or change its settings.

Build modular AI workflows with reusable nodes
Weekdays at 16:00
Daily at 16:00 · Mon, Tue, Wed, Thu, Fri
Tomorrow's jobs
List jobs · tomorrow
Write the briefing
GPT-5.6 Terra
Email the planners
1 action enabled
Connect the step
The Joblogic connection belongs to this agent alone. It is separate from your Joblogic connection in chat, so connecting one does not connect the other. One connection covers every JobLogic step in the agent and its JobLogic webhook trigger, so you only connect once per agent.
You need three values from Joblogic: a Client ID, a Client secret and a Tenant ID. The connect window says they come from Joblogic's API and identity settings, and that the tenant ID is a GUID. The tenant ID field's tip reads JobLogic tenant GUID from identity / API settings. Required. If you cannot see those settings, ask your Joblogic administrator.
- 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.
- 2Select the JobLogic step. In the Details panel, open Connection and click Connect.
- 3In the Connect JobLogic window, enter the Client ID, Client secret and Tenant ID, then click Connect.
- 4Centrus asks Joblogic for a token and then lists a few jobs. If Joblogic accepts the values, Connection reads Connected, followed by the tenant ID.
Not connected
Save this workflow as a draft first, then connect the account.
Not connected
Connect your JobLogic account to use this node.
Connected · 7c4e9a12-3b6d-4f80-9a21-6d8e1f0c4b77
DisconnectConnect JobLogic
Enter the JobLogic API credentials for this account. Client ID, client secret, and tenant ID come from JobLogic's API / identity settings. Tenant ID is a GUID. These are stored against this automation only.
1Connect JobLogic
Enter the JobLogic API credentials for this account. Client ID, client secret, and tenant ID come from JobLogic's API / identity settings. Tenant ID is a GUID. These are stored against this automation only.
- 1Where the three values come from, and that they are stored on this agent only.
- 2Copy from existing agent, for reusing a connection you made on another agent.
- 3The three values from Joblogic. The secret is hidden as you type it.
- 4Connect checks the values with Joblogic, then saves them on this agent.
- 5The agents you can copy from, each with its tenant ID.
Centrus checks the three values when you click Connect. If a field is empty, the tenant ID is not a GUID, or Joblogic rejects the secret, nothing is saved and the window stays open with Could not verify JobLogic credentials. The same message covers every failure, so check all three values. Try the agent with a dry run straight after a successful connect, as described under Test before it goes live.
Reusing a connection. If you have already connected Joblogic 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 Joblogic 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 Joblogic 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 Joblogic 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 JobLogic steps and trigger stop working until someone connects it again, and other agents keep their own connections.
Choose an action
Select the step and open Endpoint in the Details panel. The section's own line reads Choose the JobLogic action this step should run. Endpoint tool type holds all 82 actions in one list that starts with List jobs. The list has no search box and no headings, so the tables at the end of this article are the quickest way to find the exact name you need.
Choose the JobLogic action this step should run.
Select an endpoint to configure its inputs.
Choose the JobLogic action this step should run.
List JobLogic jobs. Wide lists use data.ingest. Jobs booked or scheduled for a day use dateField appointment (AppointmentDate). dateField logged is when the job was created. search_visits is the engineer planner, not this list.
2- 1Endpoint tool type, open. Scroll for the action you want.
- 2A line on what the chosen action does. For List jobs it uses Joblogic's own field names.
- 3Who fills in the fields. Keep Set endpoint fields here.
Keep Set endpoint fields here. Let AI populate endpoint fields hides the fields so that an AI can fill them, but on a step in the agent's main flow nothing fills them in when the step runs. To have an AI choose the values, attach the step to an AI step as a tool instead, as described below.
Only list actions and Search planner visits then show a field box. The box is titled with the action's name, and it starts collapsed: open it to see the fields. Every one of those actions shows the same eleven fields, whether or not the action uses them: Customer Id, Site Id, Keyword, Status Id, Date From, Date To, Date Window, Date Field, Job Id, Max Pages and Page Size. Customer Id, Site Id, Job Id, Max Pages and Page Size are number fields. The others are text.
Get job, Create job, Create note and the other single-record actions show no field box at all. There is nowhere on the step to type a job ID or paste a reference. On the main flow those actions run with no inputs, and Joblogic then rejects them, for example with jobId is required. Use them as tools on an Intelligence step, so the AI supplies the ID when it calls the action.
List JobLogic jobs. Wide lists use data.ingest. Jobs booked or scheduled for a day use dateField appointment (AppointmentDate). dateField logged is when the job was created. search_visits is the engineer planner, not this list.
Choose the JobLogic action this step should run.
Get one job by numeric Id.
Downstream nodes can read this step as {{ steps.integration-joblogic-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
New job logged
Trigger · trigger-joblogic-1791540900000-1
Run trigger
triggeredAt- 1Date Window, a text field. tomorrow with Date Field set to appointment lists jobs by their appointment date.
- 2Job Id, a number field. A reference from an earlier step cannot be pasted into it.
- 3Get job. The action is chosen, and the step shows no fields for it.
- 4Step data references. Click a field to copy its reference into a text field.
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 such as Keyword, Date Window or Date Field. A number field turns a pasted reference into a number and loses it. List visits needs a job ID, and that ID is the number field Job Id, so a visit list on the main flow can only use a job ID you type in.
What the step passes on. When a list runs, it passes on one item per record, so six jobs become six items. The summary in the Runs panel reads Found 6 JobLogic rows. Later steps reach their fields through Step data references, and an AI step reads all of the items together. Joblogic's own names are kept, such as Id, JobNumber and DateLogged. A single-record action that is a tool passes back whatever Joblogic returned for that call.
As a tool for an AI step. Connect a JobLogic 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 values itself. The step's summary on the canvas lists up to three actions, then shows the first one and a count when there are more.
Visit updated
Visit Updated
Review the visit
GPT-5.6 Terra
Notes and status
Create note, List notes, Update job status
- 1The JobLogic step attached to the Intelligence step as a tool.
- 2Actions: the Joblogic actions the AI may call.
- 3Pause for approval: each call the AI makes waits for someone to approve it in the Runs panel.
Pause for approval appears on every JobLogic 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 Joblogic, put an Approval step in front of it. Deletes are not undone by Joblogic, so leave Delete job, Delete visit and the other delete actions off a tool unless someone is approving them.
Start an agent from Joblogic alerts
The JobLogic webhook trigger, in the Trigger group of the Nodes panel, starts the agent when Joblogic reports a change you have ticked, such as a job being created. It uses the agent's Joblogic connection, so if a JobLogic step is already connected, the trigger is too. A connected trigger adds the line Events match this tenant id. 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 Joblogic.
New job logged
Job Created
Write the alert
GPT-5.6 Terra
Email the planner
1 action enabled
- 1Connection, shared with the agent's JobLogic steps. Events are matched on this tenant ID.
- 2Event types: the events that start a run. Only Job Created is ticked. The list has no introduction line.
- 3Set this up with Joblogic support: Joblogic support adds the address. You cannot do it in Joblogic yourself.
- 4Simulate webhook: runs the agent once with a sample alert. Data (optional) is a JSON object.
Every event it can listen for. There are 176 event types in 61 groups. The canvas summary joins the group and the event, as in Job Created. Tick only the ones the agent needs, because each alert that matches starts a run and each run uses credits. Most groups offer Created, Updated and Deleted.
| Area | Groups |
|---|---|
| Jobs and visits | Visit; Job Note; Visit Note |
| Quotes | Quote; Quote Material Line; Quote Labour Line; Quote Travel Line; Quote Expense Line; Quote Subcontractor Line; Quote Callout Line; Quote Schedule Of Rates Line; Quote Other Line |
| Invoices and credits | Invoice; Invoice Line; CGroup Invoice; CGroup Invoice Line; Credit; Credit Line; CGroup Credit; CGroup Credit Line; PPM Invoice Header; PPM Invoice; PPM Invoice Credit |
| Purchase orders | Purchase Order; Purchase Order Line; Subcontractor Purchase Order; Subcontractor Purchase Order Line; Purchase Order Supplier Invoice; Subcontractor Purchase Order Invoice; Purchase Order Supplier Credit; Subcontractor Purchase Order Credit |
| Customers, sites and assets | Customer; Site; Site Asset; Job Asset; Part |
| People and contacts | Customer Contact; Site Contact; Supplier Contact; Subcontractor Contact; Subcontractor; Supplier; Subcontractor Job Allocation |
| Setup | PPM Contract; Supplier Note; Selling Rate; Job Type; Pay Band; Job Category; Non-Productive Time Type; Tag; Asset Class; Engineer Pay Band |
53 groups. Each sends Created, Updated and Deleted.
| Group | Events |
|---|---|
| Job | Created, Updated, Deleted, Status Updated |
| Job Note Attachment | Created, Deleted |
| Visit Note Attachment | Created, Deleted |
| Supplier Note Attachment | Created, Deleted |
| Tag Level | Created, Deleted |
| Visit Part | Added, Updated, Deleted |
| Job Stock | Returned |
| Forms Logbook | Created |
8 groups. Together with the 53 groups above, that is 176 events.
Who sets it up, and where. You cannot add the webhook in Joblogic, and Centrus cannot create it through the API. Joblogic support configures it for the account. The Centrus side is done by anyone who can edit the agent. Set this up with Joblogic support says:
- 1Connect Joblogic on this agent and save it. Copy the endpoint URL. Every organisation uses the same address, and Centrus matches the tenant ID on this agent's connection.
- 2Ask Joblogic support to add that address for your account. Give them the categories you need, such as Job and Visit, and ask them to enable only those.
- 3Each category they enable sends created, updated and deleted events. The agent runs only for the events ticked on the trigger, so leave the others unticked.
- 4Publish the agent. Alerts do not start runs while it is still a draft.
What the trigger hands on. Each alert becomes one item for the next step. It includes eventKey (such as job.created), eventType (Joblogic's number for that event), tenantId, eventId, triggeredAt, and a data object with the record Joblogic sent. Job events already carry the job, so many agents need no Get job after them. Do not follow a job event with Get job using the id inside data: that id is not a reliable job id. Visit, invoice, quote, site and asset events can be followed by the matching Get action, using {{ trigger.json.data.id }}. A job asset event uses {{ trigger.json.data.uniqueid }} with Get job asset.
Simulating an alert. Once the agent is saved, Simulate webhook runs it once for the event type you pick. Data (optional) is a JSON object, for example {"id":1126891}, so a following Get visit can find a real record. Leave it empty and data is an empty object. There is no introduction above the fields. A simulated alert is a real run rather than a dry run: write actions change Joblogic, and the run uses credits. If the agent has not been saved, Centrus says Save this workflow before simulating a JobLogic webhook. If Data is not a JSON object, it says Data must be a JSON object.
Example agents
Weekdays at 16:00
Daily at 16:00 · Mon, Tue, Wed, Thu, Fri
Tomorrow's jobs
List jobs · tomorrow
Write the briefing
GPT-5.6 Terra
Email the planners
1 action enabled
Tomorrow's jobs briefing sends the planners a summary of the next day's booked work at 16:00 each weekday. Tomorrow's jobs uses List jobs with Date Window set to tomorrow and Date Field set to appointment, so Joblogic filters on the appointment date rather than the date the job was logged. The step passes on one item per job. Write the briefing reads them together and groups them by engineer, and Email the planners sends the result from the agent's Outlook connection. The list costs 1 credit however many jobs it returns, up to the page limit below.
New job logged
Job Created
Write the alert
GPT-5.6 Terra
Email the planner
1 action enabled
New job to the planner emails the planner when the office logs a job. New job logged is a JobLogic webhook with Job Created ticked. There is no Get job step: the job's details arrive on the alert, and the id on a job alert is not a reliable way to fetch the job. Write the alert turns data into a short note, for example a new job at Riverside House for Northgate Housing, no hot water in flat 12. Email the planner sends it to Sarah Price.
Visit updated
Visit Updated
Review the visit
GPT-5.6 Terra
Notes and status
Create note, List notes, Update job status
Tell the service desk
1 action enabled
Note on the visit writes back when an engineer's visit changes. The trigger listens for Visit Updated. Review the visit has the JobLogic step Notes and status as a tool, with List notes, Create note and Update job status chosen. The AI reads the visit from the alert, looks at the notes and asks to add one or to change the job's status. Pause for approval is on, so each change waits in the Runs panel. Tell the service desk then emails what was done. Create note has no update and no delete, so a note written here stays in Joblogic.
Test before it goes live
A dry run is the safe way to try a JobLogic step. Open Runs in the toolbar, click Run now and choose Dry run (no actions performed). Read actions such as List jobs and Get job call Joblogic for real, so you see real data. Write actions are skipped, so nothing in Joblogic 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.
Triggered
Found 6 JobLogic rows
2Step output
{
"handles": { "main": 6 },
"items": {
"main": [
{
"Id": 1126891,
"JobNumber": "10482",
"DateLogged": "2026-10-09T08:14:00",
"AppointmentDate": "2026-10-10T08:00:00"
}
]
}
}- 1The dry run, started with Run now.
- 2The step's summary: how many records it found.
- 3The output: the items the step passed on, with Joblogic's own field names.
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 Joblogic 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 JobLogic 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 JobLogic webhook trigger is free, but every run it starts costs 1 credit, like any other run.
New job to the planner
Every run
When the alert starts it
Write the alert
Intelligence, measured
Email the planner
Outlook
Each run
4 or more
The JobLogic webhook trigger itself is free. Alerts for event types you have not ticked never start a run.
Tomorrow's jobs briefing
Every run
When the schedule starts it
Tomorrow's jobs
JobLogic, 6 jobs in one step
Write the briefing
Intelligence, measured
Email the planners
Outlook
Each run
5 or more
A list costs the same whether it returns 6 jobs or 250. Inside a Loop, a step is charged each time it runs.
Inside a Loop, the step is charged on every pass. A single list action is usually cheaper than fetching records one at a time, and a Joblogic list on the main flow cannot take a different job ID on each pass, because Job Id is a number field. For allowances, limits and how to see what each run cost, see Automation credits and usage limits.
Limits and good to know
This node always uses the agent's own connection, even though the workflow is set to per-user integration mode. JobLogic doesn't support per-user credentials.
Connected · 7c4e9a12-3b6d-4f80-9a21-6d8e1f0c4b77
Disconnect- 1List jobs with a date window, a date field, and the default page size and page count.
- 2The note shown when the agent is in per-user integration mode.
- 250 records unless you raise the pages. A list uses up to 5 pages of 50 records, which is 250. Page Size is kept between 5 and 50. Max Pages can be raised, up to 1,000 pages. For a long list of jobs, quotes, customers, sites, purchase orders, invoices or assets, use the Ingest step, described under Large lists. Engineers, visits, notes, job types, categories, priorities and forms are not Ingest sources.
- Dates are not filled in for you. With no Date Window, Date From or Date To, List jobs is not limited to today. To list jobs booked for a day, set Date Field to appointment and set a window or a pair of dates. Leave Date Field empty, or set it to logged, to filter the date the job was created. Search planner visits is the engineer planner, and it refuses to run until it has a date window or a start and end date.
- Some lists are shorter. List visits needs a Job Id and lists that job only. List notes returns one page unless you raise Max Pages, and it can be limited to a job. List job types, List job categories and List priorities return one page. List engineer teams returns one page unless you raise it. List staff is a single search, not pages. List forms logbook stops after 5 pages and returns form summaries, not the answers. Search planner visits is one call with no pages, so a wide window can exceed the size limit below.
- About 8 MB per read. A single read that returns more than about 8 MB fails. Narrow the dates or use Ingest. Writes are not blocked by that limit.
- Busy periods. If Joblogic says it is receiving too many requests, Centrus waits and tries again, after half a second, then one second, then two seconds, before the step fails.
- Deletes stay deleted. Delete job, Delete quote, Delete customer, Delete site, Delete contact, Delete purchase order, Delete invoice, Delete asset, Delete visit and the other delete actions are not undone. There is no confirm on the step itself.
- Creates that are easy to misread. Create invoice creates an approved invoice for a job, not a draft. Create quote does not add priced lines. Get jobsheet, Get quotesheet, Get invoice document, Download form and Get attachment return an address for the file. They do not download it onto the agent. Create note has no update and no delete. Get form data returns the form answers as one block of text.
- Per-user integration mode. JobLogic only works with the agent's own connection. The Connection section says the step uses it even in per-user mode, but in per-user mode the step fails because Joblogic has no per-user connection. Keep agents that use Joblogic on agent-level mode.
- Number fields and missing fields. The five number fields cannot hold a reference. Single-record actions show no fields, so they belong on an Intelligence step as tools. See Choose an action.
- 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
No output recorded.
JobLogic is not connected to this agent
No output recorded.
Stored JobLogic credentials are invalid. Please reconnect.
- 1The agent has no Joblogic connection.
- 2The saved credentials can no longer be read.
- JobLogic 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 JobLogic credentials. Joblogic rejected the connect, a field was empty, or the tenant ID is not a GUID. Check all three values in Joblogic's API and identity settings, then try Connect again.
- Stored JobLogic credentials are invalid. Please reconnect. Centrus cannot read the saved secret. Disconnect, then connect again.
- JobLogic credentials are incomplete. Please reconnect. The saved connection is missing the client ID, the secret or the tenant ID. Disconnect and connect again with all three.
- jobId is required, or a similar message naming quoteId, siteId, invoiceId or uniqueId. The action ran with no ID. Single-record actions have no fields on the step. Attach the step to an Intelligence step as a tool, or, for a list, type the number into Job Id.
- Search visits needs a date window, or a start date and an end date. Search planner visits will not run on an open-ended search. Set Date Window, or Date From and Date To.
- JobLogic GET /api/v1/Job/GetById failed (404), or the same shape with another method, path and status. Joblogic refused that call. A 401 means the token was rejected: disconnect and connect again. A 404 means the record was not found. Check the ID, and do not use the id from a job alert as a job ID.
- 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 is ticked, and the tenant ID on the connection is the account Joblogic support set up. Support enables a whole category, so created, updated and deleted can all arrive: the agent still runs only for the ones you ticked.
- No other agents with this connection. None of the agents you created has a Joblogic connection. Enter the three values by hand.
- A field will not take a reference. It is a number field, or the action has no fields. Use a text field, type a fixed number, or let an AI fill the value by using the step as a tool.
- A list stops at 250 records. That is 5 pages of 50. Raise Max Pages, or use Ingest for jobs, quotes, customers, sites, purchase orders, invoices and assets.
Actions and endpoints
The JobLogic step offers 82 actions: 40 read from Joblogic and 42 change it. Every endpoint below is on https:/. Lists are sent as POST even when the path says GetAll. Where an action is listed with the same endpoint as another, it calls that endpoint with a different method.
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| List jobs | Lists jobs. With Date Field set to appointment, the dates filter the appointment. Otherwise they filter the date the job was logged. | Reads | POST / |
| Get job | Fetches one job by its numeric Id, not the job number. | Reads | GET / |
| Create job | Creates a job. Customer and site can be passed as numeric ids and are resolved to Joblogic's own ids. | Changes | POST / |
| Update job | Changes a job. | Changes | PUT / |
| Delete job | Deletes a job. This is not undone. | Changes | DELETE / |
| Update job status | Changes a job's status. | Changes | PUT / |
| Get jobsheet | Returns an address for the jobsheet. It does not download the file. | Reads | POST / |
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| List quotes | Lists quotes. | Reads | POST / |
| Get quote | Fetches one quote by its numeric Id. | Reads | GET / |
| Create quote | Creates a quote. Customer and site are numeric ids. Priced lines are not added. | Changes | POST / |
| Update quote | Changes a quote. | Changes | PUT / |
| Delete quote | Deletes a quote. This is not undone. | Changes | DELETE / |
| Approve quote | Approves a quote. | Changes | POST / |
| Reject quote | Rejects a quote. | Changes | POST / |
| Cancel quote | Cancels a quote. | Changes | POST / |
| Get quotesheet | Returns an address for the quotesheet. | Reads | POST / |
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| List customers | Lists customers. | Reads | POST / |
| Get customer | Fetches one customer by its numeric id. | Reads | GET / |
| Create customer | Creates a customer. | Changes | POST / |
| Update customer | Changes a customer. | Changes | PUT / |
| Delete customer | Deletes a customer. This is not undone. | Changes | DELETE / |
| List sites | Lists sites. | Reads | POST / |
| Get site | Fetches one site by its numeric id. | Reads | GET / |
| Create site | Creates a site. | Changes | POST / |
| Update site | Changes a site. | Changes | PUT / |
| Delete site | Deletes a site. This is not undone. | Changes | DELETE / |
| List contacts | Lists contacts. | Reads | POST / |
| Get contact | Fetches one contact by its numeric id. | Reads | GET / |
| Create contact | Creates a contact. | Changes | POST / |
| Update contact | Changes a contact. | Changes | PUT / |
| Delete contact | Deletes a contact. This is not undone. | Changes | DELETE / |
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| List engineers | Lists engineers. | Reads | POST / |
| Get engineer | Fetches one engineer by its numeric id. | Reads | GET / |
| List engineer teams | Lists engineer teams. One page unless Max Pages is raised. | Reads | POST / |
| List staff | Searches staff in one call. It is not paged. | Reads | POST / |
| Get staff | Fetches one staff member. | Reads | GET / |
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| List purchase orders | Lists purchase orders. | Reads | POST / |
| Get purchase order | Fetches one purchase order. | Reads | GET / |
| Create purchase order | Creates a purchase order. The job id, the supplier id and at least one line are required. | Changes | POST / |
| Update purchase order | Changes a purchase order. | Changes | PUT / |
| Delete purchase order | Deletes a purchase order. This is not undone. | Changes | DELETE / |
| List purchase order lines | Lists the lines by fetching the purchase order. | Reads | GET / |
| Get purchase order line | Fetches one purchase order line. | Reads | GET / |
| Add purchase order line | Adds a line to a purchase order. | Changes | POST / |
| Update purchase order line | Changes a purchase order line. | Changes | PUT / |
| Delete purchase order line | Deletes a purchase order line. This is not undone. | Changes | DELETE / |
| Approve purchase order | Approves a purchase order. | Changes | POST / |
| Mark purchase order sent | Marks a purchase order as sent. | Changes | POST / |
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| List invoices | Lists invoices. | Reads | POST / |
| Get invoice | Fetches one invoice by its numeric id. | Reads | GET / |
| Create invoice | Creates an approved invoice for a job. It is not a draft. | Changes | POST / |
| Update invoice | Changes an invoice. | Changes | PUT / |
| Delete invoice | Deletes an invoice. This is not undone. | Changes | DELETE / |
| Get invoice document | Returns an address for the invoice document. | Reads | POST / |
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| List assets | Lists assets. | Reads | POST / |
| Get asset | Fetches one asset by its numeric id. | Reads | GET / |
| Create asset | Creates an asset. | Changes | POST / |
| Update asset | Changes an asset. | Changes | PUT / |
| Delete asset | Deletes an asset. This is not undone. | Changes | DELETE / |
| List job assets | Lists the assets on a job. | Reads | POST / |
| Get job asset | Fetches one job asset by its unique id. | Reads | GET / |
| Assign job asset | Assigns an asset to a job. | Changes | POST / |
| Update job asset | Changes a job asset. | Changes | PUT / |
| Delete job asset | Removes an asset from a job. This is not undone. | Changes | DELETE / |
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| List visits | Lists visits for one job. A job ID is required. | Reads | POST / |
| Search planner visits | Searches the engineer planner in one call. A date window, or a start and end date, is required. | Reads | POST / |
| Get visit | Fetches one visit by its numeric id. | Reads | GET / |
| Create visit | Creates a visit. | Changes | POST / |
| Update visit | Changes a visit. | Changes | PUT / |
| Delete visit | Deletes a visit. This is not undone. | Changes | DELETE / |
| Cancel visit | Cancels a visit. | Changes | POST / |
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| List notes | Lists notes for a job or a quote. The fields on the step include Job Id only, and it is a number field. One page unless Max Pages is raised. | Reads | POST / |
| Create note | Creates a note. There is no update and no delete. | Changes | POST / |
| List job types | Lists job types. One page. | Reads | POST / |
| Get job type | Fetches one job type. | Reads | GET / |
| List job categories | Lists job categories. One page. | Reads | POST / |
| List priorities | Lists priorities. One page. | Reads | POST / |
| List forms logbook | Lists form summaries, not the answers. Stops after 5 pages. | Reads | POST / |
| Get form data | Returns the form answers as one block of text. They are not split into fields. | Reads | GET / |
| Download form | Returns an address for the form file. | Reads | POST / |
| Add form logbook | Attaches a forms logbook item. | Changes | POST / |
| Get attachment | Returns an address for an attachment. | Reads | POST / |