Envoyer un email transactionnel (Resend)
Utiliser l'action « Envoyer un email » via Resend pour les notifications et confirmations, et comprendre en quoi elle diffère du canal email.
Dernière mise à jour :
À quoi sert cette action
L’action « Envoyer un email » permet à votre bot d’envoyer un email sortant pendant une conversation : confirmation de rendez-vous, accusé de réception, récapitulatif de demande, notification à un membre de l’équipe, etc.
Elle s’appuie sur Resend, un service spécialisé dans l’envoi d’emails transactionnels (et non d’emails marketing en masse).
Action sortante ≠ canal email entrant
C’est la première confusion à lever, parce que les deux portent le mot « email » dans le dashboard.
| Canal email (entrant) | Action « Envoyer un email » (sortant) | |
|---|---|---|
| Sens du flux | Visiteur → bot | Bot → destinataire |
| Sert à… | Recevoir des messages d’un client et répondre par email | Envoyer un email pendant ou à la fin d’une conversation |
| Où c’est dans le dashboard | Bot → onglet Canaux | Bot → onglet Actions |
| Outil tiers | Boîte interne Sens-AI, ou OAuth Gmail / Outlook | Compte Resend (le vôtre) |
| Adresse d’expédition | Adresse fournie par Sens-AI ou votre boîte OAuth | Une adresse de votre domaine, vérifiée chez Resend |
En clair :
- Si vos clients vous écrivent à
[email protected]et que vous voulez que le bot réponde, c’est un canal email. Voir Recevoir des e-mails par transfert ou les articles OAuth Gmail / Outlook. - Si à la fin d’une conversation widget vous voulez envoyer une confirmation par email au visiteur, c’est l’action « Envoyer un email ». C’est la suite de cette page.
Les deux ne sont pas exclusifs — on peut très bien recevoir par OAuth Gmail et envoyer une confirmation via Resend dans la même conversation.
Cas d’usage typiques
- Confirmation de demande — « Merci, votre demande a été enregistrée, voici le récapitulatif. » envoyée au visiteur après une collecte de champs.
- Notification interne — « Un nouveau lead vient de remplir le formulaire » envoyée à
[email protected]. - Récapitulatif de rendez-vous — un email avec le lien Calendly généré juste avant.
- Accusé de réception d’une demande de support hors heures ouvrées.
À éviter avec cette action :
- Newsletters et emails marketing en masse — Resend impose des règles anti-spam strictes pour le transactionnel, et envoyer du marketing par ce biais risque le blocage. Utilisez un outil dédié (Brevo, Mailchimp, etc.) connecté via une action séparée si besoin.
- Emails avec pièces jointes — l’action ne prend pas en charge les pièces jointes (voir limites plus bas).
Ce dont vous avez besoin
- Un compte Resend (resend.com) — le plan gratuit suffit pour démarrer (3 000 emails / mois, 100 / jour).
- Un domaine vérifié chez Resend (par exemple
votre-entreprise.fr). Sans domaine vérifié, Resend refuse les envois vers des adresses externes. - Une clé API Resend générée depuis le dashboard Resend (section « API Keys »).
Étape 1 — Créer le compte Resend
- Inscrivez-vous sur resend.com.
- Validez votre adresse email d’inscription.
- Notez que le plan gratuit est largement suffisant pour démarrer. Les plans payants débloquent plus de volume et des domaines supplémentaires.
Étape 2 — Vérifier votre domaine d’expédition
C’est l’étape la plus importante, et celle qui coince le plus souvent.
- Dans Resend, section Domains → Add Domain.
- Saisissez le domaine que vous voulez utiliser comme expéditeur (par exemple
votre-entreprise.fr). - Resend vous donne 3 enregistrements DNS à ajouter chez votre hébergeur de domaine (OVH, Gandi, Cloudflare, IONOS, etc.) :
- Un enregistrement MX (réception des bounces).
- Un enregistrement TXT pour SPF (autorise Resend à envoyer en votre nom).
- Un enregistrement TXT pour DKIM (signature cryptographique des emails).
- Ajoutez ces 3 enregistrements dans votre console DNS, exactement comme indiqués par Resend.
- Retournez sur Resend et cliquez sur Verify DNS Records. La propagation prend généralement quelques minutes, parfois jusqu’à 24 h selon votre hébergeur.
Sans cette étape, vos emails partiront soit en spam, soit pas du tout. Resend bloque les envois depuis un domaine non vérifié vers des destinataires autres que votre propre email d’inscription.
Étape 3 — Récupérer la clé API Resend
- Dans Resend, section API Keys → Create API Key.
- Donnez-lui un nom explicite (par exemple « Sens-AI production »).
- Choisissez la permission Sending access (pas besoin de « Full access »).
- Copiez la clé immédiatement — Resend ne la réaffichera plus.
Étape 4 — Créer le connecteur Resend dans Sens-AI
- Dans votre tableau de bord Sens-AI, ouvrez le bot concerné.
- Allez dans Actions → onglet Connecteurs → Ajouter un connecteur.
- Choisissez Connecteur personnalisé (ou Resend s’il apparaît dans la liste).
- Renseignez :
- Clé API (
apiKey) — la clé Resend copiée à l’étape précédente. - Nom d’expéditeur (
fromName) — ce que verra le destinataire dans son client mail, par exemple « Support Votre Entreprise ». - Email d’expédition (
fromEmail) — une adresse sur le domaine vérifié à l’étape 2, par exemple[email protected]ou[email protected].
- Clé API (
- Donnez un nom au connecteur (« Resend Production ») et enregistrez.
Voir Connecteurs et authentification si vous découvrez le système de connecteurs.
Étape 5 — Ajouter l’action « Envoyer un email » au bot
- Bot → Actions → Ajouter une action.
- Dans le catalogue, choisissez Email — Envoyer un email.
- Liez-la au connecteur Resend créé à l’étape 4.
- Décrivez quand le bot doit la déclencher (par exemple : « Quand le visiteur demande une confirmation par email à la fin d’une demande de devis »). C’est ce que le LLM utilisera pour décider d’agir.
- Enregistrez.
Les paramètres de l’action
À chaque exécution, le bot remplit dynamiquement ces champs à partir de la conversation :
| Paramètre | Obligatoire | Description |
|---|---|---|
to | Oui | Adresse email du destinataire. Le bot doit toujours la confirmer avec le visiteur avant d’envoyer. |
subject | Oui | Objet de l’email. |
body | Oui | Corps de l’email en HTML simple (<p>, <a>, <br>, listes). |
replyTo | Non | Adresse de réponse. Utile si vous voulez que les réponses du destinataire arrivent ailleurs que sur fromEmail. |
Le corps doit être du HTML simple — l’action n’effectue pas de conversion automatique depuis du Markdown.
Tester l’action avant la mise en production
Ne déclenchez jamais cette action en production sans test préalable. Un mauvais paramétrage peut envoyer des emails à de mauvais destinataires.
- Bot → Actions → cliquez sur l’action → Tester cette action.
- Renseignez votre propre adresse email comme destinataire (pas une fausse adresse), un objet du type « Test Sens-AI » et un corps simple.
- Cliquez sur Exécuter et vérifiez :
- Le statut HTTP retourné par Resend (200 = succès).
- L’arrivée effective de l’email dans votre boîte (vérifiez aussi le dossier spam).
- Le nom de l’expéditeur et l’adresse
fromEmailaffichés correctement.
Voir Tester et déboguer une action pour la procédure générale.
Limites de cette action
À connaître avant de planifier votre usage :
- Pas de pièces jointes — l’action n’accepte pas de fichiers joints. Si vous devez envoyer un document, hébergez-le et incluez un lien dans le corps HTML.
- HTML uniquement, pas de version texte — Resend reçoit la version HTML, mais l’action ne fournit pas de version
text/plainséparée. Les clients mail modernes l’affichent correctement, les très anciens peuvent avoir du mal. - Pas de planification — l’email part immédiatement à l’exécution de l’action. Pas de « envoie demain à 9h ».
- Pas de tracking ouvertures / clics — les fonctionnalités de tracking côté Resend ne sont pas exposées dans l’action. Pour des analyses, regardez directement le dashboard Resend.
- Un seul destinataire principal — le champ
toaccepte une adresse à la fois. Pour notifier plusieurs personnes en interne, appelez l’action plusieurs fois ou utilisez un alias mail groupé. - Pas de CC / BCC — non supportés par cette action.
- Délai de timeout : 10 secondes — Resend est très rapide en pratique, mais en cas de surcharge l’action peut échouer en timeout.
- Volume limité par votre plan Resend — pas par Sens-AI. Surveillez votre quota dans le dashboard Resend.
Si l’une de ces limites est bloquante pour votre cas d’usage, deux options : utilisez un Webhook générique pour appeler directement l’API Resend avec plus d’options (pièces jointes, CC, etc.), ou passez par votre propre outil d’emailing connecté via un connecteur personnalisé.
Dépannage
L’email n’arrive pas, mais le test renvoie 200
Resend a accepté la requête, mais l’email peut être bloqué en aval.
- Vérifiez le dossier spam du destinataire.
- Vérifiez que votre domaine est bien vérifié chez Resend (statut « Verified » dans la section Domains).
- Regardez les logs Resend (section Logs du dashboard Resend) — vous y verrez le statut d’acheminement (delivered, bounced, complained).
Erreur 401 — « Unauthorized »
Clé API invalide.
- Vérifiez qu’aucun espace n’a été ajouté lors du copier-coller dans le connecteur.
- Vérifiez que la clé n’a pas été révoquée côté Resend.
- Régénérez une clé si besoin et mettez à jour le connecteur.
Erreur 403 — « Forbidden » ou « Domain not verified »
Le domaine d’expédition (fromEmail) n’est pas vérifié chez Resend.
- Retournez sur Resend → Domains et vérifiez le statut.
- Si vous testez vers votre propre adresse d’inscription Resend, ça marche même sans domaine vérifié. Vers toute autre adresse, le domaine doit être vérifié.
Erreur 422 — « Validation error »
Un paramètre est mal formé.
ton’est pas une adresse email valide (format[email protected]).from(composé defromName <fromEmail>) est mal formé — vérifiez lefromEmaildu connecteur.bodyest vide.
Le bot ne déclenche pas l’action quand attendu
Le LLM n’a pas reconnu le moment de l’utiliser.
- Reprécisez l’instruction de déclenchement de l’action (« Quand le visiteur… »).
- Vérifiez que tous les paramètres requis sont collectables depuis la conversation (notamment l’adresse email du destinataire — voir Configurer les champs à collecter).
L’email arrive mais le formatage HTML s’affiche en texte brut
Le corps a été envoyé avec des balises HTML échappées au lieu d’être interprétées.
- Vérifiez que le bot insère bien
<p>Bonjour</p>et non<p>Bonjour</p>. - Précisez dans l’instruction de l’action que le
bodydoit être en HTML brut.
Étape suivante
- Si vous voulez aussi recevoir des emails (et pas seulement en envoyer), voir Recevoir des e-mails par transfert.
- Si vous avez besoin d’envoyer plusieurs destinataires ou des pièces jointes, voir Créer une action personnalisée pour bâtir un appel direct à l’API Resend en webhook générique.