Construiește primul tău agent
Acest ghid te conduce prin construirea unui agent de recuperare a coșurilor, un agent AI care urmărește coșurile abandonate și orchestrează o secvență de recuperare personalizată pe e-mail, SMS și WhatsApp, folosind instrumentele MCP de la Brevo.
Cerințe preliminare
- Cont Brevo cu cheie API (obține una aici)
- Serverul MCP Brevo configurat (ghid de configurare)
- Claude Desktop, Claude Code sau orice client compatibil cu MCP
- Șabloane de e-mail create în Brevo pentru recuperarea coșurilor
Cum funcționează agenții
Un agent este un fișier markdown care definește:
- Identitatea, ce face agentul și ce constrângeri are
- Instrumentele, la ce instrumente MCP are acces
- Instrucțiunile, cum trebuie să raționeze și să acționeze
- Limitele de siguranță, ce nu trebuie să facă niciodată
Când este invocat, agentul folosește un LLM ca să raționeze despre obiectiv, să aleagă instrumentele potrivite și să execute acțiuni prin API-ul 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 flowingPasul 1: definește agentul
Creează un fișier numit 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 recoveryPasul 2: înregistrează instrumentele
Agentul are nevoie de acces la anumite instrumente MCP Brevo. Câmpul tools din frontmatter definește ce instrumente poate invoca agentul. Când agentul rulează, poate apela doar aceste instrumente, orice altceva este blocat.
Iată ce face fiecare instrument în contextul acestui 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 existPasul 3: creează lanțul de execuție
Pentru agenți complecși poți defini un lanț de execuție cu mai mulți pași, în care subagenți specializați se ocupă de faze diferite:
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.Pasul 4: testează agentul
Cu Claude Code
# Point Claude Code at your agent specclaude --mcp brevo "Run the cart recovery agent for abandoned carts in the last 4 hours"Cu Claude Desktop
După ce serverul MCP Brevo este configurat, cere-i lui Claude:
Rulează agentul meu de recuperare a coșurilor. Verifică dacă există coșuri abandonate de peste 50 $ în ultimele 4 ore și execută secvența de recuperare.
Claude va face următoarele:
- Citește specificația agentului
- Apelează
brevo/list-contactsca să găsească coșurile abandonate - Segmentează după valoarea coșului, pe baza cadrului de decizie
- Trimite e-mailuri de recuperare prin
brevo/send-email - Pune la coadă mesajele SMS de urmărire prin
brevo/send-sms - Urmărește toate evenimentele prin
brevo/track-event
Execuție programatică
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."Pasul 5: programează agentul
Rulează agentul după un program recurent:
Pe bază de cron
# In your agent spec frontmattertriggers: - schedule: "0 */4 * * *" # Every 4 hours timezone: "America/New_York"Declanșat de evenimente
triggers: - event: cart_abandoned conditions: - cart_value: "> 50" - time_since_activity: "> 30m" debounce: 5mWebhook
triggers: - webhook: /agents/cart-recovery/trigger method: POST authentication: api_keyPasul 6: monitorizează și îmbunătățește
Urmărește performanța agentului prin evenimentele Brevo:
-- 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;Exemplu: o sesiune completă cu agentul
Iată o interacțiune reală între un marketer și agentul de recuperare a coșurilor:
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)Pașii următori
- Formatul specificației de agent, referința completă pentru fișierul markdown al agentului
- Agenți predefiniți, agenți de marketing gata de folosit
- Referința skillurilor, toate instrumentele MCP disponibile
- Serverul MCP Brevo, scheme de instrumente și permisiuni