Help centre

Fixflo in Agent Builder

Give an agent its own Fixflo connection, read and change issues, properties, people and contractors with 165 actions, and start the agent from Fixflo alerts.

Checked against the app on

On this page11 sections
  1. 1What the Fixflo step does
  2. 2Add the step
  3. 3Connect the step
  4. 4Choose an action
  5. 5Start an agent from Fixflo 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 Fixflo step does

The Fixflo step lets an agent read and change records in your Fixflo agency as part of a run. It can fetch a repair issue, list issue addresses, add a comment, update a property or assign a contractor. Each step does one thing, picked from 165 actions, and hands what Fixflo sends back to the next step. The same connection also drives the Fixflo webhook trigger, which starts an agent when an issue changes status, or when one of the other events you tick arrives.

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

Build modular AI workflows with reusable nodes

New repair, new job
1,240 / 10,000 creditsValidateResetRunsSettingsUpdate & Publish

New Fixflo issue

Reported

Fetch the issue

Get issue

2

Raise the job

Create job

Tell the tenant

1 action enabled

AI builderMap
  1. 1Fixflo in the Integration group of the Nodes panel.
  2. 2The step on the canvas. Its summary shows the action, Get issue.
  3. 3Connection: the Fixflo agency this agent uses, shown by its subdomain.
  4. 4Endpoint: the action the step performs, chosen from the full list.
  5. 5The action's field. Here the issue id comes from the alert that started the run.

Centrus works alongside Fixflo. Issues, properties, landlords, tenants and contractors stay in Fixflo, and the agent reads and updates them there through Fixflo's API. A new issue can raise a job in BigChange, described in BigChange REST in Agent Builder. To ask about Fixflo records in a conversation rather than in an agent, see Fixflo in chat. How every integration fits together is in Integrations overview.

Add the step

Open the agent in Agent Builder and find Fixflo in the Integration group of the Nodes panel. It sits after Freshdesk and before Cin7 Core. 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.

New Fixflo issue

Reported

Fixflo

No endpoint selected

2
  1. 1Fixflo 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 Fixflo step or change its settings.

09:41
Centrus
Agents

Build modular AI workflows with reusable nodes

Chase overdue invoices
Save and Publish

New Fixflo issue

Reported

Fetch the issue

Get issue

Raise the job

Create job

Tell the tenant

1 action enabled

Connect the step

The Fixflo connection belongs to this agent alone. It is separate from the organisation's Fixflo connection in chat, so connecting one does not connect the other. The chat card says so: connecting chat does not connect Agent Builder. One connection covers every Fixflo step in the agent and its Fixflo webhook trigger, so you only connect once per agent.

You need two values from the Fixflo account: the Subdomain and the API token. The subdomain is the Fixflo address, such as meridian.fixflo.com, or just meridian. The token is the 64-character key. The connect window also says the email address is not used, though the form does not ask for one. Anyone who can edit the agent can enter them. They are stored on this agent only.

  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 Fixflo step. In the Details panel, open Connection and click Connect.
  3. 3In the Connect Fixflo window, enter the Subdomain and API token, then click Connect.
  4. 4Centrus checks the values with Fixflo, by reading the agency settings, before it saves them. Connection then reads Connected, followed by the subdomain, such as meridian.
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 Fixflo account to use this node.

Connect
Saved, not connected
ConnectionConnected

Connected · meridian

Disconnect
Connected
The Connection section before the first save, once saved, and once connected. A connected agency is shown by its subdomain.

Connect Fixflo

Paste the Fixflo address, for example acme.fixflo.com, or just acme. The API token is the 64-character key from the Fixflo account. The email address is not used. The token is stored on this automation only.

1
Copy from existing agent
Select an agent
2
Subdomainacme.fixflo.com
API token64-character token
3
Cancel
Connect4

Connect Fixflo

Paste the Fixflo address, for example acme.fixflo.com, or just acme. The API token is the 64-character key from the Fixflo account. The email address is not used. The token is stored on this automation only.

Copy from existing agent
Select an agent
New repair, new job (meridian)
Open issues digest (meridian)
5
Subdomainacme.fixflo.com
API token64-character token
CancelConnect
  1. 1What to paste, and that the token is stored on this agent only.
  2. 2Copy from existing agent, for reusing a connection you made on another agent.
  3. 3The subdomain and the 64-character token. The token is hidden as you type it.
  4. 4Connect checks the values with Fixflo, then saves them on this agent.
  5. 5The agents you can copy from, each with its subdomain.

If either field is empty, Centrus stops in the window with Subdomain is required or API token is required. If Fixflo refuses the values, nothing is saved and the message starts Could not verify Fixflo credentials. A wrong token continues Fixflo returned 401. A subdomain that is not a Fixflo address is refused with Use the Fixflo subdomain, for example acme or acme.fixflo.com.

