Skip to Content
CRM & reporting

Telavox phone system connected to the Odoo CRM

No incoming call gets lost, calls show up on the contact record, and an unknown number becomes a sales lead without any data entry.

First user Hors du Commun, in-house
Intended for Our clients who use this carrier
Version Odoo 19
In production, offered to our clients

The need

In an SME, the phone is still the main sales channel. An incoming call that is not returned is a lost deal, and nobody logs a call in the CRM once the conversation is over.

We built this module for ourselves first, which let us prove it on our own calls before offering it. That is how we work on reusable building blocks: we are the first user, and the first to live with its flaws.

In one sentence

The hard part of a phone integration is not retrieving the calls, it is matching them to the right contact when numbers are typed in every possible format.

What Odoo does out of the box, and where it stops

No integration exists for this carrier

Odoo offers connectors for other phone providers, not for this one. Everything had to be built.

Matching fails on number formats

The same number gets typed with spaces, dots, an international code or a leading zero. Comparing the field as typed matches almost nothing.

Ten calls from an unknown number create ten leads

Without grouping, the CRM fills up with duplicates within days, and nobody looks at the queue anymore.

What we built

1

A replayable call log

Synced from the carrier, with a uniqueness constraint that makes the sync replayable without ever creating a duplicate.

2

Matching on a normalized number

Not on the typed field, with the country inferred from the dialing code before saving. This is what makes all the difference in the match rate.

3

One lead per unknown number

With a call counter, to tell at a glance a curious caller from a prospect who calls back three times.

4

A Calls to qualify queue

Available from the carrier menu and from the CRM, with a linking wizard that suggests contacts whose last six digits match.

5

Playback and transcription

The recording plays from the call record, streamed on demand and never stored in Odoo. Automatic AI transcription is optional, with configurable purge.

6

Automatic callback on missed calls

A callback activity is created, the company's internal numbers are excluded, and orphan calls can be linked at any time.

What it looks like

Screenshot placeholder: the queue of calls to qualify
Screenshot placeholder: the call log on a contact record

The result, measured on 80 real calls

80
real calls run through acceptance testing
36
matched to a contact despite mixed formats
9
leads created from 36 unknown numbers
8
outgoing calls ignored as intended

These last three figures are what count. Without grouping, those 36 unknown numbers would have produced 36 leads, and the queue would have become unusable within a week.

Do you use Telavox?

The module is written, proven on our own calls, and ready to be deployed for a client using the same carrier. The logic carries over to other phone providers.

Let's talk about your case