This article will run you through the steps required to setup integration for organisations who use HaloPSA.
Topics Covered
Setup Process
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.
Feature Access
Ticket Access = Read and Modify
Clients Access = Read
Users Access = Read
Items Access = Read
Sales Access = Read
Invoices Access = Read
Client Agreements Access = Read
Ticket Permissions
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
Client Restrictions
Allow use of all clients = Yes
Billing Permissions
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”
Click Save
Then, click Edit
Select the "Departments & Teams" tab
Click "Add"
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.
Click Save.
Gather Endpoint Data
Navigate to Configuration -> Integrations -> HaloPSA
Make a note of the Resource Server, Authorisation Server, and Tenant and send to BeeCastle
Setup Application
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
Name: BeeCastle
Active: checked
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
read:customers
read:contracts
read:invoices
read:items
read:sales
read:tickets
Click Save
Setup Webhooks
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
Method: Post
Content Type: application/json
Authentication: No authentication
Enabled: checked
Use a custom payload: false
Events: add the following events
Client created
Client deleted
Client updated
User created
User deleted
User updated
New ticket logged (with condition of “Ticket Type” “is equal to” “Opportunity”)
Ticket updated
Click save