Prerequisites

  • Petra account
  • Halo PSA administrator permissions

1. Create a Halo API user for Petra

  1. In Halo PSA, navigate to Configuration → Teams & Agents → Agents and click New.
  2. Fill in the following details and save:
    • Username: petra_api
    • Password: Use a strong password
    • Use AD authentication: No
    • Roles: Administrator (scope will be limited via API application permissions)
    • Is an API-only Agent: Checked
    • Default Team: No default team
    • Work Hours: 24 Hours
    • Can approve Purchase Orders: Unchecked

2. Add an API Application for Petra

  1. Go to Configuration → Integrations → HaloPSA API.
  2. Copy and store the values for Tenant and Resource Server.
  3. Click View ApplicationsNew and enter:
    • Name: Petra
    • Authentication Method: Client ID and Secret (Services)
    • Login Type: Agent
    • Agent to log in as: petra_api
  4. Copy the generated Client ID and Client Secret and store them safely, then click Save.
  5. Open the Permissions tab and enable:
    • Admin: webhooks
    • Read: tickets
    • Edit: tickets
    • Read: customers
    • Read: contracts
    • Edit: contracts
    • Read: items
    • Edit: items
    • Read: invoices
    • Edit: invoices
Click Save.
  1. In Petra, open Settings: https://app.petrasecurity.com/settings and click Link Halo PSA.
  2. Enter the credentials you saved earlier:
    • Tenant
    • Resource Server URL (omit the trailing /api if present)
    • Client ID
    • Client Secret
Then click Save. If authentication errors occur, correct the values and try again.

Troubleshooting

  • Authentication failed: Verify Tenant, Resource Server (without /api), Client ID, and Client Secret. Regenerate credentials if needed.
  • Permission errors: Confirm the API Application permissions are set as above and the petra_api Agent is active and API‑only.
  • Ticket routing unexpected: Review service parameters, Ticket Type/Category overrides, and automations in Halo PSA.
Need help? Email us at support@petrasecurity.com.