PSA Ticket Auto-Creation
When an on-call technician acknowledges an incident, On-Call automatically creates a PSA ticket so that the event is tracked in your service delivery system and billable time can be logged.
How Auto-Creation Works
- On-call technician acknowledges an incident in On-Call
- On-Call calls the PSA API to create a new ticket
- PSA ticket is created with the incident details pre-populated
- The PSA ticket ID is stored on the On-Call incident (
psa_ticket_idfield) - As the technician adds notes to the On-Call incident, notes sync to the PSA ticket
- When the On-Call incident is resolved, the PSA ticket is updated with the resolution summary
This means you get a complete paper trail in PSA without manual data entry — the on-call technician works in On-Call and PSA stays in sync automatically.
What Gets Created in PSA
The auto-created PSA ticket includes:
| PSA Field | Value |
|---|---|
| Title | On-Call incident title (e.g., "CPU critical on client-server-01") |
| Description | Incident description + alert source + triggering product (RMM, Defend, etc.) |
| Source | "On-Call Auto" |
| Priority | Mapped from On-Call severity: critical→P1, high→P2, medium→P3, low→P4 |
| Client / Company | Tenant organization (linked via org ID) |
| Assigned Tech | The acknowledging technician |
| Created Date | Incident creation timestamp |
For Defend-sourced incidents, the description also includes:
- Device name and hostname
- MITRE technique ID and name
- Recommended action from Defend
Adding Notes That Sync to PSA
Any note added to the On-Call incident after acknowledgment is synced to the PSA ticket:
- Open the incident in On-Call.
- Scroll to the Notes section.
- Type your investigation note and click Add Note.
- The note is added to the On-Call incident timeline and appended to the PSA ticket as an internal note.
Resolution Sync
When you resolve an On-Call incident:
- The incident status changes to
resolvedin On-Call. - On-Call sends the final resolution summary to PSA.
- The PSA ticket is updated with:
- Resolved timestamp
- Resolving technician name
- Resolution summary (if a closing note was added)
- PSA ticket status is set to
Completed(or your PSA's equivalent closed status).
If you resolved the PSA ticket manually before resolving the On-Call incident, no duplicate action is taken.
Configuring PSA Integration
Prerequisites
- The One PSA configured and accessible
PSA_API_URLenvironment variable set on the On-Call API function appPSA_SERVICE_KEY(X-Integration-Key) set on both PSA and On-Call API
Environment Variables (On-Call API)
| Variable | Value |
|---|---|
PSA_API_URL | https://api.theonepsa.com (or your PSA API base URL) |
PSA_SERVICE_KEY | Shared secret matching ONCALL_SERVICE_KEY on PSA |
Set these in theoneoncall-kv Key Vault or directly as app settings.
Verifying the Connection
- Trigger a test incident manually (create via Incidents → New Incident).
- Acknowledge it.
- Check your PSA for a newly created ticket.
- If no ticket appears, check On-Call API logs for
psa-ticket-creationerrors.
PSA_API_URL or PSA_SERVICE_KEY is not configured, acknowledgment still works in On-Call but no PSA ticket is created. The incident will have a null psa_ticket_id. Configure these variables before going live with on-call coverage.Manual Ticket Creation
If auto-creation is not configured or failed, technicians can still link a PSA ticket manually:
- Open the incident in On-Call.
- Find the PSA Ticket field in the incident detail.
- Enter the existing PSA ticket ID.
- Click Save.
This links the records for future reference but does not retroactively sync past notes.
Multiple Clients / Multi-Tenant
In a multi-tenant MSP deployment, On-Call includes the tenant_id with every PSA ticket creation request. PSA maps the tenant ID to the correct client company, ensuring tickets are created under the right client account.
If a ticket is created under the wrong client, verify that:
- The On-Call tenant's
org_idmatches the PSA company lookup - The
PSA_SERVICE_KEYhas access to all client organizations