Bygg din första agent

Bygg din första agent

Den här guiden tar dig igenom att bygga en kundvagnsåtervinningsagent – en AI-agent som övervakar övergivna kundvagnar och orkestrerar en personlig återvinningssekvens tvärs över e-post, SMS och WhatsApp med Brevos MCP-verktyg.

Förutsättningar

  • Brevo-konto med API-nyckel (skaffa en här)
  • Brevo MCP-server konfigurerad (inställningsguide)
  • Claude Desktop, Claude Code eller en MCP-kompatibel klient
  • E-postmallar skapade i Brevo för kundvagnsåtervinning

Hur agenter fungerar

En agent är en markdown-fil som definierar:

  1. Identitet, vad agenten gör och dess begränsningar
  2. Verktyg, vilka MCP-verktyg den kan få åtkomst till
  3. Instruktioner, hur den ska resonera och agera
  4. Skyddsräcken, vad den aldrig ska göra

När den anropas använder agenten en LLM för att resonera om målet, välja lämpliga verktyg och utföra åtgärder mot Brevos API.

Marknadsförare: "Konfigurera kundvagnsåtervinning för vagnar över $50"
Agenten läser sin specifikation (verktyg, begränsningar)
Agenten resonerar: "Jag behöver skapa ett segment, designa en sekvens, sätta upp spårning"
Agenten anropar: brevo/create-segment → brevo/send-email → brevo/send-sms → brevo/track-event
Resultat: 3-stegs återvinningssekvens aktiv, spårningshändelser strömmar

Steg 1: Definiera agenten

Skapa en fil kallad 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

Steg 2: Registrera verktyg

Agenten behöver åtkomst till specifika Brevo MCP-verktyg. Fältet tools i frontmatter definierar vilka verktyg agenten kan anropa. När agenten körs kan den bara anropa dessa verktyg – allt annat blockeras.

Här är vad varje verktyg gör i den här agentens kontext:

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

Steg 3: Skapa exekveringskedjan

För komplexa agenter kan du definiera en flerstegs-exekveringskedja där specialiserade underagenter hanterar olika faser:

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.

Steg 4: Testa agenten

Med Claude Code

Terminal window
# Point Claude Code at your agent spec
claude --mcp brevo "Run the cart recovery agent for abandoned carts in the last 4 hours"

Med Claude Desktop

När Brevo MCP-servern är konfigurerad, fråga Claude:

Kör min kundvagnsåtervinningsagent. Kontrollera övergivna kundvagnar över $50 de senaste 4 timmarna och kör återvinningssekvensen.

Claude kommer att:

  1. Läsa agentspecifikationen
  2. Anropa brevo/list-contacts för att hitta övergivna kundvagnar
  3. Segmentera efter kundvagnsvärde med beslutsramverket
  4. Skicka återvinnings-e-post via brevo/send-email
  5. Sätta upp SMS-uppföljningar via brevo/send-sms
  6. Spåra alla händelser via brevo/track-event

Programmatisk körning

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 agent
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."

Steg 5: Schemalägg agenten

Kör agenten på ett återkommande schema:

Cron-baserat

# In your agent spec frontmatter
triggers:
- schedule: "0 */4 * * *" # Every 4 hours
timezone: "America/New_York"

Händelsebaserat

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

Steg 6: Övervaka och iterera

Spåra agentprestanda via Brevo-händelser:

-- Recovery rate by cart value tier
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;

Exempel: Fullständig agentsession

Här är en riktig interaktion mellan en marknadsförare och kundvagnsåtervinningsagenten:

Marknadsförare: "Kontrollera övergivna kundvagnar från idag och starta återvinning"
Agent: Kontrollerar övergivna kundvagnar de senaste 24 timmarna...
[Anropar brevo/list-contacts med filter CART_ABANDONED_AT > today]
Hittade 47 övergivna kundvagnar:
- 12 kundvagnar under $50 (hoppar över enligt policy)
- 23 kundvagnar $50-$100 (endast e-post-nivå)
- 8 kundvagnar $100-$250 (e-post + SMS-nivå)
- 4 kundvagnar över $250 (e-post + SMS + flagga för personlig kontakt)
Startar återvinningssekvenser...
[Anropar brevo/send-email × 35 med template_id 101]
[Anropar brevo/track-event × 35 med händelse "cart_recovery_email_sent"]
✅ Steg 1 klart:
- 35 påminnelse-e-post skickade
- 12 SMS i kö för 24h uppföljning (kundvagnar med högt värde)
- 4 kundvagnar flaggade för personlig kontakt
Nästa kontroll schemalagd om 4 timmar.
Återvinningsspårningshändelser: cart_recovery_email_sent (35),
cart_recovery_sms_queued (12), cart_recovery_escalated (4)

Nästa steg

Subscribe to updates

developer-docs

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

AI-assistent

Hej! Fråga mig om dokumentationen.

Börja gratis med Brevo