Skip to main content

Ticketing

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.

Billing

Petra can sync billing data to Halo PSA by managing Software Licences. This section covers the additional setup required beyond the ticketing integration above.

Additional Agent Permissions

Add the following to the petra_api agent permissions from step 1:
  • Feature Access:
    • Software Licencing Access Level: Read and Modify
    • Products Access Level: Read Only

Additional API Application Permissions

Add the following to the API Application permissions from step 2:
  • Read: softwarelicensing
  • Edit: softwarelicensing
The existing read:items permission from the ticketing setup is also used by billing to map Petra products to Halo Items, so no changes are needed there.

Configure Billing in Petra

Once the additional permissions are in place, go to Settings in Petra and configure billing sync for your Halo PSA tenants. Need help? Email us at support@petrasecurity.com.