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.
| System | How recordings arrive | What you need |
|---|---|---|
| Twilio | Automatic sync | Twilio Console → Account info. Recordings must be enabled on your calls or Flex workspace. |
| RingCentral | Automatic sync | Developer console → create a REST API app with JWT auth and the ReadCallLog + ReadCallRecording scopes, then create a JWT credential for an admin user. |
| Zoom Phone | Automatic sync | Zoom 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). |
| Aircall | Automatic sync | Aircall Dashboard → Integrations & API → API keys → Generate an API key. |
| Dialpad | Automatic sync | Dialpad Admin settings → My company → Authentication → API keys. The key needs access to call records and recordings. |
| 3CX | Automatic sync | 3CX Admin console → Integrations → API → Add a client application with the XAPI enabled and System Owner/Admin role. Requires 3CX V20 Update 3+ (Enterprise). |
| Telnyx | Automatic sync | Telnyx Portal → Auth → API keys. |
| Plivo | Automatic sync | Plivo Console → Overview → Account → Auth ID and Auth token. |
| Vonage | Webhook | Vonage Dashboard → Applications → your Voice app. After saving, set the webhook URL shown below as the eventUrl of your record action. |
| Any other PBX (webhook) | Webhook | POST 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"
}'| Field | Notes |
|---|---|
recordingUrl | Required. A public https link we can download. If it needs auth, set the Authorization header on the connection. |
id | Your call ID. Resending the same id is ignored, so retries are safe. |
durationSec | Calls shorter than 8 seconds are skipped (no minutes used). |
direction / from / to / agentName / startedAt | Optional. 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=inboundThen 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.