Skip to main content

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

  1. On-call technician acknowledges an incident in On-Call
  2. On-Call calls the PSA API to create a new ticket
  3. PSA ticket is created with the incident details pre-populated
  4. The PSA ticket ID is stored on the On-Call incident (psa_ticket_id field)
  5. As the technician adds notes to the On-Call incident, notes sync to the PSA ticket
  6. 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 FieldValue
TitleOn-Call incident title (e.g., "CPU critical on client-server-01")
DescriptionIncident description + alert source + triggering product (RMM, Defend, etc.)
Source"On-Call Auto"
PriorityMapped from On-Call severity: critical→P1, high→P2, medium→P3, low→P4
Client / CompanyTenant organization (linked via org ID)
Assigned TechThe acknowledging technician
Created DateIncident 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:

  1. Open the incident in On-Call.
  2. Scroll to the Notes section.
  3. Type your investigation note and click Add Note.
  4. The note is added to the On-Call incident timeline and appended to the PSA ticket as an internal note.
💡Use notes to document your investigation steps as you go. This builds a real-time audit trail and gives your PSA ticket actionable content without a separate write-up.

Resolution Sync

When you resolve an On-Call incident:

  1. The incident status changes to resolved in On-Call.
  2. On-Call sends the final resolution summary to PSA.
  3. The PSA ticket is updated with:
    • Resolved timestamp
    • Resolving technician name
    • Resolution summary (if a closing note was added)
  4. 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_URL environment variable set on the On-Call API function app
  • PSA_SERVICE_KEY (X-Integration-Key) set on both PSA and On-Call API

Environment Variables (On-Call API)

VariableValue
PSA_API_URLhttps://api.theonepsa.com (or your PSA API base URL)
PSA_SERVICE_KEYShared secret matching ONCALL_SERVICE_KEY on PSA

Set these in theoneoncall-kv Key Vault or directly as app settings.

Verifying the Connection

  1. Trigger a test incident manually (create via IncidentsNew Incident).
  2. Acknowledge it.
  3. Check your PSA for a newly created ticket.
  4. If no ticket appears, check On-Call API logs for psa-ticket-creation errors.
⚠️If 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:

  1. Open the incident in On-Call.
  2. Find the PSA Ticket field in the incident detail.
  3. Enter the existing PSA ticket ID.
  4. 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_id matches the PSA company lookup
  • The PSA_SERVICE_KEY has access to all client organizations