Construir o Seu Primeiro Agente
Construir o Seu Primeiro Agente
Este guia orienta-o na construção de um Agente de Recuperação de Carrinho, um agente de IA que monitoriza carrinhos abandonados e orquestra uma sequência de recuperação personalizada por e-mail, SMS e WhatsApp usando as ferramentas MCP do Brevo.
Pré-requisitos
- Conta Brevo com chave de API (obter uma aqui)
- Servidor MCP Brevo configurado (guia de configuração)
- Claude Desktop, Claude Code ou qualquer cliente compatível com MCP
- Templates de e-mail criados no Brevo para recuperação de carrinho
Como Funcionam os Agentes
Um agente é um ficheiro markdown que define:
- Identidade, o que o agente faz e as suas restrições
- Ferramentas, quais ferramentas MCP pode aceder
- Instruções, como deve raciocinar e agir
- Barreiras de proteção, o que nunca deve fazer
Quando invocado, o agente usa um LLM para raciocinar sobre o objetivo, selecionar as ferramentas adequadas e executar ações contra a API do Brevo.
Profissional de Marketing: "Configure recuperação de carrinho para carrinhos acima de $50" ↓Agente lê a sua especificação (ferramentas, restrições) ↓Agente raciocina: "Preciso de criar um segmento, projetar uma sequência, configurar rastreamento" ↓Agente chama: brevo/create-segment → brevo/send-email → brevo/send-sms → brevo/track-event ↓Resultado: sequência de recuperação de 3 passos ativa, eventos de rastreamento a fluirPasso 1: Definir o Agente
Crie um ficheiro chamado 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---
# Agente de Recuperação de Carrinho
É um especialista em recuperação de carrinho de e-commerce a trabalhar com aplataforma de envolvimento do Brevo. O seu objetivo é recuperar carrinhosabandonados através de contacto multicanal personalizado e bem temporizado.
## Estratégia
Quando um carrinho é abandonado:
1. **Aguardar 1 hora**, depois enviar e-mail de lembrete com conteúdo do carrinho2. **Aguardar 24 horas**, se sem abertura → enviar SMS com mensagem de urgência3. **Aguardar 48 horas**, se ainda sem recuperação → enviar e-mail final com incentivo (código de desconto se o valor do carrinho > $100)
## Estrutura de Decisão
- Valor do carrinho < $50: Ignorar (não compensa o custo de recuperação)- Valor do carrinho $50-$100: Apenas e-mail (2 contactos)- Valor do carrinho $100-$250: E-mail + SMS (3 contactos)- Valor do carrinho > $250: E-mail + SMS + sinalização de contacto pessoal
## Regras
- NUNCA enviar mais de 3 mensagens por carrinho abandonado- NUNCA contactar clientes que cancelaram a subscrição de marketing- SEMPRE verificar se o carrinho foi recuperado antes de enviar o próximo passo- SEMPRE personalizar com o primeiro nome do cliente e itens do carrinho- SEMPRE rastrear eventos de recuperação para atribuição- Respeitar horários de silêncio: sem SMS entre 21h-9h hora local do cliente
## Templates de E-mail
Use estes IDs de template Brevo:- Lembrete (passo 1): template_id 101- Urgência (passo 2): template_id 102- Incentivo (passo 3): template_id 103
## Métricas a Rastrear
- `cart_recovery_email_sent`, e-mail de recuperação enviado- `cart_recovery_sms_sent`, SMS de recuperação enviado- `cart_recovered`, cliente concluiu a compra- `cart_recovery_failed`, sequência concluída sem recuperaçãoPasso 2: Registar Ferramentas
O agente necessita de acesso a ferramentas MCP Brevo específicas. O campo tools no frontmatter define quais ferramentas o agente pode invocar. Quando o agente é executado, apenas pode chamar estas ferramentas, tudo o resto é bloqueado.
Aqui está o que cada ferramenta faz no contexto deste agente:
tools: # Ler dados de clientes e estado do carrinho - brevo/list-contacts # Encontrar clientes com carrinhos abandonados - brevo/get-contact # Obter detalhes individuais do cliente
# Criar segmentos direcionados - brevo/create-segment # Segmentar por valor do carrinho, tempo, comportamento
# Enviar mensagens de recuperação - brevo/send-email # E-mails transacionais de recuperação - brevo/send-sms # Nudges SMS para carrinhos de alto valor
# Rastrear resultados - brevo/track-event # Registar tentativas e resultados de recuperação - brevo/get-email-stats # Verificar se os e-mails foram abertos - brevo/get-email-templates # Verificar se os templates existemPasso 3: Criar a Cadeia de Execução
Para agentes complexos, pode definir uma cadeia de execução de múltiplos passos onde sub-agentes especializados tratam diferentes fases:
steps: - agent: analyzer input: | Analise os dados de carrinho abandonado das últimas 4 horas. Objetivo: {task}
Use brevo/list-contacts para encontrar contactos com evento CART_ABANDONED nas últimas 4 horas. Segmente por nível de valor do carrinho.
- agent: sequencer input: | Com base nesta análise, projete sequências de recuperação: {previous}
Para cada nível, crie a sequência de mensagem adequada usando a estrutura de decisão.
- agent: executor input: | Execute estas sequências de recuperação via Brevo: {previous}
Envie e-mails e SMS de acordo com as regras de timing. Rastreie cada ação com brevo/track-event.
- agent: reporter input: | Gere um relatório de recuperação a partir destes resultados de execução: {previous}
Inclua: carrinhos visados, mensagens enviadas, recuperações antecipadas, impacto previsto na receita.Passo 4: Testar o Agente
Com Claude Code
# Apontar o Claude Code para a sua especificação de agenteclaude --mcp brevo "Execute o agente de recuperação de carrinho para carrinhos abandonados nas últimas 4 horas"Com Claude Desktop
Uma vez configurado o servidor MCP Brevo, pergunte ao Claude:
Execute o meu agente de recuperação de carrinho. Verifique carrinhos abandonados acima de $50 nas últimas 4 horas e execute a sequência de recuperação.
O Claude irá:
- Ler a especificação do agente
- Chamar
brevo/list-contactspara encontrar carrinhos abandonados - Segmentar por valor do carrinho usando a estrutura de decisão
- Enviar e-mails de recuperação via
brevo/send-email - Agendar follow-ups SMS via
brevo/send-sms - Rastrear todos os eventos via
brevo/track-event
Execução Programática
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",});
// Executar o agenteconst 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."Passo 5: Agendar o Agente
Execute o agente num agendamento recorrente:
Baseado em Cron
# No frontmatter da especificação do seu agentetriggers: - schedule: "0 */4 * * *" # A cada 4 horas timezone: "America/New_York"Orientado por Eventos
triggers: - event: cart_abandoned conditions: - cart_value: "> 50" - time_since_activity: "> 30m" debounce: 5mWebhook
triggers: - webhook: /agents/cart-recovery/trigger method: POST authentication: api_keyPasso 6: Monitorizar e Iterar
Acompanhe o desempenho do agente através de eventos Brevo:
-- Taxa de recuperação por nível de valor do carrinhoSELECT 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;Exemplo: Sessão Completa do Agente
Aqui está uma interação real entre um profissional de marketing e o Agente de Recuperação de Carrinho:
Profissional de Marketing: "Verifique carrinhos abandonados de hoje e inicie a recuperação"
Agente: A verificar carrinhos abandonados nas últimas 24 horas...
[Chama brevo/list-contacts com filtro CART_ABANDONED_AT > hoje]
Encontrei 47 carrinhos abandonados:- 12 carrinhos abaixo de $50 (a ignorar por política)- 23 carrinhos $50-$100 (nível apenas e-mail)- 8 carrinhos $100-$250 (nível e-mail + SMS)- 4 carrinhos acima de $250 (e-mail + SMS + sinalização para contacto pessoal)
A iniciar sequências de recuperação...
[Chama brevo/send-email × 35 com template_id 101][Chama brevo/track-event × 35 com evento "cart_recovery_email_sent"]
✅ Passo 1 concluído:- 35 e-mails de lembrete enviados- 12 SMS agendados para follow-up de 24h (carrinhos de alto valor)- 4 carrinhos sinalizados para contacto pessoal
Próxima verificação agendada em 4 horas.Eventos de rastreamento de recuperação: cart_recovery_email_sent (35), cart_recovery_sms_queued (12), cart_recovery_escalated (4)Próximos Passos
- Formato de Especificação de Agente, Referência completa para markdown de agente
- Agentes Pré-construídos, Agentes de marketing prontos a usar
- Referência de Skills, Todas as ferramentas MCP disponíveis
- Servidor MCP Brevo, Esquemas de ferramentas e permissões