Loop Returns Integration
Connect Loop Returns with Packiyo to sync, receive, and process Shopify returns.
🔧 Heads up: Self-serve setup for the Loop Returns integration isn't ready yet. Reach out to support@packiyo.com and they'll get you connected!
Overview
The Loop Returns integration enables Packiyo to synchronize and process customer returns originating from Loop, a Shopify-based returns management platform.

Note: Loop Returns works exclusively with Shopify. A Shopify store is required to create and use a Loop account.
Account Setup in Loop
1. Install Loop Returns from the Shopify App Store
In your Shopify store, search for Loop Returns & Exchanges and open the app.
Search for Loop Returns & Exchanges in Shopify.
On the permissions page, click Update to continue. This starts the Loop onboarding flow.
Approve the requested Shopify permissions to continue.
2. Complete the Loop onboarding flow
Follow the setup steps presented by Loop. If prompted for an activation code, contact the Loop team or book a demo to receive one. Enter the activation code and submit it.
Enter the activation code provided by Loop during onboarding.
Choose your Loop domain. In most cases, you can keep the domain suggested by Loop and continue. Enter the customer support name, email address, and reply-to email that Loop should use when sending messages to customers.
Invite the team members who need access to Loop. Each invited user will receive an email invitation to set a password and sign in.
3. Open the Loop admin dashboard
After onboarding, sign in to the Loop Admin Dashboard. If your account has access to multiple organizations, select the organization you want to manage.
API Key Creation
- Log in to the Loop Admin Dashboard.
- Navigate to Returns Management > Tools & Integrations > Developer Tools.
- Click Generate API Key.
- Select the required API scopes and save the key.
- Copy the generated API key for use in Packiyo.
Connecting Loop to Packiyo*
*reach out to support@packiyo.com at this step
- In Packiyo, navigate to Connection > Apps > Add new.
- Select Loop Returns.
- Enter the API key generated in Loop.
- Click Create.
- Verify that the credentials authenticated successfully, then save the connection.
- Open Configure to access the Loop sync settings.
You can sync returns created by Loop by date or by Return ID.
To receive return-created and return-updated events, click Recreate All in Manage webhooks. Packiyo will create the required webhooks in Loop. To send, receive or reject updates back to Loop, create the Packiyo webhook Receive Returns.
Creating Returns in Loop
From Shopify
Open a fulfilled order. From the More Actions menu, select Loop. If the order is eligible for a return, click Start Return. Search for the order by order ID, customer, or email, then follow the prompts to complete the return.
From the Loop self-service portal
Customers can also create a return from your Loop domain. They can search for an order using the order number and shipping ZIP code, then follow the prompts to start the return.
Configuration
Field
| Description
|
API Key
| Loop API token
|
Supported Features
- Returns Sync / Import
- Returns Sync / Import by ID
- Returns Sync / Import via Webhook
- Receive / Update Returns via Webhook
Return Import into Packiyo
Field Mapping
Loop Field
| Packiyo Field
|
id
| number
|
total
| total
|
createdAt
| requestedAt
|
carrier
| shippingCarrier
|
trackingNumber
| trackingNumber
|
state
| status
|
returnLineItems[].returnReason
| reason
|
Receiving and Processing Returns
To receive or reject a return after it has synced into Packiyo, go to the Packiyo Returns page. Click Receive Return for the return you want to process. You can receive or reject items individually.
You can receive or reject products in multiple locations. By default, Received Returns and Rejected Returns are selected for received and rejected items. Select a location to use it for the item. Click the right-arrow icon to receive an item. To reject an item, open the three-dot menu and click Reject, then enter the reject quantity, reason, and notes.
After processing the items, click Done.
When all items are either received or rejected, Packiyo calls the Loop API to update the return status in Loop.
When Packiyo sends receive or reject updates to Loop, the following logic is applied:
- Only fully received returns are processed.
- Rejected items are sent to Loop and removed from the return order when supported.
- Other return order items are marked as processed.
Important: Loop only allows return items to be removed when they are tied to a refund or store credit. Items tied to an exchange cannot be removed.
|
Processing Logic
- No rejected lines: Packiyo calls the Loop process-return endpoint.
- Rejected lines present: Packiyo sends the rejected line item IDs to Loop for removal before processing the remaining return.
Inventory Updates
- When a return item is received into a default location such as Received Returns, Packiyo does not send an inventory update webhook because these default locations are not pickable or sellable.
- If an item is received into a location where pickable and sellable are enabled, Packiyo sends the appropriate webhook to update Shopify inventory.
- If a product is later transferred from a default return location to a pickable and sellable location, Packiyo adjusts inventory and sends the Shopify inventory update.
Important Notes
- Orders must already be synced into Packiyo before their returns can be processed.
- Loop returns cannot be processed if the associated Packiyo order does not exist.
- Loop Returns works only with Shopify. To use the integration, both Loop and Shopify must be connected to Packiyo.
- Customers create returns in Loop by selecting their order, the items they want to return, return reasons, and the desired outcome, such as an exchange, store credit, or refund. A single return can contain different outcomes.
- When a return is submitted in Loop, it is created in Packiyo.
- When a return is fully received, Packiyo triggers the process-return action in Loop. Loop then creates the exchange order, refund, store credit, or other configured outcome.
- Only return items tied to a refund or store credit can be rejected in Packiyo. Exchange items cannot be rejected or removed.
- Packiyo syncs Loop returns with an open status.
- If an open return was synced previously, it is saved as Closed in Packiyo