Gérer les conversations email
Comprendre le canal e-mail côté opérateur : adresses, threading, réponses, limites. Tout ce qu'il faut savoir pour traiter des conversations e-mail dans la boîte de réception.
Dernière mise à jour :
Pourquoi cette page ?
Le canal e-mail est un peu particulier. Contrairement au widget ou à Telegram (où la conversation se déroule dans une bulle ou une appli dédiée), un e-mail traverse plusieurs domaines, plusieurs serveurs, et porte des en-têtes invisibles qui décident si votre réponse arrive bien dans le bon fil de discussion côté client.
Cette page n’explique pas comment brancher un canal e-mail — pour ça, voyez Recevoir des e-mails par transfert, Connecter Gmail (OAuth) ou Connecter Outlook (OAuth).
Ici, on regarde ce qui se passe une fois que c’est branché, du point de vue de la personne qui traite les e-mails depuis la boîte de réception.
Vue d’ensemble : l’e-mail comme canal au même titre que les autres
Côté boîte de réception, une conversation e-mail apparaît exactement comme une conversation widget ou Telegram : dans la liste de gauche, avec un statut, une priorité, et la fiche client à droite. Vous pouvez la filtrer (filtre Canal → E-mail), la trier, la marquer comme escaladée, etc.
La différence est ailleurs : les messages sortants partent vers une boîte mail externe, doivent paraître propres dans un client mail (Outlook, Gmail, Apple Mail), et doivent rester dans le bon fil de discussion quand le client répond.
Comment l’e-mail entre dans Sens-AI
Trois modes d’entrée, selon comment le canal a été branché :
| Mode | Adresse visible côté Sens-AI | Quand l’utiliser |
|---|---|---|
| Transfert | bot-<id>-<token>@inbox.sens-ai.work | Solution simple : votre fournisseur (Zoho, OVH…) transfère les e-mails |
| Gmail OAuth | Votre vraie adresse contact@… | Vous voulez répondre depuis votre adresse Gmail / Workspace |
| Outlook OAuth | Votre vraie adresse contact@… | Idem, côté Microsoft 365 / Outlook |
Dans tous les cas, l’e-mail entrant est normalisé : Sens-AI extrait le sujet, le corps texte (les signatures et anciens messages cités sont nettoyés), les pièces jointes, et les en-têtes de threading (Message-ID, In-Reply-To, References) qui servent à coller la réponse dans le bon fil.
À savoir : côté DNS, le domaine
inbox.sens-ai.workest un catch-all géré par Sens-AI via Cloudflare Email Routing. Vous n’avez aucune configuration MX à faire sur ce domaine — c’est nous qui le gérons.
Comment Sens-AI envoie une réponse
Trois cas, encore, selon le mode du canal :
Mode transfert
- L’envoi sortant passe par Brevo (SMTP).
- L’expéditeur affiché est une adresse
reply-<bot-id>@reply.sens-ai.work(lisible mais technique). - Le client reçoit la réponse normalement dans son client mail. S’il répond, son nouveau message arrive sur
reply.sens-ai.work, qui le route versinbox.sens-ai.workpuis vers la conversation Sens-AI d’origine — le fil est préservé.
Mode Gmail OAuth
- L’envoi sortant passe directement par l’API Gmail avec le jeton OAuth de la boîte connectée.
- L’expéditeur est votre vraie adresse (
contact@votre-entreprise.fr). - Le client voit une réponse normale venant de chez vous. S’il répond, sa réponse arrive dans votre boîte Gmail, Gmail nous notifie via webhook, et Sens-AI la rattache à la bonne conversation.
Mode Outlook OAuth
- L’envoi sortant passe par l’API Microsoft Graph avec le jeton OAuth.
- Tout le reste fonctionne comme pour Gmail : votre vraie adresse, threading Outlook préservé, réponses routées vers Sens-AI via webhook Microsoft.
Astuce : vous pouvez avoir plusieurs canaux e-mail sur un même bot (par exemple, un canal Gmail pour
contact@et un canal Outlook poursupport@). Chaque conversation reste rattachée au canal d’origine, et vos réponses partent par le bon canal automatiquement.
Le threading : ce qui garde le fil propre
Quand vous répondez à un e-mail dans Sens-AI, votre réponse porte plusieurs en-têtes invisibles que les clients mail utilisent pour reconstituer le fil de discussion :
Message-ID— l’identifiant unique de votre réponse.In-Reply-To— l’identifiant du dernier message reçu (celui auquel vous répondez).References— la liste de tous lesMessage-IDdu fil depuis le début.Reply-To(mode transfert uniquement) — l’adressereply-<bot>@reply.sens-ai.workqui permet au client de répondre tout en restant dans la boucle Sens-AI.
Concrètement :
- Un client vous écrit. Son e-mail a un
Message-IDunique. - Sens-AI répond en posant
In-Reply-To: <message-id-du-client>et en ajoutant ce mêmeMessage-IDau tableauReferences. - Le client reçoit la réponse, son client mail (Outlook, Gmail) la place dans le même fil que son e-mail initial.
- S’il répond, son nouveau message porte à son tour un
In-Reply-Topointant sur l’ID de votre réponse et unReferencesqui contient toute la chaîne précédente.
Tout ça se passe sans que vous n’ayez rien à faire. Mais si jamais un fil n’est pas groupé côté client, c’est presque toujours parce que lui (Outlook en entreprise, par exemple) a une politique de groupage par sujet plutôt que par References. Voir la section dépannage.
Le sujet et le préfixe « Re: »
Quand vous répondez, Sens-AI ajoute le préfixe « Re: » au sujet si ce n’est pas déjà fait. Si l’e-mail entrant n’avait aucun sujet, Sens-AI utilise (Sans objet) comme repli, pour que le fil reste lisible côté client.
Pour info, une amélioration cosmétique est en cours pour utiliser la forme française « Re : » avec une espace insécable (norme typographique). En attendant, c’est « Re: » sans espace.
Le workflow opérateur, étape par étape
1. Repérer les conversations e-mail
Dans la boîte de réception :
- Filtre Canal → E-mail dans la barre du haut.
- Chaque conversation e-mail affiche une icône enveloppe dans la liste.
- La fiche client à droite contient l’adresse e-mail du client (et son nom si Sens-AI a réussi à l’extraire automatiquement).
2. Lire le fil
Le volet central affiche l’historique :
- En tête : le sujet de l’e-mail (avec le préfixe « Re: » s’il y a plusieurs allers-retours).
- En bas : les messages dans l’ordre chronologique (du plus ancien au plus récent), avec auteur et horodatage.
- Les pièces jointes envoyées par le client sont listées sous le message, avec un lien de téléchargement (lien signé, voir Stockage, rétention et chiffrement des fichiers).
3. Composer une réponse
Vous utilisez le même éditeur que pour les autres canaux (Écrire et mettre en forme une réponse) :
- Mise en forme (gras, italique, listes, liens).
- Emojis (passent bien dans tous les clients mail).
- Réponses types (raccourci
/<nom>).
Note Phase 1 : sur le canal e-mail, les pièces jointes en envoi ne sont pas encore prises en charge. Voir la section Limitations actuelles (Phase 1) en bas de page.
Quand vous cliquez sur Envoyer, Sens-AI :
- Détecte automatiquement que c’est un canal e-mail.
- Construit le message MIME avec les bons en-têtes de threading.
- L’envoie via Brevo (mode transfert) ou via l’API Gmail/Outlook (mode OAuth).
- Enregistre une copie dans l’historique de la conversation.
4. Statuer la conversation
Comme pour les autres canaux :
- Résoudre quand le sujet est traité.
- Escalader si une intervention spécifique est requise (vous pouvez utiliser ça pour marquer un cas qui doit remonter à un collègue, voir Prise en charge humaine (handoff)).
- Rendre au bot si finalement la conversation peut continuer en automatique.
Handoff sur le canal e-mail
Le mécanisme de handoff fonctionne exactement comme sur les autres canaux : le bot répond automatiquement, et escalade dès qu’un signal de difficulté apparaît (client qui insiste, mots-clés sensibles, faible confiance, échecs consécutifs). La conversation passe en statut Escaladée dans la boîte de réception, et vous recevez (si vous l’avez activé) une notification par e-mail.
Particularité du canal e-mail : comme la latence est intrinsèquement plus longue (le client n’attend pas une réponse en 5 secondes), le score de priorité est généralement plus bas qu’une conversation widget en direct. Si vous voulez traiter en priorité les e-mails escaladés, triez par statut « Escaladée » plutôt que par priorité brute.
Configuration des déclencheurs (mots-clés, etc.) : Prise en charge humaine (handoff).
Pièces jointes en réception
Quand un client envoie un e-mail avec pièces jointes, Sens-AI :
- Extrait chaque pièce jointe du MIME.
- La stocke dans le stockage de fichiers (zone UE, chiffrée AES-256 au repos), rattachée à la conversation.
- Génère un lien signé (HMAC-SHA256, validité 90 jours) accessible depuis la boîte de réception.
- Affiche la pièce jointe sous le message dans le fil.
Limite : 8 Mo par fichier. Au-delà, la pièce jointe est ignorée et un message s’affiche dans la conversation pour vous prévenir.
Détails sur le stockage et la suppression : Stockage, rétention et chiffrement des fichiers.
Limitations actuelles (Phase 1)
- Les pièces jointes en envoi ne sont pas encore supportées. Les opérateurs ne peuvent pas joindre de fichiers à leurs réponses email. Cette fonctionnalité arrivera dans une future itération.
- Les images en ligne (cid:) et les invitations calendrier (.ics) ne sont pas traitées.
- Le HTML riche dans les réponses bot est plain text uniquement.
Dépannage
Ma réponse n’arrive pas chez le client
- Vérifiez le statut du canal dans Studio → Canaux. Doit être Actif. Si En attente : voir E-mail — le transfert ne marche pas ou OAuth — la connexion a échoué.
- Mode OAuth : le jeton a peut-être expiré (révocation côté Google / Microsoft). Reconnectez le canal.
- Spam : demandez au client de vérifier ses indésirables. En mode transfert, l’adresse
reply-<…>@reply.sens-ai.workpeut être marquée par certains filtres anti-spam stricts.
Le fil de discussion n’est pas groupé chez le client
- Vérifiez avec lui sur quel client mail il regarde. Outlook en entreprise groupe parfois uniquement par sujet, pas par
References. Gmail et Apple Mail respectent presque toujoursReferences. - Si le sujet a été modifié (avec un préfixe différent type
[Ticket #123]), certains clients ne raccrochent plus le fil. Évitez de changer le sujet en cours de route.
Sens-AI a envoyé deux réponses au même e-mail
- Très rare — le dédup est fait sur le
Message-IDentrant côté Sens-AI. Si ça arrive : peut-être un ancien canal de transfert encore actif en plus d’un canal OAuth sur la même adresse. Vérifiez dans Studio → Canaux et désactivez l’ancien.
Un client se plaint que le bot répond depuis une « adresse bizarre »
- C’est le mode transfert : le bot répond depuis
reply-<…>@reply.sens-ai.work. C’est normal mais peut surprendre. Pour avoir une vraie adresse pro côté client, passez en mode OAuth (Gmail ou Outlook), au choix.
Pour le reste, voir le guide général E-mail — le transfert ne marche pas ou OAuth — la connexion a échoué.
En coulisses (pour les curieux)
L’architecture technique, en résumé :
- Entrée :
inbox.sens-ai.work(catch-all géré par Cloudflare Email Routing) + webhooks Gmail / Outlook côté API. - Parser MIME : extraction sujet / corps / pièces jointes / en-têtes de threading.
- Stockage : Turso (libSQL) pour les messages et la conversation, R2 pour les pièces jointes (zone EU).
- Sortie : Brevo SMTP (mode transfert) ou API Gmail / Microsoft Graph (mode OAuth).
- Threading : en-têtes RFC 2822 (
Message-ID,In-Reply-To,References) préservés bout en bout.
Vous n’avez besoin de rien savoir de tout ça pour utiliser le canal — mais si un fil ne se comporte pas comme attendu, ça aide à savoir où chercher.
Pour aller plus loin
- Recevoir des e-mails par transfert — la configuration côté Zoho, Gmail, Outlook, OVH.
- Connecter Gmail (OAuth) — passer en mode OAuth pour répondre depuis votre vraie adresse Gmail.
- Connecter Outlook (OAuth) — idem côté Microsoft.
- Écrire et mettre en forme une réponse — l’éditeur, les emojis, les pièces jointes, les réponses types.
- Prise en charge humaine (handoff) — configurer les déclencheurs d’escalade.
- Stockage, rétention et chiffrement des fichiers — où sont stockées les pièces jointes et combien de temps.