Collecte d'informations et Transmettre un résumé — prendre et envoyer des messages

Choisir les informations que l'agent recueille, puis les destinations qui reçoivent le message : e-mail, Slack ou webhook.

Dernière mise à jour :

À quoi ça sert

Deux compétences travaillent ensemble :

  • Collecte d’informations : l’agent recueille, au fil de la conversation, les informations que vous avez choisies (nom, téléphone, motif…) ;
  • Transmettre un résumé : le message ainsi pris est envoyé aux destinations que vous avez choisies.

Elles équipent l’agent Boîte vocale intelligente, et peuvent s’ajouter à un autre agent : un agent d’accueil qui répond aux questions continue alors de répondre, et prend aussi les messages. Attention : une fois la Collecte active, chaque conversation où la personne a écrit ou parlé est transmise à l’équipe, même sans demande de sa part, marquée « Informations incomplètes » s’il manque des informations.

Les pages se trouvent dans votre agent → Compétences → Collecte d’informations et Transmettre un résumé. Elles sont réservées au propriétaire du compte.

Collecte d’informations

Ajoutez jusqu’à 10 informations. Pour chacune :

  • Libellé : ce que l’agent demande (60 caractères au plus) ;
  • Type : texte, nom, téléphone, e-mail ou choix (de 2 à 6 réponses possibles) ;
  • Obligatoire : l’agent la demande avant de transmettre, sauf si la personne veut arrêter là ;
  • Consigne (facultative) : une précision pour l’agent, par exemple « demander le numéro de dossier s’il en a un » (200 caractères au plus).

Pendant la conversation, l’agent pose une question à la fois et relit le numéro de téléphone et l’adresse e-mail pour les faire confirmer. Ce que la personne n’a pas donné est signalé « non fourni » dans le message.

Transmettre un résumé

Ajouter une destination

Ajoutez jusqu’à 5 destinations :

  • E-mail : à choisir parmi les membres de votre organisation dont l’adresse est vérifiée. Un membre retiré de l’organisation ne reçoit plus les messages. L’e-mail part de [email protected], avec l’objet « Nouveau message — {nom de l’agent} » (dans la langue de l’agent). Y répondre vous écrit à vous, le propriétaire du compte : jamais à la personne qui a laissé le message.
  • Slack : un canal Slack, via un connecteur Slack. Voir Slack : envoyer une notification.
  • Webhook : votre CRM, Zapier, Make ou votre propre serveur, via un connecteur webhook (voir Webhook générique). Le connecteur s’utilise comme pour les actions : avec le type bearer, saisissez le jeton seul (Sens Ai ajoute Bearer lui-même) ; avec le type header, le nom d’en-tête choisi est bien utilisé, sauf un nom réservé ou commençant par X-SensAI-. L’adresse doit être en https://, avec un nom de domaine public (pas d’adresse IP) ; la valeur d’authentification ne doit contenir que des caractères simples (sans accent). Sinon l’envoi est refusé : vérifiez avec Tester l’envoi. La signature est expliquée plus bas.

Le bouton Tester l’envoi envoie tout de suite un message d’exemple, marqué « TEST », à la destination choisie (5 essais par heure au plus).

Quand le message part

CanalEnvoi
Téléphone et voix sur votre siteenviron une minute après la fin de l’appel (jusqu’à 15 minutes si la fin de l’appel n’a pas pu être enregistrée)
Chat du site, Telegram, e-maildans la minute qui suit l’annonce de l’agent (« je transmets votre message à l’équipe »)
Chat du site, si la conversation s’arrête avantaprès 15 minutes sans nouveau message
Telegram, si la conversation s’arrête avantaprès 2 heures sans nouveau message
E-mail, si la conversation s’arrête avantaprès 24 heures sans nouveau message

Un message incomplet part quand même : les informations manquantes y sont signalées. Une fois le message envoyé, si la personne revient, l’agent prend un nouveau message.

