Sales teams that spend their day on the phone lose knowledge every day: agreements, objections, commitments. Once the call ends, they are written down nowhere. The obvious solution is to record calls, transcribe them and file the transcript where sales already works: in the CRM.
With sipgate as the phone system, you quickly hit a limit. Recording is built in, and so is transcription, but the text does not arrive where it is needed. For a client in project placement, we closed that gap. This article describes how, and how to keep data protection and costs under control along the way.
The starting point
Our client places projects and does almost all of its sales work by phone. Calls run through sipgate; contacts and deals live in the CRM Attio. What was agreed on a call only reached the CRM if someone remembered to type it up.
sipgate offers two components that look like a fit at first glance: the Call Recorder, which records calls automatically, and an AI feature in the sipgate app that summarises and transcribes calls. For our use case, that was not enough. On the basic plan, transcription is limited to ten calls a month, it is tied to each user's app, and the texts cannot easily be handed over to a CRM.
The recordings themselves, however, are complete and available through the sipgate API. That is what we built on.
The solution: recording at sipgate, processing in a dedicated pipeline
Recording stays in the phone system. Everything after that runs through an automated workflow in n8n that we operate for the client:
- Record. The Call Recorder is set up per device: desk phone, app and company mobiles with a sipgate SIM, inbound and outbound.
- Collect. Once a day, the workflow asks the sipgate API for new recordings. Calls under ten seconds and voicemail greetings are skipped; recordings already processed are recognised and left out.
- Transcribe. The audio file goes to a Whisper speech recognition model that runs at European providers via our own AI gateway.
- Match. Call direction and phone number give the other party's number. The workflow looks up the matching contact in Attio.
- File. The transcript appears as a note on the contact, with date, direction, duration and the employee's name.
If there is no matching contact, the system deliberately does not create a new one. Otherwise the CRM would fill up with parcel services and sales calls. These calls stay in a separate list and can be assigned by hand if needed.
If a step fails, for example because a service is briefly unavailable, nothing is lost. The call in question is only marked as done once it has been fully processed, and is retried on the next run. We apply the same principle to marketing enquiries before they reach the CRM, as described in our article on lead tracking.
Does this sound familiar?
If your sales team spends a lot of time on the phone and the results only reach the CRM in patches, let us show you in a first conversation how the documentation can write itself.
Data protection: taking objections seriously without paralysing operations
Call recordings are personal data, and the other party must be able to object. sipgate's standard announcement recommends hanging up in that case. For a sales call, that is the wrong signal. We replaced the announcement:
“This call is being recorded for documentation purposes. If you would prefer it not to be, simply tell the person you are speaking to – the recording will then be stopped immediately.”
The employee then stops the recording with a key combination. Because the first seconds up to that point are still stored, the workflow also checks every call automatically. A small language model reads the beginning of the call and classifies it:
| Classification | Recording | Transcript | Consequence |
|---|---|---|---|
| Clear objection | deleted | discarded | log entry with reason only |
| Unclear, e.g. a question about the recording | kept | note in the CRM | review task for the employee in Attio |
| No objection | kept | note in the CRM | none |
So a recording is only deleted when the refusal is unambiguous. Everything in the grey zone goes to a person, with the relevant passage included in the task. If the model's answer cannot be evaluated technically, it counts as unclear: an error never leads to a deletion.
On top of that, three principles run through the entire pipeline:
- Processing in the EU. Transcription and classification run at European providers that we address through our own gateway.
- Data minimisation. Unknown numbers do not create new contacts; short calls and voicemail greetings are not processed at all.
- Traceability. Every processing step and every automatic deletion is logged with time and reason.
Whether recording is permissible in a specific case depends on the purpose and on the company's agreements. The technology creates the conditions; the legal assessment belongs in the hands of the data protection officer.
Costs: predictable per minute, with a hard cap
At European providers, transcription costs between 0.17 and 0.30 cents per call minute. A sales team with 4,000 call minutes a month therefore pays roughly €7 to €12. The automation itself hardly matters, because the workflow only starts once a day.
To avoid surprises, access to the language model has a fixed monthly budget. Once it is reached, transcription pauses. The recordings remain stored at sipgate and are processed automatically after the turn of the month.
The daily sync is a deliberate trade-off: for call documentation, it is enough if the note is in the CRM by the evening. Anyone who needs the transcript right after hanging up can switch to a sync after every call. The setup stays the same; only the trigger changes.
Transferable to other phone systems and CRMs
The setup is not tied to sipgate or Attio. It needs three things: a phone system whose recordings can be fetched via an API, a CRM that can look up contacts by phone number, and a way to run language models in the EU. The objection check, the budget cap and the fault tolerance stay the same, whichever systems sit at either end.
For our client, this means no call gets lost any more, sales finds the transcript where it already works, and costs can be planned per minute. How we set up and run workflows like this is shown on our automation page.