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
  3. Update Agent Permissions (in the Permissions tab):
    • Feature Access:
      • Tickets Access Level: Read and Modify
      • Customers Access Level: Read Only
    • Ticket Permissions:
      • Can add new Tickets: Yes
      • Can view Unassigned Tickets: Yes
      • Can view Tickets that are assigned to other Agents: Yes
  4. Go to Configuration → Integrations → HaloPSA API.
  5. Copy and store the values for Tenant and Resource Server.
  6. Click View ApplicationsNew and enter:
    • Name: Petra
    • Authentication Method: Client ID and Secret (Services)
    • Login Type: Agent
    • Agent to log in as: petra_api

2. Add an API Application for Petra

  1. Copy the generated Client ID and Client Secret and store them safely, then click Save.
  2. 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.