Creare il Primo Agente

Creare il Primo Agente

Questa guida ti accompagna nella creazione di un Cart Recovery Agent, un agente IA che monitora i carrelli abbandonati e orchestra una sequenza di recupero personalizzata su email, SMS e WhatsApp usando gli strumenti MCP di Brevo.

Prerequisiti

  • Account Brevo con chiave API (ottienila qui)
  • Server MCP Brevo configurato (guida alla configurazione)
  • Claude Desktop, Claude Code, o qualsiasi client compatibile con MCP
  • Template email creati in Brevo per il recupero carrelli

Come Funzionano gli Agenti

Un agente è un file markdown che definisce:

  1. Identità, cosa fa l’agente e i suoi vincoli
  2. Strumenti, quali strumenti MCP può accedere
  3. Istruzioni, come deve ragionare e agire
  4. Guardrail, cosa non deve mai fare

Quando invocato, l’agente usa un LLM per ragionare sull’obiettivo, selezionare gli strumenti appropriati ed eseguire le azioni sull’API di Brevo.

Marketer: "Configura il recupero carrelli per carrelli superiori a $50"
L'agente legge la sua specifica (strumenti, vincoli)
L'agente ragiona: "Devo creare un segmento, progettare una sequenza, impostare il tracciamento"
L'agente chiama: brevo/create-segment → brevo/send-email → brevo/send-sms → brevo/track-event
Risultato: Sequenza di recupero in 3 step attiva, eventi di tracciamento in flusso

Passo 1: Definisci l’Agente

Crea un file chiamato cart-recovery-agent.md:

---
name: cart-recovery-agent
description: Recupera i carrelli abbandonati con sequenze multi-canale personalizzate
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
Sei uno specialista di e-commerce nel recupero carrelli che lavora con
la piattaforma di coinvolgimento Brevo. Il tuo obiettivo è recuperare
i carrelli abbandonati attraverso un contatto multi-canale personalizzato
e ben tempestivo.
## Strategia
Quando un carrello viene abbandonato:
1. **Aspetta 1 ora**, poi invia un'email promemoria con i contenuti del carrello
2. **Aspetta 24 ore**, se non aperta → invia SMS con messaggio urgente
3. **Aspetta 48 ore**, se ancora non recuperato → invia email finale con
incentivo (codice sconto se valore carrello > $100)
## Framework Decisionale
- Valore carrello <$50: Salta (non vale il costo di recupero)
- Valore carrello $50-$100: Solo email (2 contatti)
- Valore carrello $100-$250: Email + SMS (3 contatti)
- Valore carrello > $250: Email + SMS + segnalazione per contatto personale
## Regole
- MAI inviare più di 3 messaggi per carrello abbandonato
- MAI contattare clienti che hanno rinunciato al marketing
- SEMPRE verificare se il carrello è stato recuperato prima di inviare il passo successivo
- SEMPRE personalizzare con il nome del cliente e gli articoli del carrello
- SEMPRE tracciare gli eventi di recupero per l'attribuzione
- Rispetta le ore di silenzio: nessun SMS tra le 21 e le 9 dell'ora locale del cliente
## Template Email
Usa questi ID template Brevo:
- Promemoria (passo 1): template_id 101
- Urgenza (passo 2): template_id 102
- Incentivo (passo 3): template_id 103
## Metriche da Tracciare
- `cart_recovery_email_sent`, email di recupero inviata
- `cart_recovery_sms_sent`, SMS di recupero inviato
- `cart_recovered`, cliente ha completato l'acquisto
- `cart_recovery_failed`, sequenza completata senza recupero

Passo 2: Registra gli Strumenti

L’agente ha bisogno di accedere a specifici strumenti MCP Brevo. Il campo tools nel frontmatter definisce quali strumenti l’agente può invocare. Quando l’agente viene eseguito, può chiamare solo questi strumenti, tutto il resto è bloccato.

tools:
# Leggi dati cliente e stato carrello
- brevo/list-contacts # Trova clienti con carrelli abbandonati
- brevo/get-contact # Ottieni dettagli singolo cliente
# Crea segmenti mirati
- brevo/create-segment # Segmenta per valore carrello, tempo, comportamento
# Invia messaggi di recupero
- brevo/send-email # Email transazionali di recupero
- brevo/send-sms # SMS per carrelli di alto valore
# Traccia i risultati
- brevo/track-event # Registra tentativi e risultati di recupero
- brevo/get-email-stats # Verifica se le email sono state aperte
- brevo/get-email-templates # Verifica che i template esistano

Passo 3: Crea la Catena di Esecuzione

Per agenti complessi, puoi definire una catena di esecuzione multi-step dove agenti specializzati gestiscono fasi diverse:

