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:

  1. Identidad, qué hace el agente y sus restricciones
  2. Herramientas, qué herramientas MCP puede acceder
  3. Instrucciones, cómo debe razonar y actuar
  4. 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 fluyendo

Paso 1: Definir el Agente

Crea un archivo llamado cart-recovery-agent.md:

---
name: cart-recovery-agent
description: Recover abandoned carts with personalized multi-channel sequences
version: 1.0.0
temperature: 0.2
max_tokens: 4096
tools:
- 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-stats
triggers:
- 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's
engagement platform. Your goal is to recover abandoned carts through
personalized, well-timed multi-channel outreach.
## Strategy
When a cart is abandoned:
1. **Wait 1 hour**, then send a reminder email with cart contents
2. **Wait 24 hours**, if no open → send SMS with urgency message
3. **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

Paso 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 plantillas

Paso 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:

chain.yaml
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

Terminal window
# Apunta Claude Code a tu especificación de agente
claude --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:

  1. Leerá la especificación del agente
  2. Llamará a brevo/list-contacts para encontrar carritos abandonados
  3. Segmentará por valor de carrito usando el marco de decisión
  4. Enviará emails de recuperación con brevo/send-email
  5. Pondrá en cola seguimientos SMS con brevo/send-sms
  6. 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 agente
const 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 agente
triggers:
- 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: 5m

Webhook

triggers:
- webhook: /agents/cart-recovery/trigger
method: POST
authentication: api_key

Paso 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 carrito
SELECT
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_recovered
FROM cart_recovery_events
WHERE created_at > NOW() - INTERVAL '30 days'
GROUP BY tier
ORDER BY tier;

Próximos Pasos

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
Asistente AI

¡Hola! Pregúntame lo que quieras sobre la documentación.