WhatsApp cesse d'être une simple zone de texte
Jusqu'ici, une conversation WhatsApp dans Odoo était un fil brut : le client écrit, un agent répond depuis Discussion, et tout ce qui est structuré, un menu ou un lien, se tape à la main. Odoo 20 ajoute des modèles interactifs avec boutons de réponse, listes d'options et boutons d'appel à l'action, une liste de blocage pour les numéros indésirables, un bouton intelligent WhatsApp sur les pistes CRM et un pont vers Planification pour les quarts de travail. Discussion reçoit une salle de réunion repensée. Cela concerne les équipes de soutien, de vente et d'exploitation qui traitent déjà une partie de leurs contacts clients par WhatsApp.
Cet article couvre la section 32 de notre revue d'Odoo 20 : les modèles interactifs, leur envoi depuis Discussion, la liste de blocage, les deux ponts vers les applications métier et les changements des réunions. WhatsApp dans Odoo dialogue avec l'API WhatsApp Business de Meta ; quelques étapes, comme l'envoi d'un message et la réception du bouton tapé par le client, exigent donc un compte Meta actif, et nous précisons lesquelles nous n'avons pas pu exécuter.
Observé sur la version préliminaire d'Odoo 20.0 Enterprise du 23 septembre 2026. Les noms, menus et disponibilités peuvent changer avant la version finale ; nous mettrons cette page à jour le cas échéant.
Modèles interactifs : trois types de messages structurés
La principale nouveauté se trouve dans WhatsApp > Configuration > Modèles > Modèles interactifs. À côté des modèles de message classiques, vous définissez désormais un second type de modèle, dont le champ Type offre trois options : List of replies, List of detailed options et Call-to-action button. Une liste de réponses place jusqu'à trois réponses prédéfinies sous le message, ce qui permet de construire un menu « Suivre ma commande, Parler aux ventes, Heures d'ouverture » sans projet de robot conversationnel. Une liste d'options détaillées ouvre un sélecteur sur le téléphone du client, avec des sections, des lignes et une courte description par ligne, derrière un libellé de bouton que vous choisissez, par exemple See products. Un bouton d'appel à l'action place un lien derrière un bouton plutôt qu'une URL brute dans le texte.

Le formulaire est court. L'onglet Body contient le texte du message, l'onglet Buttons contient les réponses ou les lignes, et Header Type et Footer Message ajoutent l'en-tête facultatif et le petit pied de page gris que WhatsApp affiche sous un message. Sur le modèle à boutons de réponse que nous avons construit, le pied de page indique My Company Support et l'onglet Buttons compte trois lignes. Le champ Users limite qui peut envoyer le modèle ; vide, il est accessible à tous les utilisateurs.

Le modèle à options détaillées convient à une gamme de produits ou à un catalogue de services. Sur la démo, nous avons créé deux sections, Furniture et Services, avec des lignes comme Office Chairs, Desks et Installation, chacune avec une description d'une ligne. Add an option et Add a section se trouvent au bas de la liste, et les lignes se réordonnent en les glissant.

Envoyer un message interactif depuis Discussion
Les modèles se configurent dans l'application WhatsApp mais s'utilisent dans Discussion. Les conversations WhatsApp ont leur propre onglet dans la barre latérale de Discussion, et le composeur d'une conversation active gagne une action Send Interactive Message. Elle ouvre un assistant avec un sélecteur Interactive Template à gauche et une bulle d'aperçu au style WhatsApp à droite, avec le pied de page, l'heure et les boutons que verra le client. Choisissez Main Menu et l'aperçu montre les trois boutons de réponse ; choisissez le modèle de gamme de produits et il montre un bouton See products qui ouvre la liste. Send Message publie le message dans le fil.

Selon le guide, quand le client tape un bouton ou choisit une ligne, son choix revient comme un message normal dans le même fil, de sorte que l'agent, ou une automatisation sur le canal, lit « Suivre ma commande » comme du texte. Nous n'avons pu ni envoyer le message ni recevoir la réponse sur la démo, puisque les deux exigent un compte WhatsApp Business actif ; ce que nous avons vérifié, ce sont l'assistant et ses aperçus.

