Background
Voicemail is a queue nobody owns. A caller leaves a message, and it stays in a mailbox until a person listens to it, works out what the caller wanted, and opens a ticket. The information is captured the moment the call ends, but it is not usable until someone transcribes it by hand.
The delay is not the listening. It is that nothing exists in the ticketing system until a human has done that work, so the request is invisible to anyone looking at the queue.
What I built
A Call Flow Designer script in 3CX that runs when a voicemail is left:
- Call Flow Designer picks up the recorded audio file
- The audio is sent to Google Cloud Speech-to-Text
- The transcript comes back as text
- A ticket is created in ConnectWise with the transcript as its body
The result is that a voicemail becomes a queue item without anyone touching it. The caller’s own words are in the ticket, so whoever picks it up reads what was actually said rather than someone’s summary of it.
02
Voicemail to ticket
Why Google
Cloud Speech-to-Text was the mature option: reliable, good with accents and phone-quality audio, and reachable with one API call and one set of credentials. It handled the thing that actually makes voicemail hard, which is that phone audio is narrowband and callers do not enunciate.
The current generation of speech models arrived later and would change this decision today. At the time, picking the established service over something newer was the straightforward call.
What it did not do
The ticket it created was generic. The transcript went into the body, but nothing read it: no category, no priority, no routing, no sense of whether the caller was calm or furious. It reached the queue, which was the point, but it reached the queue as an unclassified item like any other.
I looked at sentiment detection, which Google offered through a separate API. It did not end up in what shipped.
Where it leads
Three years later I built the ticket classification pipeline, which reads a ticket’s description and assigns a category, priority, and board. That is exactly the step this system was missing.
They are not just compatible in principle. Both wrote to ConnectWise, so the transcripts this produced are the same tickets, in the same system, that the classifier later read. A voicemail could have arrived as text, been read, categorised and routed without anyone touching it.
I never connected them, but one of these systems ends exactly where the other starts.