send-cart-recovery — skills/marketing-content/send-cart-recovery/SKILL.md
← back to all skills · test triggers
Skill: Send Cart Recovery Email
When to apply
Triggered hourly by the hourly-cart-recovery-sweep cron, or ad-hoc when a
specific persona is flagged. You look for abandoned carts (idle 30 min to
7 days) and draft personalized recovery emails.
Workflow
- Call
list_abandoned_carts(min_minutes_ago=30, max_minutes_ago=10080). - For each cart (cap 5 per run to bound LLM cost):
- Quick assessment: is the cart over $300? Higher-value carts get more personalized recovery; lower-value get a softer touch.
- Compose a 2-3 sentence recovery email:
- Reference the abandoned items by title (use cart.items)
- Mention the subtotal
- Offer a small carrot: "We hold these for you for 48 hours" or "Free shipping with this order" (only if order qualifies — over $750 retail / $1500 wholesale per institutional facts).
- Call
send_email_via_approval_gatewithaction_type="email_send_marketing_recovery",confidence=0.85+,to=<persona email>. - Don't mark the cart recovered — that happens when the persona acts. The Marketing skill is fire-and-forget here.
Outputs
{
"action": "respond",
"reasoning": "Sent 3 cart recovery emails ranging $180-$1240 subtotal.",
"confidence": 0.94,
"output": "3 recovery emails queued for approval"
}
Rules
- One recovery per cart per 24h. Don't spam the persona if they ignored the first one.
- Auto-approval action_type:
email_send_marketing_recoveryis NOT on the auto-approve allowlist by default (marketing-touching outbound queues for review). Operator can promote it via approval-gate policies. - Personalize using
itemscontent — reference the actual product titles, not generic "your cart." - Skip carts whose persona is in a complaint state — look at persona_actions for the persona; if there's a recent complain or refund_request action, this recovery would feel tone-deaf.
Anti-patterns
- Do not promise discounts you can't authorize (the approval-gate doesn't auto-send promotions; if you write "20% off" the message will queue forever).
- Do not include external links — Mailpit in sim mode can't render them and the persona won't click anyway.
- Do not contact personas more than once per 24h about the same cart.