Docs menu

Phone systems & recordings

Every recorded call can be transcribed and summarised automatically, whichever phone system you use.

Built-in connectors #

Connect these in Dashboard → Calls. Summarix checks for new recordings every 15 minutes.

SystemHow recordings arriveWhat you need
TwilioAutomatic syncTwilio Console → Account info. Recordings must be enabled on your calls or Flex workspace.
RingCentralAutomatic syncDeveloper console → create a REST API app with JWT auth and the ReadCallLog + ReadCallRecording scopes, then create a JWT credential for an admin user.
Zoom PhoneAutomatic syncZoom App Marketplace → Build app → Server-to-Server OAuth with the phone:read:list_call_recordings:admin and phone:read:call_recording:admin scopes (or legacy phone:read:admin, phone_recording:read:admin).
AircallAutomatic syncAircall Dashboard → Integrations & API → API keys → Generate an API key.
DialpadAutomatic syncDialpad Admin settings → My company → Authentication → API keys. The key needs access to call records and recordings.
3CXAutomatic sync3CX Admin console → Integrations → API → Add a client application with the XAPI enabled and System Owner/Admin role. Requires 3CX V20 Update 3+ (Enterprise).
TelnyxAutomatic syncTelnyx Portal → Auth → API keys.
PlivoAutomatic syncPlivo Console → Overview → Account → Auth ID and Auth token.
VonageWebhookVonage Dashboard → Applications → your Voice app. After saving, set the webhook URL shown below as the eventUrl of your record action.
Any other PBX (webhook)WebhookPOST JSON to the webhook URL shown after saving: { id, recordingUrl, startedAt, durationSec, direction, from, to, agentName }. recordingUrl must be https.

Any PBX via webhook #

For 8x8, Genesys, Five9, Asterisk/FreePBX, Yeastar, Microsoft Teams or your own platform, add Any other PBX (webhook). You get a private URL likehttps://api.summarix.co.za/voice/webhook/vwh_…. POST one JSON object for each finished recording:

curl https://api.summarix.co.za/voice/webhook/vwh_… \
  -H "Content-Type: application/json" \
  -d '{
    "id": "call-88412",
    "recordingUrl": "https://recordings.example.com/88412.mp3",
    "startedAt": "2026-09-24T08:15:00Z",
    "durationSec": 312,
    "direction": "inbound",
    "from": "+27821234567",
    "to": "+27101234567",
    "agentName": "Thandi"
  }'
FieldNotes
recordingUrlRequired. A public https link we can download. If it needs auth, set the Authorization header on the connection.
idYour call ID. Resending the same id is ignored, so retries are safe.
durationSecCalls shorter than 8 seconds are skipped (no minutes used).
direction / from / to / agentName / startedAtOptional. Shown in the dashboard and passed to the AI for context.

Uploading from your own system #

If you store recordings yourself, upload them directly with a secret key that has the calls:write scope:

curl https://api.summarix.co.za/v1/calls \
  -H "Authorization: Bearer $SUMMARIX_SECRET_KEY" \
  -F [email protected] -F externalId=88412 -F agentName=Thandi -F direction=inbound

Then fetch the result with GET /v1/calls/{id}, or receive it through the call.completed webhook.

Privacy & compliance #

  • Tell callers that calls are recorded and analysed (POPIA §18 / GDPR Art. 13).
  • By default, audio is deleted as soon as the transcript and summary are saved. Only text is kept.
  • Phone numbers, emails, ID numbers and card numbers are masked in the transcript before the AI summarises it.
  • Deleting a call removes its transcript and summary permanently.
Each plan includes a number of call minutes per month (Free 60, Starter 600, Professional 3,000, Business 15,000). Minutes are counted only for calls that are summarised successfully.