La fenêtre de 24 heures
Odoo ne vous laisse répondre librement que dans les 24 heures suivant le dernier message du client. Passé ce délai, le composeur est désactivé et la conversation apparaît comme fermée ; il faut repasser par un modèle de message approuvé pour la rouvrir. Prévoyez d'envoyer vos menus interactifs comme première réponse, pendant que la fenêtre est ouverte, et limitez les menus à boutons de réponse aux trois réponses que WhatsApp autorise.
Une liste de blocage pour les numéros indésirables, des favoris et des renommages partagés
WhatsApp > Configuration > WhatsApp Blocklist est nouveau. Une entrée se compose d'un WhatsApp Number et du WhatsApp Account auquel elle s'applique, et un bouton Block Number en haut du formulaire appelle l'API de Meta pour bloquer le numéro sur le compte professionnel ; le guide indique qu'un bouton Unblock Number apparaît une fois le numéro bloqué. Sur notre démo, l'appel à Meta a échoué, comme prévu sans compte actif, et le traitement de l'erreur a lui-même levé une erreur Python ; l'entrée de la capture a donc été créée archivée, ce qui explique qu'elle affiche encore Block Number et un badge Archived. Testez le blocage sur votre propre compte avant de vous y fier.

Deux changements plus modestes aident une équipe qui traite des dizaines de conversations par jour. Les conversations WhatsApp peuvent être marquées comme favorites dans Discussion, et renommer un canal WhatsApp le renomme désormais pour tout le monde, alors qu'Odoo 19 ne le renommait que pour vous. Nous n'avons capturé ni l'un ni l'autre ; considérez-les comme des affirmations du guide.
WhatsApp à côté de la piste, et les quarts de travail par WhatsApp
Deux modules de liaison amènent le canal dans les applications métier. whatsapp_crm ajoute un bouton intelligent Whatsapp au formulaire de piste et d'opportunité, avec le nombre de conversations liées à cette piste. Il n'apparaît que lorsqu'au moins une conversation existe. Sur la démo, l'opportunité Ergonomic chairs - WhatsApp inquiry de Brandon Freeman porte une conversation ; cliquer sur le bouton l'ouvre, et la même conversation apparaît sous l'onglet WhatsApp de Discussion, le client étant listé comme utilisateur WhatsApp à côté des membres internes.


whatsapp_planning permet aux employés de recevoir leurs quarts de travail et de les soumettre pour approbation par WhatsApp, utile pour le personnel de terrain ou de détail qui n'ouvre jamais d'ordinateur ; nous n'avons pas capturé ce flux. Signature gagne aussi WhatsApp comme canal d'envoi des demandes de signature, traité dans notre article sur Signature dans Odoo 20. Pour un directeur des ventes, l'historique WhatsApp se trouve désormais sur la piste, comme les courriels et les appels, plutôt que sur le téléphone de quelqu'un.
Réunions dans Discussion : plein écran, lien de partage et cinq dispositions
Discussion a une entrée Meetings dans sa barre latérale, et New Meeting > Start Now ouvre désormais l'appel en plein écran. Tant que vous êtes seul, une bannière « Your Meeting is Ready » propose un bouton Add Others et un lien de partage permanent avec un bouton de copie ; le même lien figure dans la barre d'adresse pendant toute la durée de l'appel. La barre d'outils regroupe le microphone, la caméra, le partage d'écran et la main levée, un bouton rouge pour raccrocher, et un menu More avec Change Layout, Fullscreen, Minimize et Picture in Picture.




Change Layout ouvre une boîte de dialogue à cinq options : Auto (dynamic), Tiled, Spotlight, Sidebar et Discuss, la dernière gardant la discussion à côté de la vidéo. Le guide appelle cette boîte Adjust View et liste quatre dispositions ; sur la version testée, elle s'intitule Change layout et en compte cinq, alors utilisez ces noms dans votre documentation utilisateur. Le guide indique aussi que le choix est mémorisé par utilisateur, ce qu'une capture d'écran ne peut pas montrer.

Hors de la salle de réunion, les actions rapides sur un message sont réduites à deux, Copy Text, Edit Message et Copy Message Link passant dans le menu étendu, et les discussions de groupe affichent un indicateur « est en train d'écrire » dans la barre latérale et dans les bulles. Le menu de messagerie de la barre supérieure gagne un onglet IA qui liste vos conversations IA, traité dans notre article sur les agents IA.
Comment l'essayer sur une base de démonstration
- Installez WhatsApp et CRM sur une base de démonstration. Sans compte professionnel Meta, vous pouvez configurer des modèles et ouvrir les assistants, mais rien n'est envoyé.
- Allez dans WhatsApp > Configuration > Modèles > Modèles interactifs, cliquez sur Nouveau, choisissez le type List of replies et ajoutez trois lignes dans l'onglet Buttons.
- Créez un second modèle de type List of detailed options, définissez un Button Label, puis utilisez Add a section et Add an option.
- Ouvrez Discussion, cliquez sur l'onglet WhatsApp de la barre latérale et choisissez une conversation dont le dernier message du client date de moins de 24 heures.
- Dans le composeur, cliquez sur Send Interactive Message, choisissez un modèle et vérifiez la bulle d'aperçu.
- Allez dans WhatsApp > Configuration > WhatsApp Blocklist, cliquez sur Nouveau, saisissez un numéro et le WhatsApp Account, puis essayez Block Number sur un compte actif.
- Dans CRM, ouvrez une piste liée à une conversation WhatsApp et vérifiez le bouton intelligent Whatsapp.
- Dans Discussion, ouvrez Meetings > New Meeting > Start Now, attendez la bannière « Your Meeting is Ready », puis ouvrez More > Change Layout.



