This article will run you through the steps required to setup integration for organisations who use HaloPSA.
You can either setup a role that contains the permissions, or configure the permissions directly on the agent. This guide covers setup of a specific role for BeeCastle, as this ensures the least privilege available to our user.
Setup a Role for the BeeCastle Integration
Navigate to Configuration -> Teams & Agents -> Roles
Click New in the top right
Name the role - BeeCastle API Role
Click Save to save the shell role
Click Edit to set permissions
Click on Departments and Teams in the horizontal menu.
Click Add next to Teams. This will pop a modal form.
Add a team that has visibility of opportunities. Your sales team is typically a good choice.
Click Save on the modal.
Click Permissions in the horizontal menu, and set the following permissions.
Ticket Access = Read and Modify
Clients Access = Read
Users Access = Read
Items Access = Read
Sales Access = Read
Invoices Access = Read
Client Agreements Access = Read
Can add new tickets = Yes
Can view unassigned = Yes
Can view tickets that are assigned to other agents = Yes
Can assign to Agents in Teams the Agent is not a member of = Yes
Ticket Type Restrictions
Allow use of all Ticket Types = Yes
Allow use of all clients = Yes
Can view item costs = Yes
Setup an Agent for the BeeCastle Integration
Navigate to Configuration -> Teams & Agents -> Agents
Click New in the top right
Name the agent - BeeCastle API
For “Roles”, select the role that was created above.
Ensure “Account Active” is checked, as well as “Is an API-only Agent”.
Select a default team for the agent, same team that was assigned in the role above.
Set “Default Working Hours” for “Work Hours”
Then, click Edit
Select the "Departments & Teams" tab
In the Teams dropdown, choose all teams.
Ensure that "Can be assigned to", "Can see Unassigned Tickets for this Team", and "Can see Tickets assigned to other Agents in this Team" are checked.
Gather Endpoint Data
Navigate to Configuration -> Integrations -> HaloPSA
Make a note of the Resource Server, Authorisation Server, and Tenant and send to BeeCastle
From the above page, click View Applications within the Applications section
Then click New in the upper right corner
Enter the following data on the new application screen
Authentication Method: Client ID and Secret (Services)
Make a note of the Client ID (below Authentication Method) and Client Secret, and send to the BeeCastle Team
Login Type: Agent
Agent: Choose the agent you created earlier
Click Permissions Tab, and add the following permissions
Navigate to Configuration -> Integrations -> Webhooks
Click New in the upper right
Fill the following details in the form
Webhook name: BeeCastle Webhook
Payload URL: (TBA, requires beecastle account to generate)
Webhook Type: Standard Webhook
Content Type: application/json
Authentication: No authentication
Use a custom payload: false
Events: add the following events
New ticket logged (with condition of “Ticket Type” “is equal to” “Opportunity”)