Une partie croissante des échanges clients passe par la messagerie instantanée, et aucun de ces messages n'entre dans l'ERP : ils vivent sur le téléphone d'un commercial, hors de l'historique, hors de la relation documentée.
Vingt-et-un modules communautaires les font entrer, et traitent le publipostage. Ils terminent les dépôts social et mass-mailing.
Résumé
Cinq modules traitent la messagerie instantanée : une passerelle générique intégrant un système externe dans la conversation d'Odoo, un connecteur WhatsApp Business, un connecteur Telegram avec sa variante de chats simples, et un connecteur de messages directs d'un réseau social.
Six modules traitent la conversation et les activités : un fil par défaut sur un serveur de messagerie entrante, la traçabilité de l'annulation et de la suppression d'une activité, la restriction des suggestions de mention, l'historique joint aux courriels de notification, et la suppression du message « enregistrement créé ».
Six modules traitent le publipostage : des listes de diffusion auto-alimentées, la purge des adresses en liste noire, le réenvoi d'un publipostage, l'exclusion des inscrits à un événement, le suivi des métadonnées de désinscription, et le lien aux partenaires.
Quatre modules enfin traitent les réseaux sociaux et les campagnes : trois champs de compte — un sur la société, deux sur le contact — et un budget de campagne avec son coût réel.
L'essentiel
- Une passerelle de messagerie instantanée dans la conversation d'Odoo.
- Un connecteur WhatsApp Business et un connecteur Telegram.
- Des listes de diffusion auto-alimentées.
- Les métadonnées de désinscription tracées, pour la conformité.
- Les adresses en liste noire purgées des listes de diffusion.
- Les inscrits d'un événement exclus d'un publipostage.
- Un budget de campagne et son coût réel.
- L'historique joint aux courriels de notification.
Ce que ces modules ajoutent à l'instance
| Famille | Modules | Nombre |
|---|---|---|
| Messagerie instantanée | mail_gateway, mail_gateway_whatsapp, mail_gateway_telegram, mail_gateway_telegram_standalone, mail_gateway_instagram | 5 |
| Conversation et activités | fetchmail_thread_default, mail_activity_cancel_tracking, mail_activity_unlink_log, mail_mention_suggestion_config, mail_notification_with_history, mail_thread_create_nolog | 6 |
| Publipostage | mass_mailing_list_dynamic, mass_mailing_list_prune_blacklisted, mass_mailing_resend, mass_mailing_event_registration_exclude, mass_mailing_custom_unsubscribe, mass_mailing_partner | 6 |
| Réseaux et campagnes | res_company_mastodon_link, res_partner_mastodon_link, res_partner_linkedin_link, marketing_campaign_budget | 4 |
Les menus : Paramètres ▸ Technique ▸ E-mail ▸ Gateway et Gateway Partner Channels.
Faire entrer la messagerie instantanée
Un client qui écrit par messagerie instantanée obtient une réponse plus vite qu'un client qui écrit par courriel — et son échange n'existe nulle part dans l'ERP. Quand le commercial part, la relation part avec son téléphone.
mail_gateway est le socle : il intègre un système de messagerie externe dans la conversation d'Odoo, avec ses passerelles et ses canaux par partenaire sous Paramètres ▸ Technique ▸ E-mail ▸ Gateway.
mail_gateway_whatsapp (version 18.0.2.1.7, la plus mûre du lot) branche un connecteur WhatsApp Business sur l'interface de programmation du fournisseur. Il dépend de la validation téléphonique.
mail_gateway_telegrambranche Telegram, etmail_gateway_telegram_standaloney ajoute la gestion de chats simples par identifiant.mail_gateway_instagrambranche les messages directs d'un réseau social.
L'intérêt de la passerelle n'est pas de répondre depuis Odoo : c'est que la conversation soit rattachée au client, visible de l'équipe, et conservée. La messagerie instantanée devient un canal de l'entreprise, non celui d'une personne.
Le connecteur WhatsApp mérite une mise en garde : il passe par l'interface commerciale du fournisseur, qui facture à l'usage et impose ses règles de gabarit de message. Ce n'est pas un canal gratuit.
La conversation et les activités
mail_activity_cancel_trackingtrace dans la conversation l'annulation d'une activité planifiée, etmail_activity_unlink_logforce un message à chaque suppression d'activité.mail_mention_suggestion_configrestreint au niveau de la société la liste des contacts proposés quand un utilisateur mentionne quelqu'un.mail_notification_with_historyjoint l'historique aux courriels de notification envoyés aux abonnés.mail_thread_create_nologsupprime le message « enregistrement créé » de la base.fetchmail_thread_defaultdéfinit un fil de discussion par défaut sur un serveur de messagerie entrante.
Les deux modules de traçabilité d'activité ferment une faille de contrôle : une activité annulée ou supprimée disparaît sans trace dans le standard. Un visa à faire, une relance à passer, un contrôle à effectuer peuvent donc s'évanouir — et l'historique ne dira jamais qu'ils ont existé.
La restriction des suggestions de mention répond à un défaut discret : le mécanisme de mention propose tous les contacts de la base, clients compris. Mentionner un client par erreur dans une note interne lui envoie cette note.
La suppression du message de création est un module de volume : sur une base à plusieurs millions d'enregistrements, ce message représente autant de lignes de messages inutiles.
Le publipostage
mass_mailing_list_dynamic crée des listes de diffusion auto-alimentées : une liste définie par un critère, et non par un ajout manuel. Il dépend du lien aux partenaires.
La liste dynamique est ce qui évite la dérive la plus commune du publipostage : une liste constituée une fois, jamais mise à jour, qui écrit à des clients partis et ignore les nouveaux. Une liste par critère est juste par construction.
mass_mailing_list_prune_blacklistedretire des listes les adresses en liste noire.mass_mailing_resendpermet de réenvoyer un publipostage.mass_mailing_event_registration_excludeexclut les inscrits à un événement des destinataires — pour ne pas inviter deux fois.mass_mailing_custom_unsubscribesuit les métadonnées de désinscription, pour la conformité au règlement européen : qui s'est désinscrit, quand, et pourquoi.mass_mailing_partnerrelie le publipostage aux partenaires. README réduit à sa catégorie.
La purge des adresses en liste noire n'est pas un confort : une adresse en liste noire qui reste dans une liste génère des envois rejetés, qui dégradent la réputation du domaine expéditeur.
Le suivi des métadonnées de désinscription est une pièce de conformité : prouver qu'une personne a demandé à ne plus recevoir, et quand, est ce qu'un contrôle demande.
La délivrabilité et les listes de blocage sont traitées dans savoir si vos e-mails arrivent.
Les réseaux sociaux et les campagnes
res_company_mastodon_linkajoute un compte de réseau social décentralisé sur la fiche société, au même titre que les champs existants.res_partner_mastodon_linketres_partner_linkedin_linkajoutent deux comptes de réseau social sur la fiche contact.marketing_campaign_budgetajoute un budget et un coût réel aux campagnes de suivi marketing.
Le budget de campagne est le seul des quatre qui change quelque chose de mesurable : une campagne avec son coût et son chiffre d'affaires attribué donne un retour sur investissement. Sans budget, le suivi marketing compte des clics.
Les trois champs de compte social sont des ajouts de confort — utiles pour une prospection, sans effet sur les flux.
Limites connues
- Deux modules ont un README réduit à leur catégorie :
mass_mailing_partneretmass_mailing_resend. - Les trois connecteurs de messagerie instantanée passent par des interfaces commerciales : facturation à l'usage, règles de gabarit imposées, et conditions qui changent. Ce ne sont pas des canaux gratuits.
- Faire entrer une messagerie instantanée dans l'ERP y fait entrer des données personnelles : numéros de téléphone, contenu de conversations. Durée de conservation et base légale à définir.
- Le connecteur WhatsApp est en version 2.1.7 : le plus actif du lot, donc celui qui évolue le plus — à surveiller à chaque montée de version.
mail_thread_create_nologsupprime une trace : légère, mais c'est une trace. À évaluer si une piste d'audit complète est exigée.- Les listes dynamiques se recalculent : un critère trop large envoie à des destinataires non prévus.
- Le suivi de désinscription est une pièce de conformité, pas une conformité : il faut encore que la procédure suive.
res_partner_mastodon_linkdépend debase_fontawesome: une bibliothèque d'icônes, pour un champ.
Identité technique
Les vingt-et-un modules viennent de deux dépôts OCA, branche 18.0 — social et mass-mailing —, désormais tous documentés ici, tous en licence AGPL-3. Les dépendances : mail pour la plupart, mass_mailing pour le publipostage, phone_validation pour le connecteur WhatsApp, event pour l'exclusion des inscrits, social_media et base_fontawesome pour les champs de réseau social, sale pour le budget de campagne.
Voir aussi savoir si vos e-mails arrivent et activités, abonnés et notifications.
Questions fréquentes
Peut-on rattacher des conversations WhatsApp à un client dans Odoo ?
Oui : mail_gateway intègre un système de messagerie externe dans la conversation d'Odoo, et mail_gateway_whatsapp branche un connecteur WhatsApp Business. L'intérêt n'est pas de répondre depuis Odoo, c'est que la conversation soit rattachée au client, visible de l'équipe et conservée — sinon la relation part avec le téléphone du commercial.
Le connecteur WhatsApp est-il gratuit ?
Non : il passe par l'interface commerciale du fournisseur, qui facture à l'usage et impose ses règles de gabarit de message. Et faire entrer ces échanges dans l'ERP y fait entrer des données personnelles — numéros, contenus — dont la durée de conservation et la base légale sont à définir.
Peut-on savoir qu'une activité planifiée a été annulée ?
Pas dans le standard : elle disparaît sans trace. mail_activity_cancel_tracking trace l'annulation dans la conversation, et mail_activity_unlink_log force un message à chaque suppression. Sans eux, un visa à faire ou une relance à passer peut s'évanouir sans que l'historique le dise.
Comment éviter d'écrire à des clients partis dans un publipostage ?
mass_mailing_list_dynamic crée des listes auto-alimentées par critère, et non par ajout manuel. Une liste constituée une fois et jamais mise à jour écrit à des clients partis et ignore les nouveaux ; une liste par critère est juste par construction. Attention à ne pas définir un critère trop large.
Peut-on prouver qu'une personne s'est désinscrite ?
mass_mailing_custom_unsubscribe suit les métadonnées de désinscription — qui, quand, pourquoi — pour la conformité au règlement européen. C'est une pièce de conformité, pas une conformité : il faut encore que la procédure suive.
Se faire accompagner
La messagerie instantanée est devenue un canal client majeur, et c'est le seul qui n'existe pas dans la plupart des ERP. Le faire entrer a un coût — interface payante, données personnelles à encadrer — et une valeur : la relation cesse d'appartenir à un téléphone.
Nous instruisons donc d'abord le cadre — base légale, durée de conservation, qui accède aux conversations — avant de brancher un connecteur, et nous posons les listes dynamiques côté publipostage, parce qu'une liste figée se dégrade dès le premier mois. Voir les prestations d'Atalios Consulting ou demander un rappel.
Pour aller plus loin
En résumé
Une partie croissante des échanges clients passe par la messagerie instantanée, et aucun de ces messages n'entre dans l'ERP : ils vivent sur le téléphone d'un commercial. Vingt-et-un modules les font entrer et traitent le publipostage. Parlons de vos canaux clients.