Ce que nous n'avons pas pu vérifier sur la version préliminaire
L'envoi d'un message interactif et la réception du bouton tapé par le client exigent tous deux un compte WhatsApp Business actif chez Meta ; nous avons vérifié les modèles, l'assistant et ses aperçus, pas l'aller-retour. Bloquer ou débloquer un numéro appelle l'API de Meta, qui échoue avec le compte de démonstration et, sur cette version, lève une erreur Python au retour. Les ponts vers Signature et Planification, les favoris et les renommages partagés des canaux WhatsApp n'ont pas été capturés. L'indicateur « est en train d'écrire » exige un second utilisateur actif et un websocket fonctionnel. La disposition mémorisée par utilisateur et le lien de partage dans la barre d'adresse n'apparaissent pas sur une capture d'écran. Tout le reste de cette page a été parcouru sur la version 20.0 Enterprise du 23 septembre 2026.
Ce que cela change pour une mise à niveau
Si vous utilisez WhatsApp sur Odoo 17, 18 ou 19, les modèles interactifs, la liste de blocage et le bouton intelligent CRM sont des ajouts que vous configurez après la mise à niveau, et le pont CRM n'affiche un bouton que là où des conversations existent déjà. Prévoyez une courte séance avec votre responsable du soutien pour concevoir deux ou trois menus, car un menu à trois boutons de réponse remplace beaucoup de saisie. Vérifiez tout ce qui pousse des numéros WhatsApp, des pistes ou des messages dans Odoo depuis l'extérieur, comme un formulaire de site Web ou un intergiciel, parce qu'Odoo a programmé pour Odoo 20 la suppression des points de terminaison XML-RPC et JSON-RPC ; notre audit de migration RPC liste ce qui doit changer. Le reste fait partie du cadrage de notre service de migration, et l'article central de la série liste les autres changements qui touchent la même mise à niveau.
Questions fréquentes
Faut-il un compte WhatsApp Business pour utiliser les modèles interactifs d'Odoo 20 ?
Oui. Odoo envoie chaque message WhatsApp par l'API WhatsApp Business de Meta ; il faut donc un compte professionnel connecté avant que quoi que ce soit ne quitte la base. Sur une démo sans compte, vous pouvez créer des modèles interactifs, ouvrir l'assistant Send Interactive Message et voir l'aperçu, mais le message n'est pas livré.
Comment le bouton tapé par le client revient-il dans Odoo ?
Selon le guide d'Odoo 20, le choix arrive comme un message normal dans le même fil de Discussion, avec le texte du bouton ou la ligne de la liste comme contenu, et l'agent le lit comme n'importe quelle réponse. Nous n'avons pas pu en recevoir un sur la démo préliminaire, car cela exige un compte Meta actif.
Pourquoi le composeur est-il désactivé sur une conversation WhatsApp dans Odoo ?
Plus de 24 heures se sont écoulées depuis le dernier message du client. Odoo ferme alors la fenêtre de texte libre et le composeur indique que la conversation est fermée ; vous la rouvrez avec un modèle de message approuvé. Les menus interactifs doivent être envoyés pendant que la fenêtre est ouverte.
Odoo 20 peut-il bloquer des numéros indésirables sur WhatsApp ?
Oui, par WhatsApp > Configuration > WhatsApp Blocklist. Une entrée contient le numéro et le compte WhatsApp, et un bouton Block Number demande à Meta de le bloquer sur le compte professionnel. Sur la démo préliminaire, l'appel a échoué sans compte actif ; testez-le sur votre propre compte avant de vous y fier.
Le bouton intelligent WhatsApp apparaît-il sur chaque piste CRM ?
Non. Le pont whatsapp_crm n'affiche le bouton intelligent Whatsapp que lorsqu'au moins une conversation WhatsApp est liée à la piste ou à l'opportunité, avec le nombre de conversations en dessous. Les pistes sans conversation ressemblent exactement à ce qu'elles étaient dans Odoo 19.
Qu'est-ce qui change dans les réunions de Discussion avec Odoo 20 ?
New Meeting > Start Now s'ouvre en plein écran, affiche une bannière « Your Meeting is Ready » avec un lien de partage permanent tant que vous êtes seul, et le menu More propose Change Layout avec cinq options : Auto (dynamic), Tiled, Spotlight, Sidebar et Discuss. Fullscreen, Minimize et Picture in Picture se trouvent dans le même menu.