Reusing a connection. If you have already connected Fixflo on another agent you created, choose that agent under Copy from existing agent. Centrus fills in the two 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 Fixflo connection, so an agent someone else shared with you never appears. When there are none, the box reads No other agents with this connection. If the copy itself fails, the message is Could not copy credentials from that agent.

Sharing and copying the agent. When you share an agent, its Fixflo 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 Fixflo 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, including the webhook secret described under Start an agent from Fixflo alerts. Its Fixflo steps and trigger stop working until someone connects it again, and other agents keep their own connections. A successful connect shows Fixflo connected to this agent.

Choose an action

Select the step and open Endpoint in the Details panel. Endpoint tool type holds all 165 actions in one list that starts with List agencies. 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. The line under the list is the action's own description.

Endpoint

Choose the Fixflo action this step should run.

Endpoint tool type
Select an endpoint
List agencies
Get agency
Create agency
Set up agency templates
Get agency settings
Save agent
Get agent
Update agent brand
List agents
Search assets

Select an endpoint to configure its inputs.

1
Endpoint

Choose the Fixflo action this step should run.

Endpoint tool type
Get issue

Full issue. List calls return URLs, not this object.

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.

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.

Each action then shows its own fields in a box named after the action. The box starts closed: open it to fill the fields. Get issue has one field, labelled Id from the Fixflo path or query, which takes the issue id, such as 48291. A required field is marked with an asterisk. Fields the action does not list, including a status on List issues, are not on the form, even when the description under Endpoint tool type mentions them.

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 the field you are filling in. In the overview agent, the issue id holds {{ trigger.json.payload.Id }}, which is the id of the issue the Fixflo alert was about. The same id is also on the alert as Id.

Get issue

Full issue. List calls return URLs, not this object.

Id from the Fixflo path or query{{ trigger.json.payload.Id }}
1
Step data references1

