Prerequisites
- Petra account
- Halo PSA administrator permissions
1. Create a Halo API user for Petra
- In Halo PSA, navigate to
Configuration → Teams & Agents → Agents
and click New. - 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
- Username:
- 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
- Feature Access:
- Go to
Configuration → Integrations → HaloPSA API
. - Copy and store the values for Tenant and Resource Server.
- Click View Applications → New 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
- Copy the generated Client ID and Client Secret and store them safely, then click Save.
- 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
3. Link Halo PSA in Petra
- In Petra, open Settings: https://app.petrasecurity.com/settings and click Link Halo PSA.
- Enter the credentials you saved earlier:
- Tenant
- Resource Server URL (omit the trailing
/api
if present) - Client ID
- Client Secret
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.