Construcción de Tu Primer Agente
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