Construcción de Tu Primer Agente
Esta guía te lleva por el proceso de construcción de un Agente de Recuperación de Carrito, un agente de IA que monitorea los carritos abandonados y orquesta una secuencia de recuperación personalizada a través de email, SMS y WhatsApp usando las herramientas MCP de Brevo.
Requisitos Previos
- Cuenta de Brevo con clave API (obtén una aquí)
- Servidor MCP de Brevo configurado (guía de configuración)
- Claude Desktop, Claude Code o cualquier cliente compatible con MCP
- Plantillas de email creadas en Brevo para recuperación de carrito
Cómo Funcionan los Agentes
Un agente es un archivo markdown que define:
- Identidad, qué hace el agente y sus restricciones
- Herramientas, qué herramientas MCP puede acceder
- Instrucciones, cómo debe razonar y actuar
- Barreras, lo que nunca debe hacer
Cuando se invoca, el agente usa un LLM para razonar sobre el objetivo, seleccionar herramientas apropiadas y ejecutar acciones contra la API de Brevo.
Marketero: "Configura la recuperación de carritos para carritos superiores a $50" ↓El agente lee su especificación (herramientas, restricciones) ↓El agente razona: "Necesito crear un segmento, diseñar una secuencia, configurar seguimiento" ↓El agente llama: brevo/create-segment → brevo/send-email → brevo/send-sms → brevo/track-event ↓Resultado: secuencia de recuperación de 3 pasos activa, eventos de seguimiento fluyendoPaso 1: Definir el Agente
Crea un archivo llamado 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 recoveryPaso 2: Registrar Herramientas
El agente necesita acceso a herramientas MCP específicas de Brevo. El campo tools en el frontmatter define qué herramientas puede invocar el agente. Cuando el agente se ejecuta, solo puede llamar a estas herramientas, todo lo demás está bloqueado.
tools: # Leer datos de clientes y estado del carrito - brevo/list-contacts # Encontrar clientes con carritos abandonados - brevo/get-contact # Obtener detalles individuales del cliente
# Crear segmentos dirigidos - brevo/create-segment # Segmentar por valor de carrito, tiempo, comportamiento
# Enviar mensajes de recuperación - brevo/send-email # Emails de recuperación transaccional - brevo/send-sms # SMS para carritos de alto valor
# Rastrear resultados - brevo/track-event # Registrar intentos y resultados de recuperación - brevo/get-email-stats # Verificar si se abrieron los emails - brevo/get-email-templates # Verificar que existan las plantillasPaso 3: Crear la Cadena de Ejecución
Para agentes complejos, puedes definir una cadena de ejecución de múltiples pasos donde sub-agentes especializados manejan diferentes fases:
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.Paso 4: Probar el Agente
Con Claude Code
# Apunta Claude Code a tu especificación de agenteclaude --mcp brevo "Run the cart recovery agent for abandoned carts in the last 4 hours"Con Claude Desktop
Una vez configurado el servidor MCP de Brevo, pregunta a Claude:
Ejecuta mi agente de recuperación de carrito. Verifica los carritos abandonados superiores a $50 en las últimas 4 horas y ejecuta la secuencia de recuperación.
Claude:
- Leerá la especificación del agente
- Llamará a
brevo/list-contactspara encontrar carritos abandonados - Segmentará por valor de carrito usando el marco de decisión
- Enviará emails de recuperación con
brevo/send-email - Pondrá en cola seguimientos SMS con
brevo/send-sms - Rastreará todos los eventos con
brevo/track-event
Ejecución Programática
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",});
// Ejecutar el agenteconst 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."Paso 5: Programar el Agente
Ejecuta el agente en un horario recurrente:
Basado en Cron
# En el frontmatter de tu especificación de agentetriggers: - schedule: "0 */4 * * *" # Cada 4 horas timezone: "America/New_York"Basado en Eventos
triggers: - event: cart_abandoned conditions: - cart_value: "> 50" - time_since_activity: "> 30m" debounce: 5mWebhook
triggers: - webhook: /agents/cart-recovery/trigger method: POST authentication: api_keyPaso 6: Monitorear e Iterar
Rastrea el rendimiento del agente a través de los eventos de Brevo:
-- Tasa de recuperación por nivel de valor de carritoSELECT 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;Próximos Pasos
- Formato de Especificación de Agentes, Referencia completa para el markdown del agente
- Agentes Prediseñados, Agentes de marketing listos para usar
- Referencia de Skills, Todas las herramientas MCP disponibles
- Servidor MCP de Brevo, Esquemas de herramientas y permisos