Initiate a return request by creating a Return Merchandise Authorization (RMA) record capturing order ID, line items being returned, return reason codes, and expected refund method (original payment, store credit, exchange).
Implement an authorization step: validate return eligibility against your return policy rules (within return window, item condition, non-returnable category exclusions) before issuing the RMA.
Generate a prepaid return shipping label via your carrier API (or a multi-carrier platform like EasyPost or ShipBob) and associate the label tracking number with the RMA record.
Listen for carrier tracking webhook events (or poll) to detect when the return package is received at the warehouse; update RMA status to RECEIVED and trigger an inspection workflow.
After inspection, update the RMA status to APPROVED or REJECTED based on item condition; trigger the appropriate refund API call (e.g., platform refund mutation) or restocking action.
Emit a final status notification to the customer (email/SMS) and write the closed RMA record with disposition, refund amount, and restock action to your audit log.
Known gotchas
Return windows are calculated from different anchor dates depending on the platform (order date, delivery date, or invoice date) — standardize on one anchor across your system to avoid policy disputes.
Refund API calls on most platforms (Shopify, BigCommerce, etc.) require the original payment transaction ID; ensure your RMA record stores this at initiation time, not at resolution time.
Carrier label voiding must be triggered if an authorized return is cancelled before shipment; un-voided labels can incur postage charges if accidentally scanned by the carrier.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp