Byg din første agent

Byg din første agent

Denne guide fører dig igennem bygningen af en Indkøbskurvgenoprettelsesagent, en AI-agent der overvåger forladte indkøbskurve og orkestrerer en personaliseret genoprettelsessekvens via email, SMS og WhatsApp med Brevos MCP-værktøjer.

Forudsætninger

  • Brevo-konto med API-nøgle (hent her)
  • Konfigureret Brevo MCP-server (opsætningsguide)
  • Claude Desktop, Claude Code eller en anden MCP-kompatibel klient
  • Emailskabeloner oprettet i Brevo til indkøbskurvgenoprettelse

Sådan fungerer agenter

En agent er en markdown-fil der definerer:

  1. Identitet, hvad agenten gør og dens begrænsninger
  2. Værktøjer, hvilke MCP-værktøjer den har adgang til
  3. Instruktioner, hvordan den skal ræsonnere og handle
  4. Begrænsninger, hvad den aldrig må gøre

Når den kaldes bruger agenten en LLM til at ræsonnere om målet, vælger passende værktøjer og udfører handlinger mod Brevos API.

Marketeer: "Opsæt indkøbskurvgenoprettelse for kurve over $50"
Agenten læser sin specifikation (værktøjer, begrænsninger)
Agenten ræsonnerer: "Jeg skal oprette et segment, designe en sekvens, opsætte sporing"
Agenten kalder: brevo/create-segment → brevo/send-email → brevo/send-sms → brevo/track-event
Resultat: Aktiv 3-trins genoprettelsessekvens, sporende hændelser kørende

Trin 1: Definer agenten

Opret filen 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
---
# Indkøbskurvgenoprettelsesagent
Du er specialist i e-handelskurvgenoprettelse og arbejder med
Brevos engagement-platform. Dit mål er at generhverve forladte
kurve gennem en personaliseret, veltimet flerkanals tilgang.
## Strategi
Ved indkøbskurvfratrædelse:
1. **Vent 1 time**, send derefter en påmindelsesemail med kurvindholdet
2. **Vent 24 timer**, ingen åbning → send SMS med en presserende besked
3. **Vent 48 timer**, stadig ingen genoprettelse → send en endelig email med
et incitament (rabatkode hvis kurvværdi > $100)
## Beslutningsramme
- Kurvværdi <$50: Spring over (ikke værd at genoprettelsesomkostningerne)
- Kurvværdi $50-$100: Email kun (2 kontaktpunkter)
- Kurvværdi $100-$250: Email + SMS (3 kontaktpunkter)
- Kurvværdi > $250: Email + SMS + flag til personlig kontakt
## Regler
- SEND ALDRIG mere end 3 beskeder per forladt kurv
- KONTAKT ALDRIG kunder der har frameldt marketingkommunikation
- VERIFICER ALTID om kurven er genoprettet før næste trin sendes
- PERSONALISER ALTID med kundens fornavn og kurvelementer
- SPOR ALTID genoprettelseshændelser til attribution
- Respekter stille timer: ingen SMS mellem 21:00-9:00 kundens lokaltid
## Emailskabeloner
Brug disse skabelon-ID'er i Brevo:
- Påmindelse (trin 1): template_id 101
- Presserende (trin 2): template_id 102
- Incitament (trin 3): template_id 103
## Sporingsmetrics
- `cart_recovery_email_sent`, genoprettelsesemail sendt
- `cart_recovery_sms_sent`, genoprettelses-SMS sendt
- `cart_recovered`, kunden fuldførte købet
- `cart_recovery_failed`, sekvens afsluttet uden genoprettelse

Trin 2: Registrer værktøjer

Agenten behøver adgang til specifikke Brevo MCP-værktøjer. Feltet tools i frontmatter definerer hvilke værktøjer agenten kan kalde. Når agenten kører, kan den kun kalde disse værktøjer, alt andet er blokeret.

Her er hvad hvert værktøj gør i denne agents kontekst:

tools:
# Læs kundedata og kurvstatus
- brevo/list-contacts # Find kunder med forladte kurve
- brevo/get-contact # Hent individuel kundedetalje
# Opret målrettede segmenter
- brevo/create-segment # Segmenter efter kurvværdi, tid, adfærd
# Send genoprettelsesbesked
- brevo/send-email # Transaktionelle genoprettelsesemails
- brevo/send-sms # SMS-påmindelser for høj-værdi kurve
# Spor resultater
- brevo/track-event # Log genoprettelsesforsøg og resultater
- brevo/get-email-stats # Kontroller om emails er åbnet
- brevo/get-email-templates # Kontroller om skabeloner eksisterer

Trin 3: Opret udførelses­kæden

For komplekse agenter kan du definere en flertrinset udførelses­kæde, hvor specialiserede under-agenter håndterer forskellige 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.

Trin 4: Test agenten

Med Claude Code

Terminal window
# Peg Claude Code mod din agentspecifikation
claude --mcp brevo "Run the cart recovery agent for abandoned carts in the last 4 hours"

Med Claude Desktop

Når Brevo MCP-serveren er konfigureret, spørg Claude:

Kør min indkøbskurvgenoprettelsesagent. Kontroller for forladte kurve over $50 de seneste 4 timer og udfør genoprettelsessekvensen.

Claude vil:

  1. Læse agentspecifikationen
  2. Kalde brevo/list-contacts for at finde forladte kurve
  3. Segmentere efter kurvværdi med beslutningsrammen
  4. Sende genoprettelsesemails via brevo/send-email
  5. Sætte SMS-opfølgning i kø via brevo/send-sms
  6. Spore alle hændelser via brevo/track-event

Programmatisk udførelse

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",
});
// Kør agenten
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."

Trin 5: Planlæg agenten

Kør agenten efter en tilbagevendende tidsplan:

Cron-baseret

# I din agentspecifikations frontmatter
triggers:
- schedule: "0 */4 * * *" # Hver 4. time
timezone: "America/New_York"

Hændelsesudløst

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

Trin 6: Overvåg og iterer

Spor agentens præstation via hændelser i Brevo:

-- Genoprettelsesrate per kurvværdi-niveau
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;

Eksempel: Komplet agentsession

Her er en reel interaktion mellem en marketeer og indkøbskurvgenoprettelsesagenten:

Marketeer: "Kontroller forladte kurve fra i dag og start genoprettelse"
Agent: Kontrollerer forladte kurve de seneste 24 timer...
[Kalder brevo/list-contacts med CART_ABANDONED_AT > i dag filter]
Fandt 47 forladte kurve:
- 12 kurve under $50 (springes over per politik)
- 23 kurve $50-$100 (email-kun niveau)
- 8 kurve $100-$250 (email + SMS niveau)
- 4 kurve over $250 (email + SMS + personlig kontakt flag)
Starter genoprettelsessekvenser...
[Kalder brevo/send-email × 35 med template_id 101]
[Kalder brevo/track-event × 35 med hændelse "cart_recovery_email_sent"]
✅ Trin 1 fuldført:
- 35 påmindelsesemails sendt
- 12 SMS'er sat i kø til opfølgning om 24t (høj-værdi kurve)
- 4 kurve markeret til personlig kontakt
Næste kontrol planlagt om 4 timer.
Sporende hændelser: cart_recovery_email_sent (35),
cart_recovery_sms_queued (12), cart_recovery_escalated (4)

Næste trin

Subscribe to updates

developer-docs

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

AI-assistent

Hej! Spørg mig om dokumentationen.

Start gratis med Brevo