ขอสิทธิ์ใช้งานล่วงหน้า

กรอกชื่อพร้อมอีเมลหรือหมายเลขโทรศัพท์ แล้วเราจะติดต่อกลับพร้อมรายละเอียดการเข้าใช้งาน Tajo

สร้างเอเจนต์ตัวแรกของคุณ

คู่มือนี้จะพาคุณสร้าง Cart Recovery Agent ซึ่งเป็นเอเจนต์ AI ที่คอยเฝ้าดูตะกร้าสินค้าที่ถูกทิ้ง แล้วจัดลำดับการติดตามลูกค้าแบบเฉพาะบุคคลข้ามช่องทางอีเมล SMS และ WhatsApp ด้วยเครื่องมือ MCP ของ Brevo

สิ่งที่ต้องมีก่อนเริ่ม

  • บัญชี Brevo ที่มี API key (ขอได้ที่นี่)
  • ตั้งค่า Brevo MCP Server เรียบร้อยแล้ว (คู่มือการติดตั้ง)
  • Claude Desktop, Claude Code หรือไคลเอนต์ใดก็ได้ที่รองรับ MCP
  • เทมเพลตอีเมลสำหรับการติดตามตะกร้าที่สร้างไว้ใน Brevo แล้ว

เอเจนต์ทำงานอย่างไร

เอเจนต์คือไฟล์ markdown ที่กำหนดสิ่งต่อไปนี้:

  1. ตัวตน เอเจนต์ทำอะไรและมีข้อจำกัดอะไรบ้าง
  2. เครื่องมือ เข้าถึงเครื่องมือ MCP ตัวใดได้บ้าง
  3. คำสั่ง ควรให้เหตุผลและลงมือทำอย่างไร
  4. กรอบป้องกัน สิ่งที่ห้ามทำเด็ดขาด

เมื่อถูกเรียกใช้ เอเจนต์จะใช้ LLM คิดหาทางไปสู่เป้าหมาย เลือกเครื่องมือที่เหมาะสม แล้วสั่งงานผ่าน API ของ 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 flowing

ขั้นตอนที่ 1: กำหนดตัวเอเจนต์

สร้างไฟล์ชื่อ 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
---
# Cart Recovery Agent
You are an e-commerce cart recovery specialist working with Brevo's
engagement platform. Your goal is to recover abandoned carts through
personalized, well-timed multi-channel outreach.
## Strategy
When a cart is abandoned:
1. **Wait 1 hour**, then send a reminder email with cart contents
2. **Wait 24 hours**, if no open → send SMS with urgency message
3. **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 recovery

ขั้นตอนที่ 2: ลงทะเบียนเครื่องมือ

เอเจนต์ต้องเข้าถึงเครื่องมือ Brevo MCP บางตัว ฟิลด์ tools ใน frontmatter เป็นตัวกำหนดว่าเอเจนต์เรียกเครื่องมือใดได้บ้าง เมื่อเอเจนต์ทำงาน มันจะเรียกได้แค่เครื่องมือเหล่านี้ ส่วนที่เหลือถูกปิดกั้นทั้งหมด

เครื่องมือแต่ละตัวทำหน้าที่อะไรในบริบทของเอเจนต์ตัวนี้:

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 exist

ขั้นตอนที่ 3: สร้างสายงานการทำงาน

สำหรับเอเจนต์ที่ซับซ้อน คุณกำหนดสายงานหลายขั้นตอนได้ โดยให้เอเจนต์ย่อยที่เชี่ยวชาญเฉพาะทางรับผิดชอบคนละช่วง:

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.

ขั้นตอนที่ 4: ทดสอบเอเจนต์

ด้วย Claude Code

Terminal window
# Point Claude Code at your agent spec
claude --mcp brevo "Run the cart recovery agent for abandoned carts in the last 4 hours"

ด้วย Claude Desktop

เมื่อตั้งค่า Brevo MCP server เรียบร้อยแล้ว ให้ถาม Claude ว่า:

รันเอเจนต์กู้คืนตะกร้าของฉัน ตรวจหาตะกร้าที่ถูกทิ้งซึ่งมีมูลค่าเกิน $50 ในช่วง 4 ชั่วโมงที่ผ่านมา แล้วเดินลำดับการติดตามให้ครบ

จากนั้น Claude จะ:

  1. อ่านข้อกำหนดของเอเจนต์
  2. เรียก brevo/list-contacts เพื่อค้นหาตะกร้าที่ถูกทิ้ง
  3. แบ่งกลุ่มตามมูลค่าตะกร้าโดยใช้กรอบการตัดสินใจ
  4. ส่งอีเมลติดตามผ่าน brevo/send-email
  5. เข้าคิว SMS สำหรับติดตามต่อผ่าน brevo/send-sms
  6. บันทึกทุกเหตุการณ์ผ่าน brevo/track-event

การรันด้วยโค้ด

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 agent
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."

ขั้นตอนที่ 5: ตั้งเวลาให้เอเจนต์

ให้เอเจนต์ทำงานตามตารางเวลาที่วนซ้ำ:

ตามตาราง cron

# In your agent spec frontmatter
triggers:
- schedule: "0 */4 * * *" # Every 4 hours
timezone: "America/New_York"

ตามเหตุการณ์

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

ขั้นตอนที่ 6: ติดตามผลและปรับปรุง

วัดผลการทำงานของเอเจนต์ผ่านเหตุการณ์ใน Brevo:

-- Recovery rate by cart value tier
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;

ตัวอย่าง: เซสชันการทำงานเต็มรูปแบบของเอเจนต์

ตัวอย่างการโต้ตอบจริงระหว่างนักการตลาดกับ 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)

ขั้นตอนถัดไป

ขอสิทธิ์ใช้งานล่วงหน้า

กรอกชื่อพร้อมอีเมลหรือหมายเลขโทรศัพท์ แล้วเราจะติดต่อกลับพร้อมรายละเอียดการเข้าใช้งาน Tajo

ตรวจจับอัตโนมัติ
ผู้ช่วย AI

สวัสดี! ถามฉันเกี่ยวกับเอกสารได้เลย