Connecting HaloPSA to MSPbots lets you leverage automation and Business Intelligence (BI) solutions to manage every aspect of your MSP business. The integration is done by assigning the appropriate user permissions in HaloPSA, entering the integration settings in the MSPbots app, and configuring webhooks.
This article provides the prerequisites and step-by-step guide to establishing a HaloPSA connection with MSPbots.
1. Prerequisites for connecting HaloPSA to MSPbots
You need the following to establish a successful Halo PSA integration with MSPbots:
-
Correct permissions set in Halo PSA:
- Ensure the user is part of a department or team that has the corresponding permissions to access the relevant data. If the user is not, click Edit to add the user to a corresponding team or department.
- Ensure the user is part of a department or team that has the corresponding permissions to access the relevant data. If the user is not, click Edit to add the user to a corresponding team or department.
2. How to transition to the new backend webhook
Due to the Halo team upgrading the backend webhook version and not maintaining support for the old system. If you continue to use the old version of the webhook, it may cause issues.
So, refer to the following steps to upgrade the backend webhook. If you have already upgraded, skip and proceed with the configuration of section 3.
- Log in to HaloPSA.
-
Click Configuration > Advanced Settings in sequence.
-
Navigate to Backend Services and tick the checkboxes for the following options:
- Use Event Service
- Use Outgoing Service (BETA)
- Use Incoming Service (BETA)
3. How to obtain field values connecting HaloPSA integration
- Log in to HaloPSA.
-
Click Configuration > Integrations > HaloPSA API in sequence.
-
Copy the values of the Resource Server and Authorization Server to your desktop.
When connecting to Halo integration, these two values will be used as the Resource URL and Auth URL respectively.
-
Click View Applications.
-
Click New, and fill in the following fields in Details section.
If you already have an account, click on the account name and follow the steps below to check if the Details and Permissions settings of the account are correct.
-
Enter a unique Application Name, the value of the Application Name will be used as the value of the Tenant field when connecting to the Halo integration to MSPbots.
- Keep Active checked.
- For Authentication Method, check Client ID and Secret (Services).
-
Be sure to copy the values of Client ID and Client Secret to your desktop. These values are required when connecting Halo integration to MSPbots.
Be sure to save the value of Client Secret as it is only shown during the creation of the application. Once saved, the value of the Client Secret will no longer be displayed.
- For Login Type, select Agent.
-
For Agent to log in as, select the admin who will access to the MSPbots app.
-
Enter a unique Application Name, the value of the Application Name will be used as the value of the Tenant field when connecting to the Halo integration to MSPbots.
-
Click Permissions, then check all and all:teams to assign all permissions to the admin user.
-
Click Save.
If you want to learn more, refer to the HaloPSA Guides for instructions on setting up.
4. How to configure Agents permissions
-
Go to Configuration > Teams & Agents > Agents in sequence.
-
Click the admin name you selected in step 3.5.f.
-
Click Permissions.
-
Click Edit.
- In Permissions tab, set the following fields:
-
Navigate to Tickets Permissions, and set the following two fields to Yes:
- Can view Unassigned Tickets
-
Can view Tickets that are assigned to other Agents
- Navigate to Asset Type Restrictions, and set Allow use of all Asset Types to Yes.
- Navigate to Ticket Type Restrictions, and set Allow use of all Ticket Types to Yes.
- Navigate to Asset Field Restrictions, and set Allow use of all Asset Fields to Yes.
- Navigate to Calendars and Appointments Permissions,
- Set Editing of Appointments to Can Edit Own Appointments Only.
- Set Adding New Appointments to Can Add All Appointments.
- Set Visibility of Appointments to Can view Team and Department Appointments Only.
- Set Deleting of Appointments to Can Delete Own Appointments Only.
- Navigate to Billing Permissions,
- Set Can View Item Costs to Read Only.
- Set Can View Item Prices to Read Only.
- Set Can View Agent Costs to Yes.
-
Navigate to Tickets Permissions, and set the following two fields to Yes:
-
Click Save.
5. How to set up the Halo PSA and MSPbots Integration
5.1. Complete the prerequisites for the integration.
5.2. Submit the required information in the MSPbots app.
- Log in to the MSPbots app and navigate to Integrations on the menu.
-
Search for Halo PSA and click it to open the connection settings.
-
When the Halo PSA configuration settings appear, fill in all of the following required fields:
- Auth URL - Enter Authorization Server from step 2.3.
-
Resource URL - Enter the Resource Server from step 2.3. For example, https://xxx.xxx.xxx/api.
-
Tenant - Enter the Application Name from step 2.5.a.
When you are using Halo On Premise, go to Configuration > HaloPSA API in the Halo app, then copy and enter the value of Tenant here.
- Client ID - Enter the Callback URL from step 2.5.d.
-
Client Secret - Enter the Callback URL from step 2.5.d.
-
Click Save And Sync when done. When Success appears, the connection of Halo PSA integration is successful.
- Click
the Config coin to open the connection settings.
-
Click
to copy the the value of Callback URL to your desktop.
5.3. Configure the HaloPSA webhook
A webhook is required for HaloPSA dashboards to function properly. Configure the HaloPSA webhook according to the steps below.
It is important to configure the webhook correctly. If not properly set, an incorrect webhook may affect the normal data synchronization adversely and trigger HaloPSA's request limit rate of 450 requests within 5 minutes.
A correct webhook configuration request ensures that the system will not initiate duplicate synchronizations, thereby reducing the possibility of triggering the rate limit.
- Once the field for Callback URL is visible, log in to the HaloPSA app.
-
Navigate to Configuration > Integrations > Webhooks.
-
Click New to open the New Webhook screen.
-
Fill in the fields for Webhook Name and Payload URL. You can leave the other fields with their default values.
-
Webhook Name - Enter a unique webhook name.
- Payload URL - Enter the Callback URL from step 3.2.6.
-
-
On the New Event screen, select Ticket Changed from the Event dropdown menu.
- Click
button.
-
In the Add Criteria popup, select Summary and then click Save.
-
Fill in the following fields.
- Set Rule Type to Is not equal to.
-
Set Summary to "".
- Click Save.
-
Click Save on the New Event screen.
Note that when you successfully add the Ticket Changed event, its name will display as Ticket Updated.
Clicking on the event to enter its detail page will then display the event name as Ticket Changed - All. This is a normal occurrence and is the name defined by the official Halo API of the HaloPSA app, so there is no need to worry. Proceed with the next steps.
- Repeat Steps 5.3.5, 5.3.6 and 5.3.11 until all the following events are added.
- Ticket Changed
- New Ticket Logged
- Site created
- Site updated
- Site deleted
- User created
- User updated
- User deleted
- Invoice created
- Invoice updated
- Invoice deleted
-
Then click Save on the New Webhook screen to keep the configuration.
-
6. What are the Webhook statuses and messages for the Halo PSA integration?
The Webhook statuses for your Halo PSA interaction can show any of the following:
Status | Message | Description |
---|---|---|
Webhook Successful |
|
This means that all the data was received successfully. |
Webhook Received No Data For Some Events |
|
This means that Webhook did not receive some data because of one of the following reasons:
|
Webhook Received No Data |
|
This means the webhook did not receive data because of the same reasons explained in the previous status message. Resolve this using the same recommendations for the previous message. |
Webhook Received No Data Within 4 Days |
|
This means that MSPbots has not received data from the webhook for the past 4 days. Ensure that all webhook events are properly configured according to the section Configure the HaloPSA webhook. |
7. Known issues
7.1. The Halo API connection failed with the error message "/Appointment: 403: Forbidden"
Refer to step 6 in 2. How to obtain field values connecting HaloPSA integration section to check if your account's permissions are set to all and all:teams.
7.2 The response times in Halo's widgets are high
The response times in Halo's widgets may appear high because it counts all the ticket's response times instead of counting only the first response. This issue happens because the first response time field is not yet available in Halo's API.
We are actively working with Halo's team to add this field as soon as it is released.