Aller au contenu
Documentation

Réponses enrichies : tableaux, cartes et réponses rapides dans le chat

Permettez à l'agent de répondre avec un tableau pour comparer des options, une rangée de cartes parmi lesquelles choisir, ou des boutons de réponse rapide pour l'étape suivante, en plus de son texte. Découvrez quand il les utilise, les limites, leur aspect dans le widget et où elles apparaissent ailleurs.

Avec Rich replies activé, l'agent peut afficher du contenu structuré dans le chat, sous son texte :

  • un tableau, pour comparer plusieurs éléments sur les mêmes points, comme des offres, des produits ou des horaires d'ouverture ;
  • des cartes, une rangée d'options parmi lesquelles choisir, chacune avec un titre et, en option, une image, un prix et des boutons ;
  • des réponses rapides, de courts boutons pour les étapes suivantes évidentes. Toucher l'un d'eux envoie son texte comme message du visiteur.

L'agent rédige toujours aussi une réponse textuelle. Les réponses enrichies se placent en dessous, comme les fiches produits et les créneaux de réservation.

L'activer ou le désactiver

Ouvrez votre agent, sélectionnez l'onglet Appearance et repérez l'interrupteur Rich replies, à côté de Suggest follow-up questions et de Show sources under replies. Il est activé par défaut pour chaque agent. Cliquez sur Save changes pour appliquer une modification.

Le Playground utilise l'interrupteur tel qu'il apparaît à l'écran : vous pouvez donc l'essayer avant d'enregistrer.

Le désactiver arrête les nouvelles réponses enrichies. Les réponses qui en ont déjà affiché une la conservent dans la conversation.

Quand l'agent les utilise

L'agent décide pour chaque réponse. Il a pour consigne de n'utiliser les réponses enrichies que lorsqu'elles sont utiles :

SituationCe qu'il affiche
Une comparaison de plusieurs éléments sur les mêmes pointsUn tableau
Plusieurs options entre lesquelles le visiteur peut choisirDes cartes
Des étapes suivantes évidentes parmi lesquelles le visiteur choisiraitDes réponses rapides

Il a pour consigne de ne pas les utiliser pour un fait isolé, un oui ou un non, une conversation de politesse ou une réponse tenant en un court paragraphe, et de ne les remplir qu'avec des faits issus de vos connaissances, de la conversation ou des résultats de vos actions, jamais avec des produits, des prix, des liens ou des images inventés. Comme pour toute réponse d'IA, vérifiez les réponses importantes dans le Playground, et utilisez vos instructions pour l'orienter, par exemple « Affiche nos offres sous forme de tableau quand quelqu'un demande les prix. »

Une réponse enrichie fait partie de la même réponse : elle ne consomme donc pas de message supplémentaire, et activer l'interrupteur ne change pas la façon dont la réponse s'affiche en streaming. La réponse enrichie apparaît une fois le texte terminé. Un visiteur qui touche une réponse rapide ou le bouton de réponse d'une carte envoie un message, qui compte comme un message tapé.

Limites et règles de sécurité

Une réponse affiche au plus un tableau, une rangée de cartes et un ensemble de réponses rapides.

TypeLimites
Tableau1 à 8 colonnes et 1 à 20 lignes. Chaque cellule est du texte brut de 200 caractères au maximum, les en-têtes de colonnes 60 au maximum, une légende facultative 100 au maximum. Chaque ligne a une cellule par colonne.
Cartes1 à 10 cartes. Chacune a un titre de 80 caractères au maximum et, en option, un sous-titre de 200 au maximum, une image, un prix écrit sous forme de texte de 40 au maximum (comme « CHF 49 » ou « à partir de 9 $/mois ») et jusqu'à 2 boutons. Un bouton ouvre un lien ou envoie une réponse de 120 caractères au maximum comme message du visiteur. Les libellés des boutons comptent 40 caractères au maximum.
Réponses rapides1 à 6 boutons de 40 caractères au maximum chacun. Les doublons ne s'affichent qu'une fois.

intoCHAT vérifie chaque réponse enrichie avant son affichage :

  • Tout est en texte brut. Le HTML est refusé, et les marques Markdown comme ** sont supprimées.
  • Les liens et les images doivent être des adresses https:// complètes. Les liens http://, javascript: et data:, les adresses contenant un nom d'utilisateur ou un mot de passe, et les adresses sans domaine comme localhost sont refusés.
  • Les réponses rapides et les boutons de réponse ne peuvent pas contenir de lien, puisque leur texte est envoyé comme message du visiteur.

