Call transcription: the conversation as text
How to turn a call recording into text split into operator and customer lines, which providers are supported and what to do about errors.
Transcription turns a call recording into text laid out as turns: who said what, and when. The text is read in half a minute instead of listening to seven minutes of audio, it can be searched, and it becomes the basis for AI call analysis. This page is about how to get it.
#How to run it
- 01
Open the call
The Dialogs section → the call you need. The page opens with the audio recording, the call details and the transcription and AI analysis blocks.
- 02
Click “Transcribe”
The job is queued and processed in the background — you can close the page, the process will not stop.
- 03
Wait for the “Done” state
While the job is queued it can be cancelled with Cancel transcription. The finished text appears on the same page.
| State | What it means |
|---|---|
| None | Transcription has not been started |
| Queued | The job is created and waiting to be processed |
| Processing | The audio has been sent to the model |
| Done | The text is saved |
| Cancelled | The job was withdrawn before processing began |
| Failed | It did not work — details in the errors section below |
#What the result looks like
- The text is split into turns — each one labelled with the speaker (operator or customer) and the time from the start of the call.
- The first turns are shown by default; the rest expand with the Show more button.
- The split between speakers relies on the separate recording: the operator’s and the customer’s voices are written to different channels, and the system separates them by channel rather than by ear.
- A finished transcript can be deleted — the Delete transcription button on the same page.
AI call analysis works on the finished text: it adds marks to individual operator lines and an overall score for the call.
#Providers and settings
The provider is chosen once under Settings → Neural networks. Unless the request says otherwise, the system takes the first one that is enabled and configured — in the order OpenAI → Gemini → x10ai.
| Provider | What it needs | When to choose it |
|---|---|---|
| OpenAI | An API key; the default transcription model is whisper-1 | The baseline option: the best recognition of Ukrainian at telephone quality |
| Gemini | A Google API key | If you already have a Google Cloud account and budget there |
| x10ai | The address of your own server, a key and a Tenant ID | When audio must not leave your own perimeter |
- The transcription language is set in the provider settings and defaults to Ukrainian. For mixed Ukrainian-and-Russian conversations leave it at
uk— the model copes. - The daily-limit fields in the settings are reserved for cost control. For now the budget is better capped on the provider side, with a limit on the key.
#What affects the quality of the text
| Factor | Consequence |
|---|---|
| A speakerphone instead of a headset | The customer’s voice bleeds into the operator’s microphone — the speakers mix and the split into turns breaks down |
| A noisy room | Recognition swallows word endings, names and addresses |
| A very short call | Three to five seconds often produce no text at all — that is normal |
| A poor line | Dropouts and metallic sound produce invented words, especially in numbers |
#Permissions
| Permission | What it grants |
|---|---|
dialogs.view | Access to the “Dialogs” page and the call card |
dialogs.transcribe | The “Transcribe” button |
dialogs.listen | Playing the recording alongside the text |
dialogs.view_ai_analysis | Viewing the score and annotations built on the transcript |
#Errors and what to do about them
| Message | Cause and action |
|---|---|
| “Call recording is missing” | The audio was not saved, or the call was made outside the CRM. Check whether a player appears in the lead card |
| “Transcription is already in progress” | A job was created earlier and is still running. Wait for it or cancel it |
| “OpenAI is not configured or is disabled” | There is no key, or the integration is switched off in the “Neural networks” section |
| The “Failed” state | Most often an invalid key, an exhausted provider balance or a damaged audio file. Try again; if it repeats, check the key |
| The text is there, but the speakers are swapped | The call was held on a speakerphone or recorded as a single track. The transcript stays readable, but do not build role-based scoring on it |
#Checklist
- The AI provider is connected and marked as configured
- The transcription language matches the language of your calls
- A spending limit is set on the provider side
- The team knows which calls to transcribe rather than doing “all of them”
- Operators work with headsets, not speakerphones
- The privacy policy reflects that audio is sent to an external service