Ce que contient le message

  • un résumé de l’échange et des textes fixes (« Résumé », « non fourni »…) dans la langue principale de l’agent : français, anglais, espagnol ou allemand, le français sinon. Les libellés restent ceux que vous avez saisis, et les réponses libres sont résumées dans la langue de la conversation ;
  • les informations recueillies, chacune avec son origine : « numéro de l’appel », « saisi », « entendu — orthographe à vérifier » (un nom, un numéro ou une adresse e-mail dictés à la voix), « adresse déclarée par l’expéditeur » (un e-mail reçu), ou « note de l’assistant (non vérifiée) » pour les réponses libres et les choix, que l’agent résume sans nom, numéro, e-mail ni lien ;
  • les informations manquantes. « non fourni » peut aussi vouloir dire « non confirmé » : un nom, un numéro ou une adresse e-mail n’est repris que si la personne l’a bien donné elle-même. En cas de doute, ouvrez la conversation ;
  • un lien Voir la conversation, qui ouvre l’échange dans votre boîte de réception (connexion requise).

Sur Slack, le message est limité à environ 2 900 caractères : au-delà, la fin (dernières informations, résumé) est coupée sans avertissement. Ouvrez Voir la conversation pour l’échange complet.

Dans l’e-mail et sur Slack, les liens présents dans les réponses de la personne sont désactivés (hxxp, [.]) : ne les ouvrez pas sans vérifier leur origine.

Limites

Pour éviter les abus : 200 messages par jour et par agent, et 10 messages par heure depuis une même origine (la même connexion internet sur le chat du site, le même appel en voix sur le site, le même numéro au téléphone, le même expéditeur sur Telegram et par e-mail). Au-delà, la conversation reste dans votre boîte de réception, mais aucun message n’est envoyé, et rien n’apparaît dans le Journal.

L’onglet Journal

L’onglet Journal liste les messages envoyés, destination par destination, avec leur état. Il n’affiche jamais le contenu des messages ni les adresses.

Recevoir les messages par webhook

Chaque message est envoyé en POST, au format JSON ("schema": "sensai.message.v1"), avec deux en-têtes :

  • X-SensAI-Timestamp : l’heure d’envoi, en secondes (horodatage Unix) ;
  • X-SensAI-Signature : v1= suivi du HMAC-SHA256, en hexadécimal, de {horodatage}.{corps brut}, calculé avec le secret de la destination.

Le secret s’affiche une seule fois, à l’ajout de la destination : conservez-le. Il sert de clé tel quel, comme texte. Perdu ou compromis : supprimez la destination et recréez-la, un nouveau secret est alors créé.

Côté serveur :

  1. recalculez la signature sur le corps brut, avant tout décodage, et comparez-la en temps constant. Refusez toute requête dont la signature est absente, mal formée ou différente, avant tout autre traitement ;
  2. refusez un horodatage qui n’est pas un nombre entier, ou qui est éloigné de plus de 5 minutes de l’heure actuelle (chaque nouvelle tentative est signée à nouveau, avec un horodatage frais) ;
  3. un même message peut arriver plusieurs fois (nouvelles tentatives après 1, 5 et 30 minutes) : dédoublonnez sur le champ deliveryId du corps, gardez les identifiants traités au moins 2 heures, et ne marquez un message « traité » qu’une fois son traitement réussi ;
  4. un message dont le corps porte "test": true vient du bouton Tester l’envoi : répondez 2xx sans le traiter (un autre code s’afficherait comme un échec du test) ;
  5. répondez par un code 2xx en moins de 8 secondes : une absence de réponse, un code 429 ou 5xx déclenche une nouvelle tentative ; une redirection ou un autre code 4xx est un refus définitif.

Les valeurs arrivent brutes, telles que vos correspondants les ont données : traitez-les comme non fiables. Dans un tableur, par exemple, une valeur qui commence par = peut être interprétée comme une formule.

Cet article vous a-t-il été utile ?

À lire aussi dans cette section