> ## Documentation Index
> Fetch the complete documentation index at: https://kb.mspprocess.com/llms.txt
> Use this file to discover all available pages before exploring further.

# HaloPSA

> Connect HaloPSA to Triggr with a Client ID and Secret API application, then map your clients to Halo clients.

Triggr works with Halo clients, users, tickets, ticket actions, sites, assets and recurring invoices.

## Set up HaloPSA

**1. Create an agent for Triggr**

In **Configuration > Teams & Agents > Agents**, create an agent such as `Triggr API` with access to every client and team your workflows use. Triggr can only see and change what this agent can.

**2. Create an API application**

In **Configuration > Integrations > Halo API**, click View Applications, then New:

* Authentication Method: Client ID and Secret (Services)
* Login Type: Agent, with Agent to log in as set to your Triggr agent
* Permissions tab: tick all

Save it, then copy the Client ID and Client Secret. You may not see the secret again.

**3. Find your Halo address**

API Details on the Halo API page shows your Resource Server, such as `https://yourcompany.halopsa.com/api`. Your Halo address is that URL without `/api`.

See Halo's guide to [creating API applications](https://usehalo.com/halopsa/guides/1823/).

## Connect it in Triggr

**1. Open the integration**

Go to **Integrations > HaloPSA** and click Configure on the Base Configuration card.

![The Base Configuration card with Status Not Configured, Admin Consent Not Required and a Configure button.](https://mintcdn.com/triggr/nyuVXZ1rouDTTEvu/images/integrations-common/base-configuration.png?fit=max\&auto=format\&n=nyuVXZ1rouDTTEvu\&q=85\&s=bb81acb082055015f91beda7b4876f35)

**2. Enter your Halo details**

Enter your Halo address as BaseURL, plus the ClientID and ClientSecret. Leave TenantID blank, then click Save Configuration.

![The HaloPSA configuration window with BaseURL, ClientID, ClientSecret and TenantID fields, an Allow insecure TLS switch under Advanced, and a Save Configuration button.](https://mintcdn.com/triggr/nyuVXZ1rouDTTEvu/images/halopsa/configure.png?fit=max\&auto=format\&n=nyuVXZ1rouDTTEvu\&q=85\&s=2c5743efcdc4eb466cd3dca67918efd0)

Ticket steps run against the PSA set as Default PSA: in Triggr Core, Settings > General; in Studio, **Settings > Org Variables > Setup Wizard**. See [Connect your PSA](https://kb.mspprocess.com/core/get-started/connect-your-psa.md).

![The Setup Wizard's Preferred PSA question with cards for Halo PSA, ConnectWise PSA, Syncro PSA, Autotask by Datto and Other.](https://mintcdn.com/triggr/_d7ojda9vf8IHE31/images/studio/clients/setup-wizard-psa.png?fit=max\&auto=format\&n=_d7ojda9vf8IHE31\&q=85\&s=6103f45917d3fc6f0e9720f875f2aad3)

## Map your clients

On the Client Mapping card, click **Apply 100% Matches**, then choose the Halo client in Mapped to for anyone left. Triggr saves each match as the client's `haloId` variable.

![The Client Mapping card with All, Mapped and Unmapped filters, Acme Corp mapped to Acme Corp with a 75% suggested mapping, and Globex unmapped with a Select ConnectWise Manage clients dropdown.](https://mintcdn.com/triggr/nyuVXZ1rouDTTEvu/images/integrations-common/client-mapping.png?fit=max\&auto=format\&n=nyuVXZ1rouDTTEvu\&q=85\&s=da797e78dc917005df8e55c6b6cb166b)

The Client Mapping card, shown here for ConnectWise Manage.

## Troubleshooting

> [accordion] Authentication fails, or Halo rejected the configured credentials
>
> BaseURL must start with `https://` and not end in `/api` or `/`. In Halo, check the application is enabled, uses Client ID and Secret (Services) and has the all permission, then re-copy the Client ID and Client Secret.

> [accordion] client ID is required (provide halo\_client\_id or ensure the current client is mapped in the HaloPSA integration)
>
> A Create Ticket step ran for a client with no `haloId`. Map the client on the Client Mapping card, or set the step's Client ID to the client's `haloId` variable.

> [accordion] Clients are missing from Client Mapping
>
> The Triggr agent can't see them. Give it access in Halo, then click Refresh on Client Mapping.

> [accordion] An action is refused
>
> Give the Triggr agent the permission or team access the action needs.

> [accordion] Could not reach Halo, or Halo is hosted on-premises
>
> Triggr needs a public address with a certificate from a trusted authority. Publish Halo there and allow [Triggr's IP addresses](https://kb.mspprocess.com/security/ip-allowlist.md) through your firewall.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.