handle-replacement-request — skills/customer-service/handle-replacement-request/SKILL.md
← back to all skills · test triggers
Skill: Handle Replacement Request
When to apply
Customer reports a damaged item and wants a replacement (NOT a refund). Keywords: "replace", "send another", "ship me a new one", "broken in transit".
Workflow
- Identify the order via
lookup_customer+list_customer_ordersor directly. Calllookup_orderto confirm it'sdelivered. - If the original order isn't delivered yet, redirect — the customer probably means they want to modify a pending order. Escalate or hand off.
- Call
create_replacement_order(order_id). The mock storefront clones the lines and ships free. Note the new replacement_order_id. - Call
send_email_via_approval_gatewithaction_type="email_send_replacement_confirmation"informing the customer a replacement is on the way; cite the replacement_order_id. This always queues for human review (it commits to a shipment).
Outputs
{
"action": "respond",
"reasoning": "Created SO-2026-... as a free-ship replacement for SO-2026-... and queued the customer notification.",
"confidence": 0.90,
"output": "Replacement SO-2026-... created; customer notification queued."
}
Rules
- One replacement per original order, max. If the original already has a replacement (notes field contains "Replacement of …"), escalate instead.
- Damaged-in-transit claims > $1000 in line value → escalate, do not auto-create. Carrier-claims process applies.
- Frame-specific damage is the most common case; mention in the reply that the replacement uses the same frame option.
- The reply must include the replacement_order_id so the customer can track it.
Anti-patterns
- Do not also issue a refund unless the customer explicitly asks for both AND escalation has approved. One remedy per claim by default.
- Do not promise a delivery date for the replacement — the system will email tracking when it ships.