Halo PSA Webhook Integration

Connect Halo PSA to Ticket2Doc so technicians can generate an SOP directly from a resolved ticket. Halo is one of two supported PSAs (the other is Syncro) — Ticket2Doc processes one PSA per tenant, selected in Settings.

You’ll also need a documentation provider connected first — see the Hudu or IT Glue integration guide if you haven’t done that yet.


Step-by-Step Configuration

Step 1: Create the Halo API Application

  1. Log into Halo PSA as an Administrator.

  2. Go to Configuration ➔ Integrations ➔ Halo PSA API.

  3. Click View Applications ➔ New.

  4. Name the application Ticket2Doc Integration.

  5. Set Authentication Method to Client ID and Secret (Services).

  6. Choose the Login Type / Agent the integration should act as. Ticket2Doc logs its private notes as this agent, so the agent’s own role must allow viewing tickets and adding ticket actions — Halo enforces the agent’s permissions on top of the API permissions below.

  7. On the Permissions tab, tick exactly two boxes — do not grant all:

    • read:tickets — reads the ticket, its action notes, and any screenshots.
    • edit:tickets — logs the private note containing the link to the generated SOP.

    Nothing else is required. In particular, read:customers is not needed: the client name is read from the ticket itself, not the Customers API.

  8. Click Save, then copy the generated Client ID and Client Secret.

  9. Your Halo Instance URL is the address you use to log in (e.g. https://yourcompany.halopsa.com).

  10. Go to your Ticket2Doc Portal Settings, select Halo PSA, paste the URL, Client ID, and Client Secret, then click Save Settings.

Tenant name: Leave the optional Halo Tenant Name field blank unless Halo support specifically gave you one — it’s only required on some hosted multi-tenant instances. Ticket2Doc automatically infers the tenant from the instance URL for hosted Halo (*.halopsa.com, *.usehalo.com, *.haloitsm.com, *.haloservicedesk.com); self-hosted instances don’t use a tenant at all.


Step 2: Create the “Create Ticket2Doc SOP” Ticket Action

In Halo, the trigger is a ticket action rather than a custom field. Your technicians run this action on a ticket and Ticket2Doc generates the SOP.

  1. Go to Configuration (the gear icon) ➔ Tickets ➔ Actions and click New.
  2. Set the Description and Button Name to Create Ticket2Doc SOP.
  3. Check Action button is visible.
  4. Check Action is visible outside of Workflows.
  5. Save the action.

Step 3: Make the Action Available on Your Ticket Types

  1. Go to Configuration ➔ Tickets ➔ Ticket Types.
  2. Select the ticket type your technicians use (e.g. Incidents or Service Requests) and click Edit.
  3. Go to the Allowed Values tab.
  4. Add Create Ticket2Doc SOP to the allowed actions list — or check Allow All Actions.
  5. Repeat for every ticket type your technicians should be able to trigger this from.

Step 4: Allow the Action in Your Workflows

Halo also gates which actions an agent can run by workflow, separately from the ticket type.

  1. In the Configuration menu, go to Tickets ➔ Workflows (near the bottom of the list, under Time Management).
  2. Open each workflow your technicians use.
  3. Under the agent actions allowed, add Create Ticket2Doc SOP.
  4. Save.

If a ticket is on a workflow that doesn’t allow this action, agents won’t see the button — make sure you’ve added it to every workflow in use, not just the default one.


Step 5: Connect the Webhook

  1. Go to your Ticket2Doc Portal Settings, select Halo PSA, and copy your Unique Halo PSA Webhook Endpoint URL.
  2. In Halo, go to Configuration ➔ Integrations ➔ Webhooks.
  3. Click New Webhook.
  4. Name it something recognizable, e.g. Ticket2Doc Action Trigger.
  5. Paste your copied Ticket2Doc endpoint as the Payload URL — just the URL, no extra query string or custom JSON body needed. Ticket2Doc reads the ticket ID straight out of whatever Halo sends by default.
  6. Click New Event and set:
    • Event: Action Added
    • Trigger: action added by agent
    • Action: Create Ticket2Doc SOP
  7. Save the webhook.

💡 Why an action instead of a custom field? Running the action is an explicit, deliberate step — so unlike Syncro there is no checkbox to tick and no risk of every resolved ticket generating a document. If the action runs, Ticket2Doc generates the SOP.


How to Trigger SOP Generation on a Ticket

  1. Open the resolved ticket in Halo PSA.
  2. Make sure the ticket has detailed technician notes on its actions — this is the raw material the SOP is built from.
  3. Click Actions on the ticket and choose Create Ticket2Doc SOP.
  4. Halo fires the webhook, and within a few seconds Ticket2Doc fetches the ticket description, all its action notes, and any screenshots, sanitizes them, and posts the SOP to Hudu or IT Glue.
  5. Ticket2Doc then logs a private note back on the Halo ticket containing the link to the generated document.

Halo has no “unchecked box” state like Syncro’s custom field — the action is the trigger, so an SOP is only ever created when a technician deliberately runs it.

Where does the SOP appear?

The generated article is posted directly under the matching Hudu Company or IT Glue Organization (matched by the ticket’s client name in Halo). You can review and edit it from within your documentation platform at any time.

Ready to automate your MSP documentation?

Start with a 14-day free trial — no credit card required.