Halo PSA integration setup
If you’re new to integrations in Rewst, read through our introductory integration documentation here.
This Integration supports multiple instances
Check out the instructions to set up multiple instances here.
What does the Halo PSA integration do?
Our Halo PSA integration provides automation and workflow capabilities by connecting Halo PSA’s IT service management functions with Rewst’s automation platform. This integration allows users to manage and interact with various components of their PSA system directly from Rewst.
Integration use cases
Automated Ticket Handling
A new support ticket is submitted in Halo PSA. Automation: A Rewst workflow can automatically classify the ticket, assign it to the correct team based on predefined criteria, and send an acknowledgment email to the customer.
Asset Management & Tracking
When a new asset (laptop, server, etc.) is assigned to a client, update inventory records. Automation: Rewst can capture the asset details and update Halo PSA records, ensuring real-time inventory tracking.
Client Onboarding Automation
A new client signs a contract for IT services. Automation: Rewst can automatically create the client profile, set up relevant permissions, and initiate onboarding tasks.
Integration prerequisites
Access to the Rewst platform with administrative rights
You must have a Halo administrator account.
Set up the Halo PSA Integration
Set up steps in Halo PSA
Before configuring the Rewst integration you must generate an API user. Here is the instruction for the generation of the integration user:
Log in to Halo PSA as an Administrator.
Navigate to Configuration > Teams & Agents > Agents > New.
Create an agent for Rewst to use. We suggest naming this user
Rewst API
or similar.Grant the user permissions according to what you would like Rewst to do for you. However, for optimal functionality and reliability of the Halo integration, assign administrator permissions to the service account. We’ve consistently observed higher success rates and fewer connectivity issues when using admin-level access for this integration. While lower permission levels may work in limited scenarios, they often lead to unexpected failures during automated workflows.
Click Save.
Navigate to Configuration > Integrations > HaloPSA API (Halo Authorization Docs).
Select View Applications.
Click New.
Name the application
Rewst
.Choose the authentication method for Client ID and Secret (Services).
Click the Permissions tab.
Check the all checkbox on.
Click Save.
Navigate to Configuration > Teams & Agents > Agents
Click on the user you set up for your Rewst integration.
Click the Departments & Teams tab.
Click Edit on the top left. Within Teams, select Add.
Click Save.
Required for Mapping Customers in the Integration
When creating the API Agent, ensure that the Allow use of all Customers Client Restriction setting is set to Yes if you want to allow Rewst to interact with your customer records.
Set up steps in Rewst
Navigate to Configuration > Integrations in the left side menu of your Rewst platform.
Click on the integration tile to launch the Configuration setup page.
Fill out the form with the details you created:
Resource Server Hostname: Halo PSA Resource Server hostname, e.g.
example.halopsa.com
.Client ID: Fill in the ID for the application registered in Halo PSA.
Tenant ID: When using a cloud-hosted Halo PSA instance, this must be specified. This value can be found in the Halo PSA web application under Configuration > Integrations > HaloPSA API > API Details.
Auth Server Hostname: Halo PSA Auth Server hostname, e.g.
example.halopsa.com/auth,
if different from the Resource Server Hostname.Client Secret: Fill in the authentication secret for the application registered in Halo PSA.
Is On-Premise?: Clarify whether or not the Halo PSA instance is hosted on an on-premise server.
Save the configuration. Rewst will do a quick validation of your input.
Beneath that integration authentication section you'll see the following options:
Suggest Values: This option will attempt to generate mappings between Rewst organizations and child organizations in this integration.
Refresh Options: This will re-read the potential mapping options - both organizations and companies in Halo.
Save Mappings This will apply mapping configuration changes.
Test the Integration
Navigate to Automation > Workflows in Rewst.
Create a new workflow and name it with something short and descriptive, such as
Test Halo Integration
.Add a trigger to your test workflow by clicking on the /lightning bolt image. Name your trigger whatever you’d like.
Click into the trigger’s settings.
Set the Trigger Type to Core - Always Pass.
Click Submit to save your trigger.
Click Publish to save your changes.
Click Test to run your workflow. Note that this will bring up a drop-down selector to choosing organizations.
Select your MSP level.
If the test for your MSP is successful, do the same test again. At this point in your steps, select a client organization instead, and ensure that it finishes with no errors.
Crates related to the Halo PSA integration
Troubleshooting Halo PSA integration setup
Click on any of the issues below to expand and view its solution. If your issue isn't included here, contact Rewst support in your dedicated support Discord channel.
Halo PSA actions and endpoints
For more on how actions work in Rewst, check out our introductory actions documentation here.
Halo's own API documentation can be found here.
Add or Update Actions
Adds or updates one or more action(s). If id is included then updates, if not included then creates new. Ticket ID is mandatory
/Actions
Add or Update Agents
Adds or updates one or more agents(s). If id is included then updates, if not included then creates new.
/Agent
Add or Update Appointments
Adds or updates one or more appointment(s). If id is included then updates, if not included then creates new.
/Appointment
Add or Update Assets
Adds or updates one or more asset(s). If id is included then updates, if not included then creates new.
/Asset
Add or Update Attachments
Adds or updates one or more attachment(s). If id is included then updates, if not included then creates new. The attachment must be posted in Base64 format.
/Attachment
Add or Update Clients
Adds or updates one or more client(s). If id is included then updates, if not included then creates new.
/Client
Add or Update Contracts
Adds or updates one or more contract(s). If id is included then updates, if not included then creates new.
/ClientContract
Add or Update Invoices
Adds or updates one or more invoice(s). If id is included then updates, if not included then creates new.
/Invoice
Add or Update Items
Adds or updates one or more item(s). If id is included then updates, if not included then creates new.
/Item
Add or Update Knowledge Base Articles
Adds or updates one or more knowledge base article(s). If id is included then updates, if not included then creates new.
/KBArticle
Add or Update Opportunities
Adds or updates one or more opportunities. If id is included then updates, if not included then creates new.
/Opportunities
Add or Update Organisations
Adds or updates one or more organisation(s). If id is included then updates, if not included then creates new.
/Organisation
Add or Update Projects
Adds or updates one or more project(s). If id is included then updates, if not included then creates new.
/Projects
Add or Update Quotes
Adds or updates one or more quote(s). If id is included then updates, if not included then creates new.
/Quotation
Add or Update Reports
Adds or updates one or more report(s). If id is included then updates, if not included then creates new.
/Report
Add or Update Sites
Adds or updates one or more site(s). If id is included then updates, if not included then creates new.
/Site
Add or Update Statuses
Adds or updates one or more status(es). If id is included then updates, if not included then creates new.
/Status
Add or Update Suppliers
Adds or updates one or more supplier(s). If id is included then updates, if not included then creates new.
/Supplier
Add or Update Teams
Adds or updates one or more team(s). If id is included then updates, if not included then creates new.
/Team
Add or Update Tickets
Adds or updates one or more ticket(s). If id is included then updates, if not included then creates new.
/Tickets
Delete Action
Deletes the Action and related objects with the specified id
/Actions/{action_id}
Delete Agent
Deletes the agent and related objects with the specified id
/Agent/{agent_id}
Delete Appointment
Deletes the Appointment and related objects with the specified id
/Appointment/{appointment_id}
Delete Asset
Deletes the asset and related objects with the specified id
/Asset/{asset_id}
Delete Attachment
Deletes the attachment and related objects with the specified id
/Attachment/{attachment_id}
Delete Client
Deletes the Client and related objects with the specified id
/Client/{client_id}
Delete Contract
Deletes the contract and related objects with the specified id
/ClientContract/{contract_id}
Delete Invoice
Deletes the invoice and related objects with the specified id
/Invoice/{invoice_id}
Delete Item
Deletes the item and related objects with the specified id
/Item/{item_id}
Get Action
Returns a single Action object
/Actions/{action_id}
Get Agent
Returns a single Agent object
/Agent/{agent_id}
Get Appointment
Returns a single Appointment object
/Appointment/{appointment_id}
Get Asset
Returns a single Asset object
/Asset/{asset_id}
List Actions
Returns an object containing the count of actions, and an array of action objects for a given ticket.
/Actions
List Agents
Returns an array of Agents
/Agent
List Appointments
Returns an array of appointments
/Appointment
List Assets
Returns an object containing the count of Assets, and an array of Asset objects
/Asset
List Attachments
Returns an array of attachments. Each attachment returned will be in Base64 format.
/Attachment
Preview Report
Previews a report from Halo PSA.
/Report
List Users
Returns an object containing the count of Users and an array of User objects
/Users
List Top Levels
Returns an object containing the count of top levels, and an array containing the top level tree
/Toplevel
List Ticket Types
Returns an array of Ticket Types
/TicketType
List Tickets
Returns an object containing the count of tickets, and an array of ticket objects
/Tickets
List Teams
Returns an array of Teams
/Team
List Suppliers
Returns an array of suppliers
/Supplier
List Statuses
Returns an array of Statuses
/Status
List Sites
Returns an object containing the count of Sites, and an array of Site objects
/Site
List Reports
Returns an object containing the count of reports, and an array of report objects
/Report
List Quotes
Returns an object containing the count of quotes, and an array of quote objects
/Quotation
List Projects
Returns an object containing the count of projects, and an array of project objects
/Projects
List Organisations
Returns an array of organisations
/Organisation
List Opportunities
Returns an object containing the count of opportunities, and an array of opportunity objects
/Opportunities
List Knowledge Base Articles
Returns an array of knowledge base articles
/KBArticle
List Items
Returns an object containing the count of items, and an array of item objects
/Item
List Invoices
Returns an object containing the count of invoices, and an array of invoice objects
/Invoice
List Contracts
Returns an array of contracts
/ClientContract
List Clients
Returns an object containing the count of Clients, and an array of Client objects
/Client
List Attachments
Returns an array of attachments. Each attachment returned will be in Base64 format.
/Attachment
List Assets
Returns an object containing the count of Assets, and an array of Asset objects
/Asset
List Appointments
Returns an array of appointments
/Appointment
List Agents
Returns an array of Agents
/Agent
List Actions
Returns an object containing the count of actions, and an array of action objects for a given ticket.
/Actions
Halo PSA API Request
Generic action for making authenticated requests against the Halo PSA API
Got an idea for a new Integration? Rewst is constantly adding new integrations to our integrations page. Submit your idea or upvote existing ideas here in our Canny feedback collector.
Last updated
Was this helpful?