Intégration 3CX CRM : Odoo, HubSpot, Salesforce, Microsoft 365
Intégration 3CX CRM : fiche client à l’appel, journalisation, click-to-call, création de contact. Odoo, HubSpot, Salesforce, Microsoft 365, édition requise.

La réponse courte : 3CX se relie à votre CRM en édition PRO ou AI, sans développement pour les CRM que 3CX maintient lui-même, dont Odoo, Salesforce, Microsoft Dynamics 365, Zoho, Pipedrive ou Zendesk, et HubSpot via un guide officiel. Une fois l’intégration en place, quatre gestes changent le quotidien : le nom du client s’affiche quand il appelle, l’appel est inscrit automatiquement sur sa fiche, un nouveau contact se crée depuis l’appel, et un clic sur un numéro dans le CRM lance l’appel. Ce qui fait échouer la plupart des projets n’est pas le logiciel, mais le format des numéros de téléphone.
Nous avons déjà expliqué pourquoi 3CX s’impose dans les PME et comment monter un centre d’appels avec 3CX. Ce guide répond à une question plus précise : comment relier concrètement 3CX à votre CRM, ce que chaque intégration fait vraiment, et quels réglages vérifier. En tant que partenaire 3CX au Maroc, Bronze certifié Advanced, nous mettons en place ces intégrations à Casablanca et partout au Maroc. Les informations ci-dessous proviennent de la documentation officielle de 3CX pour la version 20.
Ce que l’intégration CRM apporte, concrètement
Les guides officiels de 3CX décrivent les mêmes fonctions pour Odoo, HubSpot et Salesforce :
- Le nom à l’appel : un appel entrant déclenche une recherche dans le CRM, et le nom du contact s’affiche dans l’application 3CX avant même de décrocher.
- La recherche de contacts : depuis le client web 3CX, on cherche un contact du CRM par nom, numéro ou adresse e-mail.
- La journalisation des appels et des chats : chaque appel, répondu ou manqué, entrant ou sortant, est inscrit sur la fiche du contact. Les chats (chat du site web, SMS, WhatsApp) peuvent l’être aussi.
- La création de contact : quand un numéro inconnu appelle, l’utilisateur complète une fiche depuis l’application 3CX, et le contact est créé directement dans le CRM.
- Le click-to-call : un clic sur un numéro dans le CRM lance l’appel via 3CX.
Pour un commercial ou un conseiller, la différence est nette : il sait qui appelle, l’historique se tient seul, et il n’a plus à recopier un numéro dans un téléphone. Pour un responsable, c’est la garantie que les appels manqués sont visibles là où l’équipe travaille déjà.
L’édition 3CX nécessaire
| Édition | Intégration CRM | Microsoft 365 et Google Workspace | Remarque |
|---|---|---|---|
| Basic | Non | Synchronisation des utilisateurs et connexion unique seulement | 3CX précise que Basic ne prend en charge ni CRM, ni API, ni connecteurs de données |
| PRO | Oui | Oui | Fiche client à l’appel, journalisation, suivi d’activité |
| AI | Oui | Oui | Ajoute la transcription complète des appels, les résumés et les agents IA |
Si vous partez d’une édition Basic, le passage en PRO est la première étape. Le choix de l’édition et du nombre d’appels simultanés est détaillé dans notre guide licence 3CX : quelle édition choisir.
Les CRM pris en charge
3CX distingue sur sa page de guides d’intégration deux catégories. D’abord les intégrations développées et maintenues par 3CX, mises à jour quand le CRM évolue : Odoo, Salesforce, Microsoft Dynamics 365, Zoho, Pipedrive, Zendesk, Freshdesk, Bitrix24, Vtiger, ConnectWise, Kommo, Jetpack CRM, ainsi que des connecteurs vers des bases MongoDB et SQL (Microsoft SQL Server, MySQL, PostgreSQL). Ensuite, des intégrations fournies par l’éditeur ou un tiers, que l’on importe dans la console : en cas de changement de l’API du CRM, le support relève alors de cet éditeur. HubSpot dispose d’un guide de configuration officiel détaillé sur le site de 3CX.
Votre CRM n’est pas dans la liste ? 3CX permet de créer sa propre intégration avec son API CRM, sous forme de modèle. La documentation précise qu’aucun support n’est assuré pour ces modèles personnalisés au-delà de la documentation en ligne : c’est un développement à prévoir, tester et maintenir.
Odoo : l’intégration native depuis la version 20 Update 10
C’est la nouveauté la plus attendue par les PME marocaines qui gèrent leur activité sur Odoo. Depuis la version 20 Update 10, 3CX propose une intégration native avec Odoo CRM. Elle reconnaît aussi bien les contacts que les sociétés, et l’on choisit lequel des deux est recherché en premier.
La mise en place suit trois étapes :
- Côté Odoo : générer une clé API depuis les préférences de l’utilisateur (onglet Sécurité), avec une durée de validité, et noter le nom de la base de données.
- Côté 3CX : dans la console d’administration, menu Intégrations puis CRM, choisir Odoo et saisir l’URL de l’instance, le nom de la base et la clé API.
- Réglages : activer la journalisation des appels et des chats, personnaliser l’objet et la description de chaque type d’appel, autoriser la création de contacts depuis le client 3CX.
Un point d’attention : la clé API Odoo a une durée de validité. Le jour où elle expire, la journalisation s’arrête sans bruit. Nous notons cette échéance dans le dossier de supervision. Pour cadrer votre projet Odoo lui-même, voir Odoo pour une PME marocaine.
HubSpot et Salesforce : une application OAuth à créer
Pour HubSpot comme pour Salesforce, l’intégration repose sur une application OAuth créée dans le CRM, dont l’adresse de retour est celle de votre 3CX suivie de « /api/oauth2crm ».
- HubSpot : HubSpot ne permet plus de créer de nouvelles applications publiques « historiques » depuis son interface. Le guide 3CX passe désormais par le framework Projects et l’outil en ligne de commande HubSpot CLI, qui demande Node.js. Les applications existantes continuent de fonctionner.
- Salesforce : on crée une « External Client App » avec OAuth activé, puis on choisit SalesforceV2 dans 3CX et on autorise l’accès. L’API REST doit être disponible dans votre édition Salesforce, et les comptes utilisant les « Person Accounts » ne sont pas pris en charge.
Dans les deux cas, la journalisation associe l’appel au bon commercial grâce à l’adresse e-mail : celle de l’utilisateur 3CX doit être identique à celle de l’utilisateur du CRM. C’est un détail qui casse souvent les rapports d’activité quand les comptes ont été créés à des dates différentes.
Microsoft 365 et Dynamics 365 : ne pas confondre
L’intégration Microsoft 365 de 3CX n’est pas une intégration CRM. Elle synchronise les utilisateurs depuis Microsoft 365, permet la connexion avec le compte Microsoft (SSO), importe les contacts personnels et ceux des boîtes partagées dans les annuaires 3CX, et synchronise la présence avec Teams. La documentation en fixe les limites : synchronisation à sens unique (de Microsoft 365 vers 3CX), exécutée chaque nuit, jusqu’à 650 utilisateurs, et un abonnement Microsoft 365 incluant Exchange.
Pour une fiche client qui s’ouvre à l’appel dans l’univers Microsoft, c’est Dynamics 365 qu’il faut relier, avec son intégration dédiée maintenue par 3CX. Et si vos équipes vivent dans Teams, l’intégration Teams est un sujet à part, que nous traitons dans 3CX et Microsoft Teams.
Click-to-call : les extensions de navigateur
Le clic pour appeler passe par les extensions 3CX Click2Call pour Google Chrome et Microsoft Edge. Elles transforment les numéros affichés sur une page web ou dans un CRM en liens : un clic envoie le numéro au client web ou au softphone Windows, selon le choix de l’utilisateur. Une liste d’exceptions permet d’exclure certains sites, par exemple une application comptable où les montants pourraient être pris pour des numéros.
Déployer l’extension sur tous les postes concernés fait partie du projet : sans elle, l’intégration ne fonctionne que dans un sens.
Le format des numéros, clé du succès
Toutes les fiches de configuration de 3CX insistent sur le même point. Pour reconnaître un appelant, 3CX doit retrouver son numéro dans le CRM. HubSpot ne fait que des recherches sur le numéro complet : si la fiche contient « 0522… » et que l’appel arrive en « +212522… », aucun nom ne s’affiche.
La règle recommandée par 3CX : stocker tous les numéros au format international E.164 (+212…), obtenir le même format de l’opérateur, puis régler la correspondance des numéros sur « Match exactly ». Si ce n’est pas possible, deux solutions : reformater le numéro appelant dans 3CX avant de l’envoyer au CRM, ou, pour Odoo, utiliser une correspondance sur un nombre minimal de chiffres. Le format du numéro présenté dépend aussi de votre trunk SIP, voir trunk SIP : conserver vos numéros.
Comment tester avant de généraliser
Une intégration CRM se valide par de vrais appels, pas seulement par un statut « connecté » dans la console. Nous déroulons la même série avec chaque utilisateur pilote : un appel entrant d’un numéro connu au format national, puis international ; un appel d’un numéro inconnu, avec création de contact ; un appel sortant par click-to-call ; un appel manqué ; et, si besoin, une conversation WhatsApp ou de chat. Pour chaque cas, nous vérifions que le nom s’affiche, que l’activité arrive sur la bonne fiche et le bon utilisateur, et que les textes sont lisibles par l’équipe commerciale.
Les erreurs que nous corrigeons
- Une édition Basic achetée pour son prix, puis l’intégration CRM promise à l’équipe commerciale qui ne peut pas être activée.
- Des numéros saisis dans tous les formats dans le CRM (0522, 05 22, +212 5 22, 00212…) : le nom ne s’affiche qu’une fois sur deux.
- Les adresses e-mail différentes entre 3CX et le CRM : les appels sont journalisés, mais sur le mauvais commercial ou sur aucun.
- Une clé API ou un jeton expiré que personne ne surveille.
- Un connecteur tiers installé sans savoir qui le maintient, qui cesse de fonctionner après une mise à jour du CRM.
- La journalisation des chats oubliée, alors que les demandes WhatsApp sont traitées dans 3CX, voir WhatsApp Business et 3CX.
Checklist avant de relier votre CRM
- Édition 3CX PRO ou AI, et version 20 à jour (Update 10 pour Odoo natif).
- CRM présent dans la liste des intégrations maintenues par 3CX, ou développement API prévu.
- Numéros des contacts normalisés au format +212.
- Adresses e-mail identiques entre utilisateurs 3CX et utilisateurs du CRM.
- Compte technique et clé API ou application OAuth dédiés, avec échéances notées.
- Textes de journalisation définis : objet, appel répondu, manqué, sortant.
- Extension Click2Call déployée sur Chrome ou Edge.
- Test sur un petit groupe avant généralisation.
Comment nous procédons
Nous commençons par l’audit de votre téléphonie et de votre CRM : édition 3CX, état des numéros dans la base, correspondance des comptes. Nous normalisons les numéros si nécessaire, créons les accès techniques, configurons l’intégration et la journalisation, déployons l’extension Click2Call, puis testons avec un groupe pilote de vrais appels entrants et sortants. Après la mise en service, l’intégration fait partie de la supervision 24/7 de votre standard, et un incident critique est pris en charge en moins de 15 minutes.
Retrouvez notre offre de téléphonie IP au Maroc, puis demandez l’audit de votre téléphonie offert : nous vous répondons sous 24 h ouvrées.
Questions fréquentes
Quelle édition 3CX faut-il pour relier un CRM ?
PRO ou AI. 3CX indique que l’édition Basic ne prend en charge ni les CRM, ni les API, ni les connecteurs de données. L’édition PRO inclut les intégrations CRM, Microsoft 365 et Google Workspace ; l’édition AI y ajoute notamment la transcription complète des appels.
3CX s’intègre-t-il nativement à Odoo ?
Oui. Depuis la version 20 Update 10, 3CX propose une intégration native avec Odoo via son API CRM : affichage du contact à l’appel, recherche par nom, numéro ou e-mail, journalisation des appels et des chats, création de contact et click-to-call depuis Odoo. Il faut l’URL de l’instance Odoo, le nom de la base et une clé API.
Comment fonctionne le click-to-call depuis le CRM ?
Avec les extensions Click2Call de 3CX pour Google Chrome et Microsoft Edge. Les numéros affichés dans le CRM deviennent cliquables et l’appel part depuis le client web ou le softphone Windows de l’utilisateur. On peut exclure certains sites pour éviter que leurs numéros ne soient transformés en liens.
Pourquoi le nom du client ne s’affiche-t-il pas à l’appel ?
Presque toujours à cause du format des numéros. HubSpot, par exemple, ne trouve un contact que si le numéro reçu est identique à celui de la fiche. 3CX recommande de stocker les numéros au format international E.164 (+212…) et d’obtenir le même format de l’opérateur, ou de reformater le numéro appelant dans 3CX.
Microsoft 365 est-il une intégration CRM ?
Pas au sens strict. L’intégration Microsoft 365 de 3CX synchronise les utilisateurs, la connexion unique, les contacts et la présence avec Teams. Pour la fiche client et la journalisation, on relie Microsoft Dynamics 365, qui dispose de sa propre intégration maintenue par 3CX.
À propos de la rédaction
ALLSAFE SOLUTIONS
Ingénieurs réseau, sécurité et cloud
Rédigé par l’équipe d’ingénieurs d’ALLSAFE SOLUTIONS, infogérant fondé à Casablanca par des ingénieurs réseau, sécurité et cloud. Nos articles s’appuient sur les projets que nous menons chez nos clients, au Maroc comme à l’international.
LinkedIn









































