Je eerste agent bouwen
In deze handleiding bouw je stap voor stap een Cart Recovery Agent, een AI-agent die verlaten winkelwagens in de gaten houdt en een gepersonaliseerde herstelreeks aanstuurt via e-mail, sms en WhatsApp met de MCP-tools van Brevo.
Vereisten
- Een Brevo-account met API-sleutel (vraag er hier een aan)
- Een geconfigureerde Brevo MCP-server (installatiehandleiding)
- Claude Desktop, Claude Code of een andere MCP-compatibele client
- E-mailsjablonen in Brevo voor het herstellen van verlaten winkelwagens
Hoe agents werken
Een agent is een markdown-bestand dat het volgende definieert:
- Identiteit, wat de agent doet en welke beperkingen gelden
- Tools, welke MCP-tools de agent mag gebruiken
- Instructies, hoe de agent moet redeneren en handelen
- Guardrails, wat de agent nooit mag doen
Zodra de agent wordt aangeroepen, redeneert hij met een LLM over het doel, kiest hij de juiste tools en voert hij acties uit tegen de API van Brevo.
Marketer: "Set up cart recovery for carts over $50" ↓Agent reads its specification (tools, constraints) ↓Agent reasons: "I need to create a segment, design a sequence, set up tracking" ↓Agent calls: brevo/create-segment → brevo/send-email → brevo/send-sms → brevo/track-event ↓Result: 3-step recovery sequence active, tracking events flowingStap 1: definieer de agent
Maak een bestand met de naam 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 recoveryStap 2: registreer de tools
De agent heeft toegang nodig tot specifieke Brevo MCP-tools. Het veld tools in de frontmatter bepaalt welke tools de agent mag aanroepen. Tijdens het uitvoeren kan de agent alleen deze tools gebruiken, al het andere wordt geblokkeerd.
Dit doet elke tool binnen de context van deze agent:
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 existStap 3: bouw de uitvoeringsketen
Voor complexe agents kun je een uitvoeringsketen met meerdere stappen definiëren, waarin gespecialiseerde subagents verschillende fases voor hun rekening nemen:
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.Stap 4: test de agent
Met Claude Code
# Point Claude Code at your agent specclaude --mcp brevo "Run the cart recovery agent for abandoned carts in the last 4 hours"Met Claude Desktop
Zodra de Brevo MCP-server is geconfigureerd, vraag je Claude:
Voer mijn cart recovery agent uit. Zoek verlaten winkelwagens van meer dan $50 uit de afgelopen 4 uur en start de herstelreeks.
Claude doet dan het volgende:
- De specificatie van de agent lezen
brevo/list-contactsaanroepen om verlaten winkelwagens te vinden- Segmenteren op winkelwagenwaarde volgens het beslissingskader
- Herstel-e-mails versturen via
brevo/send-email - Sms-opvolging in de wachtrij zetten via
brevo/send-sms - Alle events bijhouden via
brevo/track-event
Programmatisch uitvoeren
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 agentconst 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."Stap 5: plan de agent in
Laat de agent volgens een terugkerend schema draaien:
Op basis van cron
# In your agent spec frontmattertriggers: - schedule: "0 */4 * * *" # Every 4 hours timezone: "America/New_York"Op basis van events
triggers: - event: cart_abandoned conditions: - cart_value: "> 50" - time_since_activity: "> 30m" debounce: 5mWebhook
triggers: - webhook: /agents/cart-recovery/trigger method: POST authentication: api_keyStap 6: monitoren en bijsturen
Volg de prestaties van de agent via Brevo-events:
-- Recovery rate by cart value tierSELECT 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;Voorbeeld: een volledige agentsessie
Dit is een echte interactie tussen een marketeer en de Cart Recovery Agent:
Marketer: "Check abandoned carts from today and start recovery"
Agent: Checking for abandoned carts in the last 24 hours...
[Calls brevo/list-contacts with filter CART_ABANDONED_AT > today]
Found 47 abandoned carts:- 12 carts under $50 (skipping per policy)- 23 carts $50-$100 (email-only tier)- 8 carts $100-$250 (email + SMS tier)- 4 carts over $250 (email + SMS + flag for personal outreach)
Starting recovery sequences...
[Calls brevo/send-email × 35 with template_id 101][Calls brevo/track-event × 35 with event "cart_recovery_email_sent"]
✅ Step 1 complete:- 35 reminder emails sent- 12 SMS queued for 24h follow-up (high-value carts)- 4 carts flagged for personal outreach
Next check scheduled in 4 hours.Recovery tracking events: cart_recovery_email_sent (35), cart_recovery_sms_queued (12), cart_recovery_escalated (4)Volgende stappen
- Agent Specification Format, volledige referentie voor agent-markdown
- Kant-en-klare agents, direct inzetbare marketingagents
- Skills-referentie, alle beschikbare MCP-tools
- Brevo MCP-server, toolschema’s en rechten