chain.yaml
steps:
- agent: analyzer
input: |
Analizza i dati del carrello abbandonato per le ultime 4 ore.
Obiettivo: {task}
Usa brevo/list-contacts per trovare i contatti con
evento CART_ABANDONED nelle ultime 4 ore.
Segmenta per livello di valore carrello.
- agent: sequencer
input: |
In base a questa analisi, progetta le sequenze di recupero:
{previous}
Per ciascun livello, crea la sequenza di messaggi appropriata
usando il framework decisionale.
- agent: executor
input: |
Esegui queste sequenze di recupero tramite Brevo:
{previous}
Invia email e SMS secondo le regole di tempistica.
Traccia ogni azione con brevo/track-event.
- agent: reporter
input: |
Genera un report di recupero da questi risultati di esecuzione:
{previous}
Includi: carrelli target, messaggi inviati, recuperi precoci,
impatto previsto sui ricavi.

Passo 4: Testa l’Agente

Con Claude Code

Terminal window
# Punta Claude Code alla tua specifica agente
claude --mcp brevo "Esegui l'agente di recupero carrelli per i carrelli abbandonati nelle ultime 4 ore"

Con Claude Desktop

Una volta configurato il server MCP Brevo, chiedi a Claude:

Esegui il mio agente di recupero carrelli. Controlla i carrelli abbandonati superiori a $50 nelle ultime 4 ore ed esegui la sequenza di recupero.

Claude:

  1. Leggerà la specifica dell’agente
  2. Chiamerà brevo/list-contacts per trovare i carrelli abbandonati
  3. Segmenterà per valore carrello usando il framework decisionale
  4. Invierà le email di recupero tramite brevo/send-email
  5. Accorderà gli SMS di follow-up tramite brevo/send-sms
  6. Traccerà tutti gli eventi tramite brevo/track-event

Esecuzione Programmatica

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",
});
// Esegui l'agente
const result = await agent.run(
"Recupera i carrelli abbandonati superiori a $50 delle ultime 4 ore"
);
console.log(result.summary);
// → "Elaborati 23 carrelli abbandonati. Inviate 23 email promemoria,
// 8 SMS. 3 carrelli già recuperati durante l'esecuzione."

Passo 5: Pianifica l’Agente

Esegui l’agente su una pianificazione ricorrente:

Basato su Cron

# Nel frontmatter della specifica agente
triggers:
- schedule: "0 */4 * * *" # Ogni 4 ore
timezone: "Europe/Rome"

Basato su Evento

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

Passo 6: Monitora e Itera

Monitora le performance dell’agente attraverso gli eventi Brevo:

-- Tasso di recupero per livello di valore carrello
SELECT
CASE
WHEN cart_value < 100 THEN '$50-$100'
WHEN cart_value < 250 THEN '$100-$250'
ELSE '$250+'
END as livello,
COUNT(*) as carrelli_target,
SUM(CASE WHEN recovered THEN 1 ELSE 0 END) as recuperati,
ROUND(SUM(CASE WHEN recovered THEN 1 ELSE 0 END)::numeric
/ COUNT(*) * 100, 1) as tasso_recupero_pct,
SUM(CASE WHEN recovered THEN cart_value ELSE 0 END) as ricavi_recuperati
FROM cart_recovery_events
WHERE created_at > NOW() - INTERVAL '30 days'
GROUP BY livello
ORDER BY livello;

Esempio: Sessione Agente Completa

Ecco una vera interazione tra un marketer e il Cart Recovery Agent:

Marketer: "Controlla i carrelli abbandonati di oggi e avvia il recupero"
Agente: Controllo i carrelli abbandonati nelle ultime 24 ore...
[Chiama brevo/list-contacts con filtro CART_ABANDONED_AT > oggi]
Trovati 47 carrelli abbandonati:
- 12 carrelli sotto $50 (saltati per policy)
- 23 carrelli $50-$100 (livello solo email)
- 8 carrelli $100-$250 (livello email + SMS)
- 4 carrelli superiori a $250 (email + SMS + segnalazione per contatto personale)
Avvio sequenze di recupero...
[Chiama brevo/send-email × 35 con template_id 101]
[Chiama brevo/track-event × 35 con evento "cart_recovery_email_sent"]
✅ Passo 1 completato:
- 35 email promemoria inviate
- 12 SMS in coda per il follow-up a 24h (carrelli di alto valore)
- 4 carrelli segnalati per contatto personale
Prossimo controllo pianificato tra 4 ore.
Eventi di tracciamento recupero: cart_recovery_email_sent (35),
cart_recovery_sms_queued (12), cart_recovery_escalated (4)

Passi Successivi

Subscribe to updates

developer-docs

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

Assistente AI

Ciao! Chiedimi qualsiasi cosa sulla documentazione.

Inizia gratis con Brevo