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:

  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.

Asistente AI

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

Empieza gratis con Brevo