Downstream nodes can read this step as {{ steps.integration-fixflo-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 Fixflo issue

Trigger · trigger-fixflo-1791540900000-1

triggerTypetriggeredAtaction
payload
IdStatus

Run trigger

triggeredAt
2
Add issue comment

Push a comment onto an issue.

issueId from the Fixflo path or query{{ trigger.json.payload.Id }}
JSON body for this Fixflo operationJSON body for this Fixflo operation. Field names are the ones in the Fixflo schema.
3
  1. 1A text field holding a reference to the alert's issue id.
  2. 2Step data references. Click a field to copy its reference.
  3. 3The body of a change, as one text field. The names inside it are Fixflo's own.

Path fields such as the issue id are text, so a reference can be pasted into them. The page field on List webhook activity, labelled Page number, is a number, so it takes a fixed number and not a reference. A change such as Add issue comment also has JSON body for this Fixflo operation, one text field for the whole body. The names inside that body are the ones in Fixflo's schema, which the field's own line states. Centrus does not list those names beside the field.

What the step passes on. When the step runs, it passes on what Fixflo returned as items for the next step. Get issue passes on one item, the issue. A wide list such as List issues passes on one item per address, so six issues become six items, each with a url and an id, not the full issue. Later steps reach their fields through Step data references, and an AI step reads all of the items together. To fetch or change one record for each item, put Get issue or the change inside a Loop, described in Conditions, loops and approvals.

As a tool for an AI step. Connect a Fixflo 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. On the canvas the summary shows only the first action's name, such as Get issue. The full set is the tags under Actions.

New Fixflo issue

Reported

Draft the reply

GPT-5.6 Terra

Issue updates

Get issue

1
  1. 1The Fixflo step attached to the Intelligence step as a tool. The canvas names the first action only.
  2. 2Actions: the Fixflo actions the AI may call.
  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 Fixflo 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 Fixflo, put an Approval step in front of it. A write also claims the change before it calls Fixflo, so a repeated run of the same change reuses the first result instead of sending it twice.

Start an agent from Fixflo alerts

The Fixflo webhook trigger, in the Trigger group of the Nodes panel, starts the agent when Fixflo reports a change you have ticked, such as a new repair at Reported. It uses the agent's Fixflo connection, so if a Fixflo 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 Fixflo.

New Fixflo issue

Reported

Fetch the issue

Get issue

Raise the job

Create job

Tell the tenant

1 action enabled

  1. 1Connection, shared with the agent's Fixflo steps.
  2. 2Event types: the events that start a run. Only Reported is ticked.
  3. 3Set this up in Fixflo: the steps to follow in Fixflo, the callback address and the secret.
  4. 4Simulate webhook: runs the agent once with a sample alert.

Every event it can listen for. There are 15 event types in two groups. Tick only the ones the agent needs, because each alert that matches starts a run and each run uses credits. The canvas summary names the ticked event, or shows a count once you tick more than two.

Fixflo event types
GroupEvents
Issue status (9)Any issue state change, Reported, Quotes requested, Quotes awaiting review, Quotes reviewed, Job awarded, Awaiting job completion, Job completed, Closed
Other subscribe events (6)Issue add, Issue closed, Property changed, Property added, Property deactivated, Job invoice updated

A status tick only matches when the alert includes the issue's status. The other six may not arrive until Fixflo publishes their details.

Reported is the event for a new repair. Job awarded and Job completed suit contractor work. A status tick matches only when Fixflo includes the status in the alert. If the status might be missing, tick Any issue state change and follow Get issue with a Filter that keeps the status you want. The second group is labelled as events on Fixflo's subscribe API whose payloads the portal has not documented yet, so they may not fire. Each tick also shows a short code under its name, such as issue.status.reported under Reported.

Who sets it up, and where. The Centrus side is done by anyone who can edit the agent. Centrus does not create the subscription. A Fixflo administrator adds it on Fixflo's webhook configuration page, the page that logs deliveries and responses. Set this up in Fixflo lists their steps:

  1. 1Connect Fixflo on the trigger and save the agent. Copy the Secret. It stays the same if you connect again without disconnecting.
  2. 2In Fixflo, open the webhook configuration page.
  3. 3Create a webhook. Paste the Callback URL and the secret from the node. Use HTTPS. The address is the same for every organisation: https://api.centrus.ai/agent-builder-v2/webhooks/fixflo. Centrus tells the agents apart by the secret.
  4. 4Subscribe to Issue state change. If the node also ticks one of the other subscribe events, select that event in Fixflo as well. Unticking an event here does not stop Fixflo until the subscription in Fixflo is edited.
  5. 5A second Centrus agent on the same agency needs its own subscription and its own secret.
  6. 6Use Fixflo's activity log to confirm delivery. Simulate webhook runs this agent only and does not send the sample alert to Fixflo.

Leave RemoveBody off. An empty body cannot be verified, and Centrus turns the alert away. Disconnect deletes the secret. Connecting again creates a new one, so after a disconnect, paste the new secret into Fixflo.

What the trigger hands on. Each alert becomes one item for the next step, with action (such as Issue state change), payload, a flattened Id and Status, and triggeredAt. The usual next step is Get issue, with Id from the Fixflo path or query set to {{ trigger.json.payload.Id }}. Status is Fixflo's own value, such as Reported. The alert is not the full issue, so follow it with Get issue before you read the description, the property or the tenant.

Simulating an alert. Once the agent is saved, Simulate webhook runs it once for the event type, issue id and optional status you enter. The event type list shows the group and the name together, such as Issue status Reported. Use the id of a real issue so that Get issue after it finds something. A simulated alert is a real run rather than a dry run: write actions change Fixflo, and the run uses credits. The sample does not call Fixflo for the event itself. If Issue id is empty, Centrus asks you to Provide an Issue id to simulate against. A successful start shows Simulated webhook started. See the Runs panel.

Example agents

New Fixflo issue

Reported

Fetch the issue

Get issue

Raise the job

Create job

Tell the tenant

1 action enabled

New repair, new job

New repair, new job raises a BigChange job when a tenant reports a repair. New Fixflo issue is a Fixflo webhook with Reported ticked. Fetch the issue uses Get issue with {{ trigger.json.payload.Id }}, so the agent has the full issue, including the property and the description. Raise the job uses Create job in BigChange, with the property and the description, and sets the job's optional reference to the Fixflo issue id so a later agent can find the issue again. Tell the tenant emails the tenant from the agent's Outlook connection to say the repair has been logged. Each new issue costs four credits.

Weekdays at 16:00

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

Issue addresses

List issues

Each issue

Batch size 1

Fetch the issue

Get issue

Write the digest

GPT-5.6 Terra

Email the managers

1 action enabled

Open issues digest

Open issues digest emails the property managers a summary of open repairs at 16:00 each weekday. Issue addresses uses List issues, which returns addresses, a url and an id for each, up to five pages, and has no status field on the form, so the page can include closed issues as well as open ones. Each issue is a Loop with a batch size of 1. Inside it, Fetch the issue uses Get issue with the address's id, so each pass has the property, the status and the description. Write the digest reads the collected issues, keeps the ones that are not closed, and groups them by property, such as Riverside House and 12 High Street. Email the managers sends the result. The list costs 1 credit however many addresses it returns. Each Get issue inside the Loop costs another credit.

Job completed

Job status changed

Read the job

Get job · {{ trigger.json.data.entityId }}

Note the issue

Add issue comment

Email the office

1 action enabled

Completion note

Completion note writes back to the Fixflo issue when the BigChange job finishes. Job completed is a BigChange webhook with Job status changed ticked, and the status filter in BigChange set to the completed statuses. Read the job uses Get job with {{ trigger.json.data.entityId }}. The job reference is the Fixflo issue id, stored when New repair, new job raised it. Note the issue uses Add issue comment, with that reference as the issue id and a short completion note in the JSON body, for example that Dylan Hughes finished the repair at Riverside House at 16:40 on 09/10/2026. Email the office sends the same note to the property managers. The comment is a real change in Fixflo, so try it with a dry run first.

Test before it goes live

A dry run is the safe way to try a Fixflo step. Open Runs in the toolbar, click Run now and choose Dry run (no actions performed). Read actions such as Get issue and List issues call Fixflo for real, so you see real data. Write actions are skipped, and the step's summary starts with DRY RUN and says the change was not performed, so nothing in Fixflo 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:0022s
Schedule11.4 credits
Success
7 Oct 2026, 16:0019s
Schedule10.8 credits
SuccessDry run14s2 steps1 credit9 Oct 2026, 15:42
1Schedule Trigger10msSuccess

Triggered

2Fixflo2.1sSuccess
Started: 9 Oct 2026, 15:42Took: 2.1sOutput: main ×6

Found 6 Fixflo rows

2

Step output

{
  "handles": { "main": 6 },
  "items": {
    "main": [
      {
        "url": "https://meridian.fixflo.com/Issue/48291",
        "id": "48291"
      },
      {
        "url": "https://meridian.fixflo.com/Issue/48304",
        "id": "48304"
3
  1. 1The dry run, started with Run now.
  2. 2The step's summary: how many addresses it found.
  3. 3The output: the items the step passed on, as later steps receive them. Each one is an address and an id, not the full issue.

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 Fixflo 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 Fixflo 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 Fixflo webhook trigger is free, but every run it starts costs 1 credit, like any other run.

New repair, new job

Every run

When the alert starts it

1

Fetch the issue

Fixflo, one call

1

Raise the job

BigChange REST, one call

1

Tell the tenant

Outlook

1

Each run

4

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

Open issues digest

Every run

When the schedule starts it

1

Issue addresses

Fixflo, 6 addresses in one step

1

Fetch the issue

Fixflo, once per issue inside the Loop

6

Write the digest

Intelligence, measured

2 or more

Email the managers

Outlook

1

Each run

11 or more

A list costs the same whether it returns 6 addresses or five pages of them. Inside a Loop, Get issue is charged each time it runs.

Inside a Loop, the step is charged on every pass, so a Loop over 40 issues that fetches each one costs 40 credits for that step. A single list action is usually cheaper than fetching records one at a time, but List issues only returns addresses, so the digest still fetches each issue. For allowances, limits and how to see what each run cost, see Automation credits and usage limits.

Limits and good to know

Endpoint

Choose the Fixflo action this step should run.

Endpoint tool type
List issues

Paged issue URLs, not full issues. Page query is page. Status is Reported, QuotesRequested, QuotesAwaitingReview, QuotesReviewed, JobAwarded, AwaitingJobCompletion, JobCompleted, or Closed.

Endpoint fields modeSet endpoint fields here
1
ConnectionConnected

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

Connected · meridian

Disconnect
2
  1. 1List issues. The description names statuses, and the form has no field to set one. The step returns addresses.
  2. 2The note shown when the agent is in per-user integration mode.
  • Five pages on a wide list. List issues, Search properties, List landlords, List tenants and the other wide lists fetch up to five pages in one step. Fixflo decides how many rows are on a page. To work through more, use the Ingest step, described under Large lists. There is no max pages field on the form.
  • List issues returns addresses. Each item is a url and an id, not the issue. Follow it with Get issue. List property issues is the list that returns issue summaries for one property. List closed issues has no page parameter.
  • No status field on List issues. The description names the statuses, including Reported and Closed, but the form does not offer a status, a date or a property. To keep open issues, fetch them and filter afterwards, as the digest does.
  • About 8 MB per read. A single read that returns more than 8,000,000 bytes fails. Narrow what you ask for, or use Ingest.
  • Reports and downloads. Get issue report, Download media and Download issue draft media return a short descriptor, with the content type and the size, not the file itself.
  • Busy periods. If Fixflo returns 429, Centrus waits for the time in the Retry-After header, up to 30 seconds, and tries once more. If it is still refused, the step fails with Fixflo returned 429.
  • Per-user integration mode. Fixflo 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 and tells you to switch the agent back to agent-level mode. Keep agents that use Fixflo on agent-level mode.
  • Changes that cannot be undone. Anonymise tenant cannot be undone. Merge issues closes the source issues and creates the merged issue. Set issue external ref overwrites the external ref, which must be unique in the agency. Delete property notes removes notes.
  • 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

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

No output recorded.

Fixflo is not connected on this automation.

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

No output recorded.

Stored Fixflo credentials are incomplete.

2
  1. 1The agent has no Fixflo connection.
  2. 2The saved credentials can no longer be read.
  • Fixflo is not connected on this automation. Open the step's Connection section and click Connect. If you have duplicated the agent, the copy needs its own connection.
  • Could not verify Fixflo credentials. Fixflo rejected the subdomain or the token, or the address is not a Fixflo host. Check the 64-character token in Fixflo, then connect again. A refused token continues with Fixflo returned 401.
  • Subdomain is required or API token is required. A field in the connect window was empty. Fill both in.
  • Use the Fixflo subdomain, for example acme or acme.fixflo.com. The subdomain contained a different website, a space, or a character Fixflo does not allow. Letters, numbers, hyphens and dots are allowed.
  • Stored Fixflo credentials are incomplete. Centrus cannot read the saved subdomain or token. Disconnect, then connect again.
  • Fixflo requires Id. A path field such as the issue id was empty. Paste the id, or a reference to an earlier step.
  • Fixflo returned 429. Fixflo asked Centrus to slow down, and the retry was also refused. Run the agent again later, or narrow a list.
  • 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 webhook in Fixflo uses this agent's Callback URL and Secret, RemoveBody is off, and, for a status such as Reported, that Fixflo includes the status in the alert. Unticking an event in Centrus does not stop a subscription that is still active in Fixflo.
  • Provide an Issue id to simulate against. Simulate webhook needs an issue id. Use a real one so Get issue can find it.
  • No other agents with this connection. None of the agents you created has a Fixflo connection. Enter the subdomain and token by hand.
  • A list stops at five pages. That is the limit for one wide list. Use Ingest for more, then Get issue for each address you still need.
  • The step fails in per-user mode. Switch the agent back to agent-level integration mode. Fixflo has no per-person connection in Agent Builder.

Actions and endpoints

The Fixflo step offers 165 actions: 88 read from Fixflo and 77 change it. Every endpoint below is on https://{subdomain}.fixflo.com/api/v2, where the subdomain is the one you connected. A wide list returns up to five pages. Where a change has a body, the body is one JSON field and the names inside it are Fixflo's own.

Agencies and agents
ActionWhat it doesReads or changesEndpoint
List agenciesLists agencies, one page at a time. Support use.ReadsGET /Agencies
Get agencyFetches one agency.ReadsGET /Agency/{id}
Create agencyCreates an agency.ChangesPOST /Agency
Set up agency templatesSets up an agency's integration templates. The request is a GET and returns no body.ChangesGET /Agency/{id}/SetupIntegrationTemplates
Get agency settingsFetches the agency settings. This is also the check Centrus makes when you connect.ReadsGET /Agency/Settings
Save agentCreates or updates an agent.ChangesPOST /Agent
Get agentFetches an agent by email, external ref or id.ReadsGET /Agent
Update agent brandSets the brand on an agent.ChangesPOST /Agent/{Id}/Brand
List agentsLists agents. Wide list.ReadsGET /Agents
Assets, blocks, brands, cost codes and estates
ActionWhat it doesReads or changesEndpoint
Search assetsSearches assets. Rows come back on Assets. Wide list.ReadsGET /Assets
Create assetCreates an asset.ChangesPOST /Asset
Get assetFetches one asset.ReadsGET /Asset/{id}
Update assetUpdates an asset.ChangesPUT /Asset/{id}
Get blockFetches one block by id or external ref.ReadsGET /Block
Save blockCreates or updates a block.ChangesPOST /Block
List blocksLists blocks. Wide list.ReadsGET /Blocks
Get block tagsFetches the tags on one block.ReadsGET /Block/{Id}/Tags
Set block tagsReplaces the tags on a block.ChangesPOST /Block/{Id}/Tags
Get block brandFetches the brand on one block.ReadsGET /Block/{Id}/Brand
Set block brandSets the brand on a block.ChangesPOST /Block/{Id}/Brand
Get brandFetches one brand.ReadsGET /Brand/{BrandId}
List brandsLists brands. Wide list. Page size can be set.ReadsGET /Brands
Get cost codeFetches one cost code.ReadsGET /CostCode
Save cost codeCreates or updates a cost code.ChangesPOST /CostCode
List cost codesLists cost codes. Wide list.ReadsGET /CostCodes
Get estateFetches one estate.ReadsGET /Estate/{id}
Save estateCreates or updates an estate.ChangesPOST /Estate
List estatesLists estates. Wide list.ReadsGET /Estates
Walk fault treeReads the fault tree branches from one node.ReadsGET /FaultTree/Walk/{id}
Teams and jobs
ActionWhat it doesReads or changesEndpoint
Get jobFetches one Fixflo job.ReadsGET /Job/{id}
Get teamFetches one team.ReadsGET /Team
Save teamCreates or updates a team.ChangesPOST /Team
List teamsLists teams. Wide list.ReadsGET /Teams
Issues
ActionWhat it doesReads or changesEndpoint
Get issueFetches one issue in full. List calls return addresses, not this object.ReadsGET /Issue/{Id}
Update assigned agentUpdates only the assigned agent on an issue. An empty agent unassigns it.ChangesPOST /Issue/
Set issue external refOverwrites the issue's external ref. It must be unique in the agency.ChangesPOST /Issue/{Id}/ExternalRef
List issuesLists issue addresses, not full issues. Wide list. The description names a status, and the form has no status field.ReadsGET /Issues
Get issue reportFetches the PDF report as a descriptor, not the file.ReadsGET /Issue/{Id}/Report
List job-awarded issuesLists addresses of issues at Job awarded. Wide list.ReadsGET /Issues/JobAwarded
List job-completed issuesLists addresses of issues at Job completed. Wide list.ReadsGET /Issues/JobCompleted
List closed issuesLists addresses of closed issues. This list has no page parameter. Wide list.ReadsGET /Issues/Closed
Get issue quotesFetches the quotes on one issue.ReadsGET /Issue/{issueId}/quotes
Get issue tagsFetches the tags on one issue.ReadsGET /Issue/{Id}/Tags
Merge issuesCloses the source issues and creates the merged issue.ChangesPOST /Issues/Merge
Issue drafts
ActionWhat it doesReads or changesEndpoint
Save issue draftCreates or updates a draft issue before it is committed.ChangesPOST /IssueDraft
Get issue draftFetches one issue draft.ReadsGET /IssueDraft
Commit issue draftTurns a draft into a live reported issue.ChangesPOST /IssueDraft/Commit
Delete issue draftDeletes an issue draft.ChangesPOST /IssueDraft/Delete
List issue draft mediaLists media on one draft.ReadsGET /IssueDraft/{id}/IssueDraftMedia
Get issue draft mediaFetches one draft media record.ReadsGET /IssueDraftMedia
Save issue draft mediaCreates or updates draft media. Encoded file data may be sent and is not returned.ChangesPOST /IssueDraftMedia
Download issue draft mediaDownloads draft media as a descriptor, not the file.ReadsGET /IssueDraftMedia/{Id}/Download
List issue draft assetsLists assets on one draft.ReadsGET /IssueDraft/{Id}/Assets
Add issue draft assetLinks an asset to a draft.ChangesPOST /IssueDraft/{Id}/Assets
Properties and addresses
ActionWhat it doesReads or changesEndpoint
Get propertyFetches one property by id or external property ref.ReadsGET /Property
Save propertyCreates or updates a property. This does not change the address.ChangesPOST /Property
Update property addressSets a new primary address. The previous address is kept as an alternative.ChangesPOST /Property/UpdateAddress
Search propertiesSearches properties. Wide list. Page size can be set.ReadsGET /Property/Search
Search property addressesSearches property addresses. Wide list.ReadsGET /PropertyAddress/Search
Get property addressFetches one property address.ReadsGET /PropertyAddress/{Id}
Merge property addressMerges an address into a property.ChangesPOST /PropertyAddress/Merge
Split property addressSplits an address out of a property.ChangesPOST /PropertyAddress/Split
List property addressesLists addresses on one property.ReadsGET /Property/{Id}/Addresses
List property issuesLists issue summaries at one property, not addresses.ReadsGET /Property/{Id}/Issues
List property issues by external refLists issues for an external property ref.ReadsGET /Property/Issues
Get property tagsFetches the tags on one property.ReadsGET /Property/{Id}/Tags
Set property tagsReplaces the tags on a property.ChangesPOST /Property/{Id}/Tags
Get property notesFetches the notes on one property.ReadsGET /Property/{Id}/Notes
Add property notesAppends notes. Existing notes are kept.ChangesPOST /Property/{Id}/Notes
Delete property notesDeletes notes on a property.ChangesDELETE /Property/{Id}/Notes
List property tenantsLists tenants at one property.ReadsGET /Property/{Id}/Tenants
List landlord links for a propertyLists landlord links on one property.ReadsGET /Property/{PropertyId}/LandlordProperties
Update property brandSets the brand on a property. The path is lowercase.ChangesPOST /property/{id}/brand
Certificates and media
ActionWhat it doesReads or changesEndpoint
Search certificate mediaSearches property certificate media. Wide list.ReadsGET /Medias/PropertyCertificate
Get certificate mediaFetches one property certificate media record.ReadsGET /Media/PropertyCertificate/{Id}
Update certificate mediaUpdates expiry, start date or the short description.ChangesPOST /Media/PropertyCertificate/{Id}
Download mediaDownloads media as a descriptor, not the file.ReadsGET /Media/{Id}/Download
Landlords
ActionWhat it doesReads or changesEndpoint
Get landlordFetches one landlord.ReadsGET /Landlord
Save landlordCreates or updates a landlord.ChangesPOST /Landlord
Get landlord brandFetches the brand on one landlord.ReadsGET /Landlord/{id}/Brand
Set landlord brandSets the brand on a landlord.ChangesPOST /Landlord/{id}/Brand
List landlordsLists landlords. Wide list.ReadsGET /Landlords
Get landlord propertyFetches one landlord to property link.ReadsGET /LandlordProperty
Save landlord propertyCreates or updates a landlord to property link.ChangesPOST /LandlordProperty
Delete landlord propertyRemoves a landlord to property link.ChangesPOST /LandlordProperty/Delete
Get landlord property joinFetches one landlord to property link by external ref.ReadsGET /LandlordPropertyJoin
Save landlord property joinCreates a landlord to property link using external refs.ChangesPOST /LandlordPropertyJoin
Delete landlord property joinRemoves an external ref landlord to property link.ChangesPOST /LandlordPropertyJoin/Delete
List landlord propertiesLists links for one landlord.ReadsGET /Landlord/{LandlordId}/LandlordProperties
Leaseholders
ActionWhat it doesReads or changesEndpoint
Get leaseholderFetches one leaseholder.ReadsGET /Leaseholder
Save leaseholderCreates or updates a leaseholder.ChangesPOST /Leaseholder
List leaseholdersLists leaseholders. Wide list.ReadsGET /Leaseholders
Get leaseholder brandFetches the brand on one leaseholder.ReadsGET /Leaseholder/{id}/Brand
Set leaseholder brandSets the brand on a leaseholder.ChangesPOST /Leaseholder/{id}/Brand
Get leaseholder propertyFetches one leaseholder to property link.ReadsGET /LeaseholderProperty
List leaseholder propertiesLists links for one leaseholder.ReadsGET /Leaseholder/{LeaseholderId}/LeaseholderProperties
Delete leaseholder propertyRemoves a leaseholder to property link.ChangesPOST /LeaseholderProperty/Delete
Get leaseholder property joinFetches one leaseholder to property link by external ref.ReadsGET /LeaseholderPropertyJoin
Save leaseholder property joinCreates a leaseholder to property link using external refs.ChangesPOST /LeaseholderPropertyJoin
Delete leaseholder property joinRemoves an external ref leaseholder to property link.ChangesPOST /LeaseholderPropertyJoin/Delete
Search leaseholder property joinsFinds leaseholders linked to a property.ReadsGET /LeaseholderPropertyJoin/Search
Tenants
ActionWhat it doesReads or changesEndpoint
Get tenantFetches one tenant.ReadsGET /Tenant
Save tenantCreates or updates a tenant.ChangesPOST /Tenant
Set tenant brandSets the brand on a tenant.ChangesPOST /Tenant/{id}/Brand
List tenantsLists tenants. Wide list.ReadsGET /Tenants
List tenant propertiesLists properties for one tenant.ReadsGET /Tenant/{Id}/Properties
Get tenant propertyFetches one tenant to property link.ReadsGET /Tenant/{Id}/Property/{PropertyId}
Link tenant propertyLinks a property to a tenant.ChangesPOST /Tenant/{Id}/Property
Unlink tenant propertyRemoves a tenant to property link.ChangesDELETE /Tenant/{Id}/Property/{PropertyId}
Anonymise tenantAnonymises a tenant. This cannot be undone.ChangesPOST /Tenant/{Id}/Anonymise
Contractors, completion and quotes
ActionWhat it doesReads or changesEndpoint
Get contractorFetches one contractor.ReadsGET /Contractor/{id}
Save contractorCreates a contractor when the id is empty, otherwise updates it.ChangesPOST /Contractor
Set contractor brandSets the brand on a contractor.ChangesPOST /Contractor/{Id}/Brand
List contractorsLists contractors. Wide list.ReadsGET /Contractors
List contractor servicesLists the contractor service catalogue.ReadsGET /Contractor/Services
Assign contractorAdds a contractor to a job on an issue.ChangesPOST /Issue/{issueid}/jobjobber
Get job completionFetches completion details on an issue.ReadsGET /Issue/{issueid}/jobcompletiondetails
Save job completionUpdates job completion details.ChangesPOST /Issue/{issueid}/jobcompletiondetails
Add completion documentAdds a completion document. The path is lowercase.ChangesPOST /issue/{issueid}/completiondoc
Get completion documentFetches one completion document.ReadsGET /issue/{issueid}/completiondoc/{mediaid}
Save completion documentUpdates a completion document.ChangesPOST /issue/{issueid}/completiondoc/{mediaid}
Delete completion documentDeletes a completion document.ChangesDELETE /issue/{issueid}/completiondoc/{mediaid}/delete
List completion documentsLists completion documents on an issue.ReadsGET /issue/{issueid}/completiondocs
Add completion certificateAdds a completion certificate.ChangesPOST /Issue/{issueId}/completioncertificatedoc
Get completion certificateFetches one completion certificate.ReadsGET /Issue/{issueId}/completioncertificatedoc/{mediaId}
Delete completion certificateDeletes a completion certificate.ChangesDELETE /Issue/{issueId}/completioncertificatedoc/{mediaId}/delete
Get invoice detailsFetches invoice details on an issue.ReadsGET /issue/{issueid}/invoicedetails
Save invoice detailsUpdates invoice figures on an issue.ChangesPOST /issue/{issueid}/invoicedetails
Submit invoiceSubmits the invoice on an issue.ChangesPOST /issue/{issueid}/submitinvoice
Add quoteAdds a quote to an issue.ChangesPOST /Issue/{issueId}/quote
Amend quoteAmends a quote.ChangesPOST /Issue/{issueId}/quote/{quoteId}
Decline to quoteDeclines to quote on an issue.ChangesPOST /Issue/{issueId}/declinetoquote
Decline jobDeclines the job.ChangesPOST /Issue/{issueId}/declinejob
Set appointmentSets an appointment on the accepted job.ChangesPOST /Issue/{issueId}/appointment
Cancel appointmentCancels an appointment.ChangesPUT /Issue/{issueId}/appointment/{appointmentId}/cancel
Create further worksCreates a linked further works issue.ChangesPOST /Issue/{issueId}/createfurtherworks
Quote further worksCreates a linked further works issue with a quote.ChangesPOST /Issue/{issueId}/quotefurtherworks
Quote insteadDeclines the instruction and sends a quote.ChangesPOST /Issue/{issueId}/quoteinstead
Add contractor commentAdds a contractor network comment.ChangesPOST /Issue/{issueId}/contractornetworkcomment
Customers, comments and warranties
ActionWhat it doesReads or changesEndpoint
List customersLists users on the agency. Wide list.ReadsGET /Customers
Get customerFetches one customer.ReadsGET /Customer/{Id}
Create remedialCreates a linked remedial issue from a service event.ChangesPOST /ServiceEvent/CreateRemedial
List issue commentsLists comments on one issue. Page size can be set.ReadsGET /Issue/{Id}/Comments
Add issue commentAdds a comment to an issue.ChangesPOST /Issue/{issueId}/Comment
Add warrantyCreates a warranty.ChangesPOST /Warranty/Add
Save warrantyUpdates a warranty.ChangesPOST /Warranty/Save
Delete warrantyDeletes a warranty.ChangesPOST /Warranty/{id}/Delete
Service programmes and events
ActionWhat it doesReads or changesEndpoint
Get service programmeFetches one service programme.ReadsGET /ServiceProgramme/{Id}
List service programmesLists service programmes. Wide list.ReadsGET /ServiceProgrammes
List property service programmesLists programmes on one property.ReadsGET /Property/{propertyId}/ServiceProgrammes
Get service programme definitionFetches one service programme definition.ReadsGET /ServiceProgrammeDef
Save service programme definitionCreates or updates a service programme definition.ChangesPOST /ServiceProgrammeDef
List service programme definitionsLists service programme definitions. Wide list.ReadsGET /ServiceProgrammeDefs
Get service eventFetches one service event.ReadsGET /ServiceEvent/{id}
List service eventsLists service events. Wide list.ReadsGET /ServiceEvents
List service event mediaLists media on one service event.ReadsGET /ServiceEvent/{id}/Medias
Create service eventCreates a service event under a property programme.ChangesPOST /Property/{propertyId}/ServiceProgramme/{serviceProgrammeId}/ServiceEvent
List programme service eventsLists events for one property and programme.ReadsGET /Property/{propertyId}/ServiceProgramme/{serviceProgrammeId}/ServiceEvents
Get programme service eventFetches one event by property, programme and event id.ReadsGET /Property/{propertyId}/ServiceProgramme/{serviceProgrammeId}/ServiceEvent/{serviceEventId}
Update service eventUpdates a service event.ChangesPOST /Property/{propertyId}/ServiceProgramme/{serviceProgrammeId}/ServiceEvent/{serviceEventId}
Complete service eventMarks a service event complete.ChangesPOST /Property/{propertyId}/ServiceProgramme/{serviceProgramme}/ServiceEvent/Complete
Webhooks
ActionWhat it doesReads or changesEndpoint
List webhooksLists webhooks on the agency. The response is a list, not pages. Wide list.ReadsGET /Webhooks
List webhook activityLists activity for one webhook. Failed only can be ticked. Page number is a number field.ReadsGET /Webhook/Activity
Subscribe webhookCreates a webhook subscription for an address you control. Do not use this to set up the Fixflo webhook trigger. That subscription is created in Fixflo.ChangesPOST /Webhook/Subscribe
Unsubscribe webhookRemoves a webhook subscription. The id comes from List webhooks.ChangesDELETE /Webhook/Unsubscribe

More in Fixflo