Agent Email
Description
Gérez la boîte de réception email de l'agent — créez des boîtes de réception, envoyez/recevez/répondez à des emails, recherchez des messages et gérez les flux de vérification pour les inscriptions de services. Supporte deux fournisseurs : AgentMail (API cloud) et SMTP/IMAP (votre propre serveur).
Déclencheurs
- send email
- check email
- check inbox
- read email
- sign up with email
- create email
- create inbox
- verify email
- email verification
- forward email
- reply to email
- search email
Instructions
Sensibilisation aux fournisseurs
EloPhanto supporte deux fournisseurs email :
- AgentMail (provider: agentmail) — cloud-hébergé, basé sur API, natif pour agents
- SMTP/IMAP (provider: smtp) — votre propre serveur email (Gmail, Outlook, etc.)
Les 6 outils email fonctionnent de manière identique quel que soit le fournisseur. Différences clés :
email_create_inboxsur SMTP vérifie la configuration au lieu de créer une nouvelle boîte de réception.email_searchsur SMTP utilise la correspondance par mot-clé (pas la recherche sémantique).- Pour SMTP, les identifiants sont le nom d'utilisateur et mot de passe SMTP/IMAP (pas une clé API).
Comportements clés
-
Configuration initiale — Si un outil email retourne une erreur « credentials not found », traitez-la de manière conversationnelle :
- Pour AgentMail : Demandez une clé API AgentMail
(depuis https://console.agentmail.to), stockez-la avec
vault_set agentmail_api_key. - Pour SMTP : Demandez les détails du serveur SMTP/IMAP et les identifiants,
stockez-les avec
vault_set smtp_username,vault_set smtp_password, etc. - Ensuite, réessayez l'opération email originale.
- NE dites JAMAIS à l'utilisateur d'exécuter des commandes CLI — gérez tout dans le chat.
- Pour AgentMail : Demandez une clé API AgentMail
(depuis https://console.agentmail.to), stockez-la avec
-
Vérifiez d'abord si vous avez une boîte de réception — Utilisez
identity_statuspour vérifier si vous avez déjà une adresse email dans vos beliefs avant de créer une nouvelle. N'appelezemail_create_inboxque si aucune boîte de réception n'existe. -
Inscriptions à des services — Lors de l'inscription à un service :
- Vérifiez l'existence d'une boîte de réception (
identity_status) - Créez une boîte de réception si nécessaire (
email_create_inbox) - Utilisez les outils de navigateur pour remplir les formulaires d'inscription avec votre email
- Interrogez la réception d'email de vérification (
email_listavec retries, attendez quelques secondes entre) - Lisez l'email de vérification, extrayez le lien (
email_read) - Naviguez vers le lien de vérification avec les outils de navigateur
- Stockez le nouveau compte dans les beliefs d'identité (
identity_update)
- Vérifiez l'existence d'une boîte de réception (
-
Envoi d'emails — Utilisez
email_sendpour les nouveaux messages. Soyez professionnel et concis. N'incluez jamais de détails internes du système, d'identifiants vault, ou de clés privées dans les emails sortants. -
Réponse à des emails — Utilisez
email_replypour maintenir le fil. Citez toujours le contexte pertinent. Utilisezreply_alluniquement quand tous les destinataires doivent voir la réponse. -
Vérification de la boîte de réception — Utilisez
email_listpour voir les messages récents. Utilisezemail_readpour le contenu complet d'un message spécifique. -
Recherche — Utilisez
email_searchavec des requêtes en langage naturel. Exemples : "emails de vérification", "factures de la semaine dernière", "messages de support@hetzner.com". -
Ne partagez jamais les identifiants — Les clés API et mots de passe sont dans le vault. Partagez uniquement votre adresse de boîte de réception quand c'est nécessaire pour des inscriptions ou communications.
Flux de travail courants
Configuration initiale (AgentMail)
User: "get me an email"
→ Présentez les deux fournisseurs (AgentMail vs SMTP), demandez la préférence
→ L'utilisateur choisit AgentMail
→ Demandez la clé API (pointez vers https://console.agentmail.to)
→ vault_set agentmail_api_key <clé de l'utilisateur>
→ email_create_inbox → nouvelle adresse créée
→ Dites à l'utilisateur sa nouvelle adresse email
Configuration initiale (SMTP)
User: "use my Gmail for email"
→ Demandez les détails SMTP/IMAP (hôte, port, identifiants)
→ vault_set smtp_username <email>
→ vault_set smtp_password <mot de passe d'application>
→ Mettez à jour config.yaml avec les détails du serveur
→ email_create_inbox → vérifie la connexion
→ Dites à l'utilisateur que son email est vérifié et prêt
Flux de vérification
email_create_inbox (si nécessaire)
→ browser: accédez à la page d'inscription
→ browser: remplissez le formulaire avec l'email de l'agent
→ browser: soumettez le formulaire
→ email_list (interrogez avec retries pour l'email de vérification)
→ email_read (extrayez le lien de vérification)
→ browser: accédez au lien de vérification
→ identity_update (stockez le nouveau compte)
Gestion des factures
email_list (vérifiez les emails de factures)
→ email_read (obtenez les détails/pièces jointes de la facture)
→ document_analyze (analysez le PDF de facture si joint)
→ payment_preview (affichez le coût)
→ payment_process / crypto_transfer (payez avec approbation)
→ email_reply (confirmez le paiement)
Vérifier
- L'autre agent / outil / canal destinataire a réellement reçu le message ; un accusé de réception, un ID de message ou une charge de réponse est capturé
- L'identité, les scopes et les autorisations utilisés par l'appel étaient les minima requis ; les tokens sur-permissionnés sont signalés
- La gestion des défaillances a été exercée : au moins un chemin retry/timeout/permission-denied est montré pour se comporter comme prévu
- Le contexte transmis au prochain acteur est suffisamment complet pour que le destinataire puisse agir sans question de suivi
- Tout état muté (config, mémoire, queue, fichier) est listé avec les valeurs avant/après, pas juste « mis à jour »
- Le matériel sensible (clés, tokens, PII) a été masqué dans les logs/transcriptions partagés comme preuve de vérification
Notes
- AgentMail crée des boîtes de réception cloud-hébergées via API — adresses email réelles
- SMTP/IMAP se connecte à des comptes email existants — les emails restent sur votre serveur
- Les domaines personnalisés nécessitent un plan AgentMail payant
- Gmail SMTP nécessite un mot de passe d'application quand l'authentification 2FA est activée
- Toutes les opérations email sont enregistrées dans la table email_log pour audit