Loop Returns integration
Loop Returns is a returns and exchanges platform for Shopify and other online stores. An agent can list returns in a date range and read one return in full (by return id, order id or order name), process, close, cancel or flag a return, remove line items, add and read notes, attach a fraud report, queue a return shipping label, check an order's return eligibility, create return deep links and QR codes, grade returned items and record their disposition, read the advanced shipping notice and Happy Returns shipments, manage return destinations, the allowlist and the blocklist, create a cart for exchanges and manage webhook subscriptions. Not exposed: the Commerce Data sync routes (products, variants, orders, customers, locations, inventories, collections, bulk operations), the shopper-session Return Create (draft returns) flow and the carrier-side label request routes. Authentication is an API key created in the Loop Admin (Developer Tools) and sent raw in the X-Authorization header; each key carries scopes (returns, orders, carts, developer_tools, destinations, happy_returns_shipments) that decide which tools it may call.
Say what should happen.
The workflow builds itself.
What you can do with Loop Returns
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Destination, 5 operations
create_destinationCreate destinationPOSTCreates a return destination, a warehouse or a donation location, with its address. Returns the destination with its id.delete_destinationDelete destinationDELETEDeletes a return destination.get_destinationGet destinationGETReturns one return destination: name, type (warehouse or donate), enabled flag, provider location id and address.list_destinationsList destinationsGETLists the return destinations of the shop (warehouses and donation locations) with id, name, type, enabled flag and address.update_destinationUpdate destinationPUTReplaces a return destination's name, type, enabled flag and address. name, type and address are required on every call.
Allowlist, 4 operations
create_allowlist_itemCreate allowlist itemPOSTAdds an order number or a customer email to the allowlist, so returns made with it override every other return ineligibility. Returns the entry with its id.delete_allowlist_itemDelete allowlist itemDELETEDeletes an allowlist entry, so the order or email it named is again subject to the normal return rules.get_allowlist_itemGet allowlist itemGETReturns one allowlist entry: id, type (order or email), value and creation date.list_allowlist_itemsList allowlist itemsGETLists the allowlist entries (order numbers or customer emails whose returns bypass every eligibility rule), paginated, with id, type, value and creation date.
Blocklist, 4 operations
create_blocklist_itemCreate blocklist itemPOSTAdds a value to the blocklist so it can no longer be used to start a return. Returns the entry with its id.delete_blocklist_itemDelete blocklist itemDELETEDeletes a blocklist entry, so the value it named can be used to start returns again.get_blocklist_itemGet blocklist itemGETReturns one blocklist entry: id, type, value, secondary value and creation date.list_blocklist_itemsList blocklist itemsGETLists the blocklist entries (order numbers, emails or other values that may not start a return), paginated, with id, type, value, secondary value and creation date.
Webhook, 4 operations
create_webhookCreate webhookPOSTSubscribes a URL to a Loop event (a topic and a trigger such as return / return.created). The subscription is created inactive unless status is active.delete_webhookDelete webhookDELETEDeletes a webhook subscription.list_webhooksList webhooksGETLists the webhook subscriptions of the shop, those created through the API and those created in the Loop admin, with topic, trigger, URL and status.update_webhookUpdate webhookPUTReplaces a webhook subscription's topic, trigger, URL and status; all four are required on every call.
Note, 2 operations
create_return_noteCreate return notePOSTAdds a note to a return's timeline.get_return_notesGet return notesGETLists the notes of a return with their id, content and creation date.
Shipment, 2 operations
get_happy_returns_shipmentGet happy returns shipmentGETReturns the summary of one Happy Returns shipment: Loop and Happy Returns ids, number of line items and returns, creation and update dates.list_happy_returns_shipmentsList happy returns shipmentsGETLists Happy Returns shipments created in a time range, up to 200 per page. Without from and to, it covers the last 24 hours.
Asn, 1 operation
list_advanced_shipping_noticesList advanced shipping noticesGETLists the return packages and their items by tracking status over a date range (the advanced shipping notice), with order, return, item and tracking details. Defaults to the last week.
Assess, 1 operation
assess_dispositionsAssess dispositionsPOSTRecords the final disposition of up to 30 returned line items: back_to_stock, resale_hold, recycle, donate or missing, with an optional processor email, note and inspection date.
Cancel, 1 operation
cancel_returnCancel returnPOSTCancels a return, which lets the customer start a new return with the same items. Returns an errors object when Loop refuses.
Cart, 1 operation
create_cartCreate cartPOSTCreates a cart holding one or more product variants and returns its token. Quantities are not supported: repeat a variant id to add it more than once.
Close, 1 operation
close_returnClose returnPOSTCloses a return without fulfilling its outcomes (no exchange, no gift card), also in the commerce provider; its items cannot be used in a new return. Returns an errors object when Loop refuses.
Detail, 1 operation
get_return_detailsGet return detailsGETReturns one return in full (line items, outcomes, exchanges, labels with tracking, totals, customer), found by return_id, order_id or order_name: pass one of the three.
Flag, 1 operation
flag_returnFlag returnPOSTFlags a return for review: automated processing stops until someone reviews it in the Loop admin. Returns an errors object when Loop refuses.
Fraud report, 1 operation
create_fraud_reportCreate fraud reportPOSTAttaches a fraud report to a return, with a category (for example package-is-empty or item-is-worn) and an optional comment.
Grade, 1 operation
grade_itemsGrade itemsPOSTRecords the inspected condition of up to 30 returned line items: a description, an optional condition category, processor email, note, up to 5 image links and inspection date.
Item, 1 operation
list_happy_returns_shipment_itemsList happy returns shipment itemsGETLists the items of one Happy Returns shipment, paginated.
Label, 1 operation
generate_return_labelGenerate return labelPOSTQueues the generation of a return shipping label (the label carries a shipping cost). It runs in the background: read the label (url, tracking number, carrier, rate) later from get_return_details. Fails if a label exists.
Link, 1 operation
create_return_deep_linkCreate return deep linkPOSTCreates a deep link that takes the customer straight to their order in the Loop return portal. zip is whatever the shop uses to identify orders: shipping ZIP code, email or phone number.
List, 1 operation
list_returnsList returnsGETLists returns created (or updated, with filter) in a range of at most 120 days, with full details, a page at a time. Without from and to it covers the last 24 hours; without state, open, closed and expired returns.
Process, 1 operation
process_returnProcess returnPOSTQueues a return for processing: Loop archives it and fulfills its outcomes (exchange orders, gift cards, refunds) in the background. A true answer means queued, not done; a refusal returns errors.
Qr, 1 operation
create_return_qr_codeCreate return qr codePOSTCreates a QR code image (png, eps or svg; png when type is left out) that opens the customer's order in the Loop return portal, and returns its link with the deep link URL.
Remove, 1 operation
remove_line_itemsRemove line itemsPOSTRemoves line items from an open refund-only or store-credit-only return. Removing every item cancels it; on a refund return the rest is refunded and it closes, so pass all ids in one call.
Return eligibility, 1 operation
check_order_return_eligibilityCheck order return eligibilityPOSTReports, per line item, whether an order (by order name) is eligible for return, without starting a return. Advisory: a return started afterwards decides. For Shopify shops it may refresh Loop's copy of the order.
Use Loop Returns from Claude Code, Cursor or Codex
Connect Loop Returns in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Loop Returns operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Loop Returns
- Create your workspace
Sign up free. Nothing to install.
- Connect Loop Returns once
Add your Loop Returns connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Loop Returns integration FAQ
What can you do with the Loop Returns integration?
LiveContext exposes 38 operations on Loop Returns, covering destination, allowlist, blocklist and webhook.