Un tableau, une rangée de cartes ou un ensemble de réponses rapides qui enfreint une règle n'est pas affiché du tout, jamais en partie. La réponse textuelle et toute autre réponse enrichie valide s'affichent quand même. Quand votre agent dispose aussi d'actions, de formulaires de chat ou d'autres outils, on lui indique ce qui n'allait pas, et il peut le corriger dans la même réponse.

Aspect dans le widget

  • Les réponses enrichies apparaissent sous le message de l'agent, alignées avec lui, dans le thème clair ou sombre de votre widget. Les boutons de lien et de réponse des cartes utilisent votre couleur Launcher bubble.
  • Un tableau défile horizontalement sur un écran étroit. Plusieurs cartes forment une rangée qui défile horizontalement, avec des flèches pour les utilisateurs de souris. Une carte seule s'affiche en largeur.
  • Les réponses rapides ne s'affichent que sous la dernière réponse et disparaissent dès que le visiteur envoie un message. Tant que des réponses rapides sont affichées, les questions de suivi ne le sont pas : les deux ne se font donc pas concurrence.
  • Les liens des cartes s'ouvrent dans un nouvel onglet. Avec Keep campaign tags on links activé (voir Apparence), ils portent vos balises de campagne comme les autres liens des réponses.
  • Tout fonctionne au clavier : les boutons et les liens sont accessibles avec Tab, et le tableau comme la rangée de cartes peuvent recevoir le focus et défiler avec les flèches. Les lecteurs d'écran annoncent la légende du tableau, le nombre de cartes et le groupe de réponses rapides.

Les libellés propres au widget, comme « Plus », « Précédent », « Réponses rapides » et l'indication qu'un lien s'ouvre dans un nouvel onglet, suivent la langue du widget. Le texte à l'intérieur d'une réponse enrichie est rédigé par l'agent, dans la langue de sa réponse.

Où apparaissent aussi les réponses enrichies

EndroitCe que vous voyez
Onglet Conversations et PlaygroundLa réponse enrichie telle que le visiteur l'a vue. Dans l'onglet Conversations, ses boutons n'envoient rien.
Boîte de réception Live chat, e-mail de transfert, tickets helpdesk et export CSVUne version texte : un tableau sous forme de lignes de cellules séparées par |, les cartes sous la forme • Title — subtitle — price avec leurs liens, les réponses rapides sous la forme [Yes] [No].
Conversations Slack et par e-mailNon proposées : l'agent y écrit du texte brut.
API REST et serveur MCPUn champ ui, décrit ci-dessous.

Dans l'API

Envoyer un message (sans streaming) et Obtenir une conversation ajoutent un champ ui à une réponse de l'agent qui a affiché une réponse enrichie. Une réponse sans réponse enrichie n'a pas de champ ui. Les outils MCP chat_with_agent et get_conversation renvoient la même chose. content et reply restent en texte brut, sans la réponse enrichie.

{
  "id": "MESSAGE_ID",
  "role": "assistant",
  "content": "Here are our two plans.",
  "createdAt": "2026-10-27T10:00:00.000Z",
  "authorName": null,
  "sources": [],
  "ui": [
    {
      "type": "table",
      "title": "Plans",
      "columns": ["Plan", "Price", "Seats"],
      "rows": [["Basic", "CHF 9", "1"], ["Pro", "CHF 29", "5"]]
    },
    {
      "type": "cards",
      "cards": [
        {
          "title": "Pro",
          "subtitle": "For growing teams",
          "image": "https://www.example.com/pro.png",
          "price": "CHF 29 / month",
          "buttons": [
            { "label": "See details", "url": "https://www.example.com/pricing" },
            { "label": "Start a trial", "reply": "I'd like to start a Pro trial" }
          ]
        }
      ]
    },
    { "type": "quick_replies", "replies": ["Compare features", "Talk to sales"] }
  ]
}

Chaque élément a un type : table (avec columns, rows et un title facultatif), cards (chaque carte avec title, les champs facultatifs subtitle, image et price, et des buttons ayant un label et soit une url, soit une reply) ou quick_replies (avec replies). Les champs facultatifs sont omis quand ils sont vides.

Étapes suivantes

Voir en Markdown