Workflows
Updated 11 November 2026
Overview
This article explains workflows: rules that run on every return a shopper submits in the portal. When a return matches a workflow's conditions, its actions apply before the shopper sees their options. Workflows are how you send risky returns to review, waive labels for a country, add a fee for late returns, or ask a question before a return goes through.
Use the menu on the left to quickly navigate this article.
Before you start
- A return policy that covers the orders you want the workflow to touch.
- For the Ask questions type with a photo request, shopper photos switched on.
- A test order, so you can try a new workflow before publishing it.
Workflows
Creating a workflow
In the admin, go to Policy > Workflows.
- Click Create Workflow.
- In Choose a return workflow type, pick Set conditions and rules or Ask questions or request photos.
- Name the workflow.
- Under Conditions, click + Add Condition and configure at least one.
- Under Actions, click + Add Action and pick what happens on a match.
- On the Ask questions type, click + Add Customer Input and add a yes/no question or a photo request.
- Click Publish Workflow to make it Active, or Save Draft to keep it as a Draft, which never runs.
Policy > Workflows, the editor with the Trigger, Conditions and Actions cards
Clicking a workflow name opens it read-only; Edit Workflow unlocks it. Deactivate Workflow puts an active workflow back to Draft. Delete Workflow opens Delete workflow? to confirm, and cannot be undone. The list has All, Active and Drafts tabs.
Conditions
The Trigger card is always Returns and reads This workflow checks every return a customer submits. There is nothing to choose there.
+ Add Condition opens a searchable list in four groups.
- Customer: Keep item outcomes, Bonus credit received, Customer tags, Orders placed, Returns placed.
- Order: Days past return window, Order date (is, is before, is after, is between), Order discount (check by code, Percentage off or Fixed amount), Order location (Country, state or province, or City), Order tags, Returns on order, Total order value, Days since order, Order item count.
- Product: Product ID, Product metafields, Product return reason (tick reasons from your reason groups), Product SKU, Product tags, Product type, Product vendor, Variant metafields, Product price (the highest priced item in the order).
- Return: Full return, Gift return, Return activity (Low, Moderate or High), Sequential exchange, Partial return, Return item count, Return outcome, Total return value, Internal tags, In custom list.
Numbers compare with equals, >, <, >= and <=; tags with contains, does not contain and equals.
Some conditions need a closer look.
- Days past return window: how many days past the return window the return is, counted from the start date set on the matching policy (order date, fulfillment date or delivery date). It is 0 while the return is inside the window.
- Return activity: how many returns the customer has filed in the last 90 days, graded against your thresholds under Policy > General, Return activity. Match one level with level is, or that level and above with is at least. See Return Activity.
- Sequential exchange: the return is on an exchange order, meaning an exchange of an earlier exchange. Match on whether it is one, or on how many exchanges are in its chain.
- Product metafields: matches a Shopify product metafield, written as namespace.key=value, for example custom.warranty_eligible=true. Changes in Shopify can take up to 5 minutes to apply here.
- Variant metafields: matches a Shopify variant metafield, written as namespace.key=value, for example custom.exchange_only=true. Use product metafields where you can. Changes in Shopify can take up to 5 minutes to apply here.
Each condition after the first carries an AND or OR toggle. OR keeps it in the same group as the one above; AND starts a new group. The card says so under the list: Groups join with AND; conditions in a group join with OR.
Important: A workflow with no conditions never runs, and Publish Workflow refuses it. Add at least one condition.
Actions
+ Add Action opens a list in four groups.
- Customer experience: Exclude return outcomes (Refund, Exchange, Store credit, Shop Now, Keep item), Hide products in portal, No label provided, Set return window (a number of days), Exclude return methods (Mail, QR code, No label), Set return reason group.
- Incentives & fees: Add handling fee, Set Shop Now bonus credit, Set store credit incentive, Refund original shipping cost, Set Shop Now discount (Fixed amount or Percent, before tax).
- Item handling: Bypass final sale.
- Returns handling: Manual review or reject (Move to manual review, or Reject return with an optional rejection message), Set exchange delivery method, Auto approve, Require review, Add order tag, Add customer tag, Add internal tag, Disable bonus credit, Set return destination, Set return processing event (Process manually, Process at submission, Process at pre transit, Process at in transit, Process at out for delivery, Process on delivery).
The Add an action dialog with its four groups
Some actions carry conditions of their own.
- No label provided: no return shipping label is created, so the customer arranges their own shipping.
- Add handling fee: adds a handling fee on top of the policy fee for matching returns. It does not replace or waive the policy fee.
- Refund original shipping cost: adds the original order's shipping cost to the refund, store credit or Shop Now leftover on a matching return the customer files, even where the policy's Original shipping box for that refund method is unticked. On a policy never saved with the Original shipping boxes, only a Shop Now leftover gets it. Exchanges, kept items and an accepted Instant Resolution never include it, and neither does a return your team creates. See Original Shipping and Duties.
- Bypass final sale: allows final sale items to be returned when the workflow matches. The workflow's conditions decide which final sale items.
- Set exchange delivery method: sets the delivery method on exchange orders. The name must match a Shopify delivery method exactly.
Note: Set return processing event overrides the policy's processing event for matching returns, including Shop Now returns. Process at submission issues the refund, store credit, exchange or Shop Now order the moment the shopper submits, before anything ships back.
Customer input
On the Ask questions type only. Add customer input offers Ask a yes/no question (a question of up to 500 characters, with an optional Response if "yes" shown to the shopper) and Request a photo (a message of up to 500 characters; the shopper must upload at least one photo to submit). A workflow of this type needs at least one of the two, or saving stops with Add a yes/no question or a photo request.
Priority
The list has a Priority column; #1 is the highest. Use the arrows or the dropdown to reorder. Every active workflow whose conditions match is applied, not just the first. Where two matching workflows set the same single value (a fee, a window, a destination, a processing event, a bonus), the higher priority one wins. Tag actions and excluded outcomes from every matching workflow are combined. Between Auto approve, Require review and Reject, Reject wins, then Require review, then Auto approve. On the Ask questions type, the shopper sees the question from the highest priority matching workflow.
What the shopper sees
Only the result. Excluded outcomes and methods are not offered, a changed window changes which items are returnable, a fee or bonus shows in the return summary, and a question or photo request appears before they can submit. Nothing tells the shopper a workflow ran.
How it works
Workflows run on returns shoppers submit in the portal. A return your team creates with Create Return follows the member's access: a member with Policy exceptions (the Owner, an Admin, or Returns plus Policy exceptions) gets no workflow at all, and a member without it gets the portal's own verdict for hidden products, final sale, the window, excluded outcomes, a workflow fee and no label. A workflow that sets a bonus refuses the manual return. See Manual returns.
Important: Any fee a workflow adds is real money taken off what the shopper is paid, so test a new workflow on a test order before publishing it.
Shopper photos
This section covers shopper photos. When a return reason or a workflow asks for a photo, the shopper uploads it in the portal and it appears on the return page. ReturnZen stores the photos; there is nothing to connect.
Before you start: A reason with Require photo upload on, set in a reason group under Shopper > Return Reasons (see Editing a reason group), or a workflow with a Request a photo customer input.
Where photos are asked for
In the admin, go to Shopper > Return Reasons, open a group, and edit a sub-reason. Turning on Require photo upload makes a photo compulsory for that reason.
In the admin, go to Policy > Workflows. A workflow can add a Request a photo customer input, which requires the customer to upload at least one photo before they submit. The instruction the shopper reads is seeded with Add a few clear photos of your item. Include the front, back and sides in good light, and a close-up of the issue. and can be edited in the workflow.
In the admin, go to Policy > Warranty Policies and open a policy. Enable photo upload under Processing requirements adds a photo field to the warranty claim form. See Warranty Policy: Processing, Shipping and Outcomes.
The Edit reason dialog for a sub-reason with Require photo upload on
Limits and storage
- Limits: up to 6 MB each. The upload box accepts JPG, PNG, HEIC or WebP. The browser shrinks large photos before upload, and location data is stripped from the file. A photo the browser cannot read is refused with This photo's format can't be read in this browser. Use a JPG, PNG or WebP photo.
- Storage: private. A photo link on the return page works for 15 minutes; reopen the page for a fresh one. Photos are kept for 180 days; after that the return page shows Photos expired with the note Photos are deleted 180 days after upload.
Note: Photos can only be added through the shopper portal. A return you create by hand has no photo step.
What the shopper sees
An Add photos box with Drag & drop or click to choose on the step that asks for it: the reason step for a reason that requires a photo, or the review step under Attach images for review for a workflow request. After the first photo the box reads Add more with the number left. A photo over the limit is refused with This photo is too large, the photo's size and Try a different photo. A reason that requires a photo cannot be submitted without one.
The portal's photo upload box with two thumbnails added and Add more showing
What you see
A strip of thumbnails on the return page. Click one to open the photo. A tile reads Photo unavailable when the file cannot be loaded and Photos expired once the 180 days have passed.
FAQ
How do I send frequent returners to a person? Condition Returns placed is at least 5, action Require review.
How do I make late returns pay for the label? Condition Days past return window greater than 0, action Add handling fee 8.00.
How do I skip the label for one country? Condition Order location (Country) equals CA, action No label provided.
How do I let VIPs return final sale items? Condition Customer tags contains VIP, action Bypass final sale.
Can I download the photos to keep them longer than 180 days? Open the photo from the return page and save it from your browser before the 180 days are up. ReturnZen deletes the stored copy after that.
The reason editor says photo uploads are not available yet. Photo storage is not switched on for this server. Until it is, the portal reads Photo uploads aren't available for this store right now. and reasons cannot require a photo.
Please reach out to support@returnzen.app with any additional questions.