Que fait agentmail ?
Donnez aux agents IA leurs propres boîtes de réception email grâce à l'API AgentMail. Utilisez ce skill lorsque vous construisez des agents email, envoyez/recevez des emails par programmation, gérez des boîtes de réception, traitez des pièces jointes, organisez avec des libellés, créez des brouillons pour approbation humaine, ou configurez des notifications en temps réel via webhooks/websockets. Prend en charge l'isolation multi-tenant avec des pods.
Pour commencer
- Obtenez une clé API : Inscrivez-vous sur AgentMail et générez une clé API.
- Installez le SDK (Optionnel) :
pip install agentmail(nécessite Python 3.8+). - Définissez la variable d'environnement :
export AGENTMAIL_API_KEY="votre_clé_api".
Utilisation de base
Envoyer un email
from agentmail import AgentMail
client = AgentMail()
response = client.send_email(
to=[{"email": "[email protected]", "name": "Destinataire"}],
subject="Bonjour du monde",
text="Ceci est un email envoyé par un agent IA."
)
print(f"Email envoyé avec l'ID : {response['message_id']}")
Recevoir des emails
messages = client.list_messages(inbox_id="mon_inbox")
for msg in messages:
print(f"De : {msg['from']} - Sujet : {msg['subject']}")
Créer une boîte de réception
curl -X POST "https://api.agentmail.to/v1/inboxes" \
-H "Authorization: Bearer $AGENTMAIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "mon_inbox", "pod_id": "prod-1"}'
Gérer les pièces jointes
response = client.send_email(
to=[{"email": "[email protected]"}],
subject="Avec pièce jointe",
text="Veuillez trouver le rapport ci-joint.",
attachments=[
{
"filename": "rapport.pdf",
"content": "/chemin/vers/fichier.pdf",
"content_type": "application/pdf"
}
]
)
Travailler avec les libellés
Organisez vos emails avec des libellés personnalisés :
client.create_label(inbox_id="support", name="prioritaire", color="red")
client.assign_label(message_id="msg_123", label="prioritaire")
Notifications en temps réel
Webhooks
Configurez un endpoint webhook pour recevoir les notifications d'arrivée d'email :
// POST /webhook/agentmail
{
"url": "https://votre-app.com/webhook",
"events": ["message.created"]
}
Websockets
const WebSocket = require('ws');
const ws = new WebSocket('wss://api.agentmail.to/v1/ws?token=votre_token');
ws.on('message', function incoming(data) {
const event = JSON.parse(data);
console.log('Nouvel email reçu :', event.message.subject);
});
Isolation multi-tenant avec les pods
Les pods permettent de segmenter les données entre clients ou environnements :
# Créer un pod dédié
pod = client.create_pod(name="client-abc")
# Créer une boîte de réception dans ce pod
inbox = client.create_inbox(pod_id=pod.id, name="support-abc")
Créer des brouillons pour approbation humaine
draft = client.create_draft(
inbox_id="team",
to=[{"email": "[email protected]"}],
subject="Proposition de partenariat",
text="Cher partenaire,..."
)
print(f"Brouillon créé le {draft.created_at} - ID : {draft.id}")
Exemple complet : Agent email autonome
from agentmail import AgentMail
import os
client = AgentMail()
# Vérifier les nouveaux emails
for msg in client.list_messages(inbox_id="support", status="unread"):
# Analyser la demande
if "urgent" in msg.subject.lower():
# Répondre immédiatement
client.send_email(
to=[msg.from],
subject=f"RE: {msg.subject}",
text="Nous traitons votre demande en priorité."
)
Référence API
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /v1/inboxes | Lister les boîtes de réception |
| POST | /v1/inboxes | Créer une boîte de réception |
| GET | /v1/inboxes/:id/messages | Récupérer les messages |
| POST | /v1/messages | Envoyer un email |
| POST | /v1/messages/:id/draft | Créer un brouillon |
| POST | /v1/webhooks | Configurer un webhook |
| WS | /v1/ws | Connexion WebSocket |
Pour une documentation complète, visitez docs.agentmail.to.