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 fluxVisiteur → botBot → destinataire
Sert à…Recevoir des messages d’un client et répondre par emailEnvoyer un email pendant ou à la fin d’une conversation
Où c’est dans le dashboardBot → onglet CanauxBot → onglet Actions
Outil tiersBoîte interne Sens-AI, ou OAuth Gmail / OutlookCompte Resend (le vôtre)
Adresse d’expéditionAdresse fournie par Sens-AI ou votre boîte OAuthUne adresse de votre domaine, vérifiée chez Resend

En clair :

  • Si vos clients vous écrivent à contact@votre-entreprise.fr 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 à commercial@votre-entreprise.fr.
  • 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

  1. Un compte Resend (resend.com) — le plan gratuit suffit pour démarrer (3 000 emails / mois, 100 / jour).
  2. Un domaine vérifié chez Resend (par exemple votre-entreprise.fr). Sans domaine vérifié, Resend refuse les envois vers des adresses externes.
  3. Une clé API Resend générée depuis le dashboard Resend (section « API Keys »).

Étape 1 — Créer le compte Resend

  1. Inscrivez-vous sur resend.com.
  2. Validez votre adresse email d’inscription.
  3. 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.

  1. Dans Resend, section DomainsAdd Domain.
  2. Saisissez le domaine que vous voulez utiliser comme expéditeur (par exemple votre-entreprise.fr).
  3. 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).
  4. Ajoutez ces 3 enregistrements dans votre console DNS, exactement comme indiqués par Resend.
  5. 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

  1. Dans Resend, section API KeysCreate API Key.
  2. Donnez-lui un nom explicite (par exemple « Sens-AI production »).
  3. Choisissez la permission Sending access (pas besoin de « Full access »).
  4. Copiez la clé immédiatement — Resend ne la réaffichera plus.

Étape 4 — Créer le connecteur Resend dans Sens-AI

  1. Dans votre tableau de bord Sens-AI, ouvrez le bot concerné.
  2. Allez dans Actions → onglet ConnecteursAjouter un connecteur.
  3. Choisissez Connecteur personnalisé (ou Resend s’il apparaît dans la liste).
  4. 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 noreply@votre-entreprise.fr ou support@votre-entreprise.fr.
  5. 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

  1. Bot → ActionsAjouter une action.
  2. Dans le catalogue, choisissez Email — Envoyer un email.
  3. Liez-la au connecteur Resend créé à l’étape 4.
  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.
  5. Enregistrez.

Les paramètres de l’action

À chaque exécution, le bot remplit dynamiquement ces champs à partir de la conversation :

ParamètreObligatoireDescription
toOuiAdresse email du destinataire. Le bot doit toujours la confirmer avec le visiteur avant d’envoyer.
subjectOuiObjet de l’email.
bodyOuiCorps de l’email en HTML simple (<p>, <a>, <br>, listes).
replyToNonAdresse 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.

  1. Bot → Actions → cliquez sur l’action → Tester cette action.
  2. Renseignez votre propre adresse email comme destinataire (pas une fausse adresse), un objet du type « Test Sens-AI » et un corps simple.
  3. 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 fromEmail affiché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/plain sé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 to accepte 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é.

  • to n’est pas une adresse email valide (format nom@domaine.fr).
  • from (composé de fromName <fromEmail>) est mal formé — vérifiez le fromEmail du connecteur.
  • body est 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 &lt;p&gt;Bonjour&lt;/p&gt;.
  • Précisez dans l’instruction de l’action que le body doit être en HTML brut.

Étape suivante

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

À lire aussi dans cette section