Créer votre premier agent
Créer votre premier agent
Ce guide vous explique comment construire un Agent de récupération de panier, un agent IA qui surveille les paniers abandonnés et orchestre une séquence de récupération personnalisée via email, SMS et WhatsApp en utilisant les outils MCP de Brevo.
Prérequis
- Compte Brevo avec clé API (obtenez-en une ici)
- Serveur MCP Brevo configuré (guide de configuration)
- Claude Desktop, Claude Code, ou tout client compatible MCP
- Modèles d’email créés dans Brevo pour la récupération de panier
Fonctionnement des agents
Un agent est un fichier markdown qui définit :
- L’identité, ce que l’agent fait et ses contraintes
- Les outils, quels outils MCP il peut utiliser
- Les instructions, comment il doit raisonner et agir
- Les garde-fous, ce qu’il ne doit jamais faire
Lorsqu’il est invoqué, l’agent utilise un LLM pour raisonner sur l’objectif, sélectionner les outils appropriés et exécuter des actions contre l’API de Brevo.
Marketer: "Set up cart recovery for carts over $50" ↓Agent reads its specification (tools, constraints) ↓Agent reasons: "I need to create a segment, design a sequence, set up tracking" ↓Agent calls: brevo/create-segment → brevo/send-email → brevo/send-sms → brevo/track-event ↓Result: 3-step recovery sequence active, tracking events flowingÉtape 1 : Définir l’agent
Créez un fichier appelé cart-recovery-agent.md :
---name: cart-recovery-agentdescription: Recover abandoned carts with personalized multi-channel sequencesversion: 1.0.0temperature: 0.2max_tokens: 4096tools: - brevo/list-contacts - brevo/get-contact - brevo/create-segment - brevo/send-email - brevo/send-sms - brevo/track-event - brevo/get-email-templates - brevo/get-email-statstriggers: - event: cart_abandoned conditions: - cart_value: "> 50" - time_since_activity: "> 30m" - schedule: "0 */4 * * *"permissions: - contacts:read - email:send - sms:send - events:write---
# Cart Recovery Agent
You are an e-commerce cart recovery specialist working with Brevo'sengagement platform. Your goal is to recover abandoned carts throughpersonalized, well-timed multi-channel outreach.
## Strategy
When a cart is abandoned:
1. **Wait 1 hour**, then send a reminder email with cart contents2. **Wait 24 hours**, if no open → send SMS with urgency message3. **Wait 48 hours**, if still no recovery → send final email with incentive (discount code if cart value > $100)
## Decision Framework
- Cart value < $50: Skip (not worth recovery cost)- Cart value $50-$100: Email only (2 touches)- Cart value $100-$250: Email + SMS (3 touches)- Cart value > $250: Email + SMS + personal outreach flag
## Rules
- NEVER send more than 3 messages per abandoned cart- NEVER contact customers who opted out of marketing- ALWAYS check if cart was recovered before sending next step- ALWAYS personalize with customer first name and cart items- ALWAYS track recovery events for attribution- Respect quiet hours: no SMS between 9pm-9am customer local time
## Email Templates
Use these Brevo template IDs:- Reminder (step 1): template_id 101- Urgency (step 2): template_id 102- Incentive (step 3): template_id 103
## Metrics to Track
- `cart_recovery_email_sent`, recovery email dispatched- `cart_recovery_sms_sent`, recovery SMS dispatched- `cart_recovered`, customer completed purchase- `cart_recovery_failed`, sequence completed without recoveryÉtape 2 : Enregistrer les outils
L’agent a besoin d’accéder à des outils MCP Brevo spécifiques. Le champ tools dans le frontmatter définit quels outils l’agent peut invoquer. Lorsque l’agent s’exécute, il ne peut appeler que ces outils, tout le reste est bloqué.
Voici ce que chaque outil fait dans le contexte de cet agent :
tools: # Read customer data and cart state - brevo/list-contacts # Find customers with abandoned carts - brevo/get-contact # Get individual customer details
# Create targeted segments - brevo/create-segment # Segment by cart value, time, behavior
# Send recovery messages - brevo/send-email # Transactional recovery emails - brevo/send-sms # SMS nudges for high-value carts
# Track outcomes - brevo/track-event # Log recovery attempts and results - brevo/get-email-stats # Check if emails were opened - brevo/get-email-templates # Verify templates existÉtape 3 : Créer la chaîne d’exécution
Pour les agents complexes, vous pouvez définir une chaîne d’exécution multi-étapes où des sous-agents spécialisés gèrent différentes phases :
steps: - agent: analyzer input: | Analyze the abandoned cart data for the past 4 hours. Goal: {task}
Use brevo/list-contacts to find contacts with CART_ABANDONED event in the last 4 hours. Segment by cart value tier.
- agent: sequencer input: | Based on this analysis, design recovery sequences: {previous}
For each tier, create the appropriate message sequence using the decision framework.
- agent: executor input: | Execute these recovery sequences via Brevo: {previous}
Send emails and SMS according to the timing rules. Track every action with brevo/track-event.
- agent: reporter input: | Generate a recovery report from these execution results: {previous}
Include: carts targeted, messages sent, early recoveries, projected revenue impact.Étape 4 : Tester l’agent
Avec Claude Code
# Point Claude Code at your agent specclaude --mcp brevo "Run the cart recovery agent for abandoned carts in the last 4 hours"Avec Claude Desktop
Une fois le serveur MCP Brevo configuré, demandez à Claude :
Run my cart recovery agent. Check for abandoned carts over $50 in the last 4 hours and execute the recovery sequence.
Claude va :
- Lire la spécification de l’agent
- Appeler
brevo/list-contactspour trouver les paniers abandonnés - Segmenter par valeur de panier en utilisant le cadre de décision
- Envoyer des emails de récupération via
brevo/send-email - Mettre en file d’attente les suivis SMS via
brevo/send-sms - Suivre tous les événements via
brevo/track-event
Exécution programmatique
import { TajoAgent } from "@tajo/agent-sdk";import { BrevoMCPServer } from "@tajo/brevo-mcp-server";
const brevo = new BrevoMCPServer({ apiKey: process.env.BREVO_API_KEY,});
const agent = new TajoAgent({ specPath: "./cart-recovery-agent.md", mcpServers: [brevo], model: "claude-sonnet-4-6",});
// Run the agentconst result = await agent.run( "Recover abandoned carts over $50 from the last 4 hours");
console.log(result.summary);// → "Processed 23 abandoned carts. Sent 23 reminder emails,// 8 SMS messages. 3 carts already recovered during execution."Étape 5 : Planifier l’agent
Exécutez l’agent sur une planification récurrente :
Basé sur cron
# In your agent spec frontmattertriggers: - schedule: "0 */4 * * *" # Every 4 hours timezone: "America/New_York"Piloté par événements
triggers: - event: cart_abandoned conditions: - cart_value: "> 50" - time_since_activity: "> 30m" debounce: 5mWebhook
triggers: - webhook: /agents/cart-recovery/trigger method: POST authentication: api_keyÉtape 6 : Surveiller et itérer
Suivez les performances de l’agent via les événements Brevo :
-- Recovery rate by cart value tierSELECT CASE WHEN cart_value < 100 THEN '$50-$100' WHEN cart_value < 250 THEN '$100-$250' ELSE '$250+' END as tier, COUNT(*) as carts_targeted, SUM(CASE WHEN recovered THEN 1 ELSE 0 END) as recovered, ROUND(SUM(CASE WHEN recovered THEN 1 ELSE 0 END)::numeric / COUNT(*) * 100, 1) as recovery_rate_pct, SUM(CASE WHEN recovered THEN cart_value ELSE 0 END) as revenue_recoveredFROM cart_recovery_eventsWHERE created_at > NOW() - INTERVAL '30 days'GROUP BY tierORDER BY tier;Exemple : Session complète avec l’agent
Voici une interaction réelle entre un marketeur et l’agent de récupération de panier :
Marketer: "Check abandoned carts from today and start recovery"
Agent: Checking for abandoned carts in the last 24 hours...
[Calls brevo/list-contacts with filter CART_ABANDONED_AT > today]
Found 47 abandoned carts:- 12 carts under $50 (skipping per policy)- 23 carts $50-$100 (email-only tier)- 8 carts $100-$250 (email + SMS tier)- 4 carts over $250 (email + SMS + flag for personal outreach)
Starting recovery sequences...
[Calls brevo/send-email × 35 with template_id 101][Calls brevo/track-event × 35 with event "cart_recovery_email_sent"]
✅ Step 1 complete:- 35 reminder emails sent- 12 SMS queued for 24h follow-up (high-value carts)- 4 carts flagged for personal outreach
Next check scheduled in 4 hours.Recovery tracking events: cart_recovery_email_sent (35), cart_recovery_sms_queued (12), cart_recovery_escalated (4)Prochaines étapes
- Format de spécification d’agent, Référence complète pour le markdown d’agent
- Agents prêts à l’emploi, Agents marketing prêts à l’emploi
- Référence des Skills, Tous les outils MCP disponibles
- Serveur MCP Brevo, Schémas et permissions des outils