HaloPSA: Setting up HaloPSA's API Pre-Integration

Before HaloPSA can be integrated with Moovila there are several steps to be taken within Halo to set up permissions and structure for a successful integration.

API-Only Agent Creation + Permissions

  1. The first step will be to set up a HaloPSA agent. In Halo, go to Configurations in the left navigation, then select Teams & Agents from the listing, finally click on Agents. Either select an existing agent to make an API-only Agent, or create a new agent for this purpose. Under the Details tab, check the is an API-only Agent box
    2024-05-31_11-26-08.png
     
  2. Click to access the Permissions tab, then apply the following permissions to this API-only agent and click Save once permissions are set.:
    2024-05-31_11-34-17.png

    PermissionValue

    General Permissions
     Is a HaloPSA Administrator No

    Feature Access
     Tickets Access Level Read and Modify
     Customers Access Level (depending on your Halo configuration, this could be "Clients") Ready Only
     Calendars and Appointments Access Level Read and Modify
     Products Access Level (depending on your Halo configuration, this could be "Items") Read Only
     Sales Access Level Read Only
     Timesheets Access Level Read and Modify (All)

    Tickets Permissions
     Can add new Tickets Yes
     Can edit closed Tickets Yes
     Can view Unassigned Tickets Yes
     Can view Tickets that are assigned to other Agents Yes
     Can change a Tickets Ticket Type Yes
     Can Re-Assign Tickets Yes
     Can Edit Advanced Ticket Details Yes
     Editing of Actions Can Edit All Actions
     Can Delete Tickets Yes
     Can assign to Agents in Teams the Agent is not a member of Yes
     Can Edit Tickets Which Are Not Assigned to Them Yes
     Can always update Ticket Statuses and re-assign Tickets   outside of actions Yes
     Can remove To-Do items Yes

    Calendars and Appointment Permissions
     Editing of Appointments Can Edit All Appointments
     Adding New Appointments Can Add All Appointments
     Visibility of Appointments Can View All Appointments
     Deleting of Appointments Can Delete All Appointments

    Ticket Type Restrictions
     Allow use of all Ticket Types Yes

    Client Restrictions
     Allow use of all Customers (depending on your Halo configuration, could be "Clients") Yes

    Configuration
     Allow creation of new Ticket Types and linked objects Yes
  3. Click into the Departments & Teams tab. In the Teams section, make sure that the agent has been added to the Teams needed to access the projects that are expected to be synchronized. Do the same in the Departments section, making sure that the Membership type grants the ability to "Modify All." Use the Edit button in the upper navigation if changes need to be made to these items.
    2024-06-01_19-03-27.png

    Note: As of HaloPSA version 2.143.23, the Departments & Team permissions must be set on the API Agent, not on the Role, in order for access to the departments and teams to work properly through the API.

Integration Application Setup

  1. A HaloPSA administrator will need to set up an "Application" within HaloPSA. To do this, click on the Configuration icon in the left navigation, and then select Integrations, then HaloPSA API.2024-05-31_11-56-08.png

    2024-05-31_13-37-46.png

     
  2. The API Details screen opens. Click the View Applications button.2024-05-31_13-39-47.png
     
  3. The Applications screen opens. Click New to add a new Application.
    2024-05-31_13-40-08.png
     
  4. The Add an Application screen opens. Add an Application Name, set the Authentication Method to "Client ID and Secret (Services)." The Login Type should be set to "Agent," and the Agent to log in as will be set to the API user that you set up in the previous steps. A "Client ID" and "Client Secret" will be generated, please capture this information, as you will need to use it in Moovila during the configuration of the Halo integration. 2024-05-31_13-49-56.png
    2024-05-31_13-50-17.png
     
  5. Click into the Permissions tab. Check the boxes of the following permissions:
    2024-05-31_13-52-02.png
    • all: teams
    • admin: webhooks
    • read: tickets
    • edit:tickets
    • read: customers
    • read: projects
    • edit: projects
    • read: reporting
    • edit: reporting
    • read: timesheets
    • edit: timesheets
    • read: calendar
    • edit: calendar

      Once all permissions have been applied, click on the Save button at the top of the screen.

Ticket Type Setup

  1. HaloPSA administrative users will need to have at least one ticket type configured in their system to represent a project and at least one other to represent a project task. These will be used when a project or task is created in Moovila and the integration will need to create a corresponding project ticket or project task ticket in Halo. To add these ticket types, click on the Configuration icon in the left navigation, then select Tickets>Ticket Types. Click on the New button in the upper right to create the new ticket types. The next steps will be performed twice--once for the project ticket type and once for the project task ticket type.
    2024-05-31_14-52-33.png
     
  2. The New Ticket Type dialogue opens. Enter a Ticket Type Name and follow the steps below. 2024-05-31_14-47-06.png

    Configuration Settings for Project Ticket Type:

    Details Tab Settings
     
    ITIL Ticket TypeProjects
    UseProjects
    Project HierarchyProjects
    Visible in List for AgentsChecked
    Agents can log new Tickets with this Ticket TypeChecked
    Defaults Tab Settings
    TeamThe team should be set to the same Team for both the project and project task ticket types. It should also be insured that it is a team that is synced via the integration configuration.


    Configuration Settings for Project Task Ticket Type:

    Details Tab Settings
     
    ITIL Ticket TypeProjects
    UseProjects
    Project HierarchyProject Tasks
    Visible in List for AgentsChecked
    Agents can log new Tickets with this Ticket TypeChecked
    Defaults Tab Settings
    TeamThe team should be set to the same Team for both the project and project task ticket types. It should also be insured that it is a team that is synced via the integration configuration.

    Also to note, when setting up the fields to be used and displayed for the ticket types, please be sure to use the Start Date & Time and Target Date & Time fields, not the separated Start DateStart TimeTarget Date and Target Time fields as these cause issues with the Halo API setting the date/time values appropriately.
     

  3. Once these settings have been applied, click the Save button to save the new ticket types.
    2024-05-31_14-50-10.png

 

Advanced Settings

Under the section Configuration > Advanced Settings, per Halo's direction to avoid the Halo API exception "The instance of entity type 'Faults' cannot be tracked because another instance with the same key value for {'faultid'} is already being tracked", please set the field "Next Ticket ID Calculation Method" to "Auto-incrementing key."

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Article is closed for comments.