Integrations
Shopify Flow guide
Verilo adds three actions and four triggers to Shopify Flow. The most useful workflow starts a live verification the moment a customer asks to return a damaged item, with no helpdesk needed.
Last checked against the product on
On this page
What it does#
- Return requestedA customer asks to return items, each with a reason.
- Damaged or defectiveFlow keeps only the items with that reason.
- Request damage verificationVerilo opens a claim for that item and emails the customer their link.
- ResultDamage verification completed starts your next workflow: a tag, a note, an alert.
- Verilo reads the return's own structured reason (Damaged or defective), never words in the customer's note.
- One claim per damaged item, for the quantity returned. A second workflow or a retry never opens a second claim or sends a second email.
- Verilo never refunds, declines, approves or changes an order. What happens after a Result is up to your workflow and your team.
Before you start#
| You need | Why |
|---|---|
| Verilo installed on your Shopify store, with a plan approved (the free trial counts) | Automatic links need a running plan: start it from Create Claim or Billing. Flow uses your Shopify connection. See Getting started. |
| The Data Processing Agreement accepted in Verilo | Needed before the first link. |
| The Shopify Flow app | Free from Shopify. |
| Self-serve returns on, for the damaged-return workflows | In Shopify, turn on both: Settings → Policies → Return rules, and Settings → Customer accounts → Order actions → Manage → Return. Without the second, customers don't see Return items on their orders. |
Verify damaged returns automatically#
Step 1: In Shopify Flow, click Create workflow and choose the trigger Return requested.
Step 2: Add the action For each loop (iterate) and choose return.returnLineItems.
A return can hold several items; the loop looks at each one.
Step 3: Under Repeat for each item, add a Condition: the item's returnReasonDefinition.handle is equal to damaged-or-defective.
Step 4: Under True, add Request damage verification (Verilo) and fill it in:
Order: return.order.id (already chosen).
Line item ID: {{returnLineItemsForeachitem.ReturnLineItem.fulfillmentLineItem.lineItem.id}}.
Quantity: {{returnLineItemsForeachitem.quantity}}.
Customer's description: {{returnLineItemsForeachitem.customerNote}}.
Reference: {{returnLineItemsForeachitem.id}} (the return line item).
Tick Email the customer their Verification Link.
Step 5: Click Turn on workflow.
You should see: The next damaged-item return opens a claim in Verilo, marked "Started by a Shopify Flow workflow", and the customer gets your store's link email.
Verilo's actions#
- Request damage verification
- Opens a claim for one order item and gets the customer a Verification Link. Emails the customer only when Email the customer their Verification Link is ticked; otherwise the link comes back for your workflow to send.
- Get damage verification
- Looks up the latest verification for an order, item or reference: where it stands, its Result and any Outcome. Never charged.
- Cancel damage verification
- Cancels verifications that have no Result yet, so the customer's link stops working. Never charged.
What Request damage verification returns#
Use these in a Condition after the action, for example "if status is paused, send an internal email".
| Status | Meaning |
|---|---|
| link_sent | The claim is open and Verilo emailed the customer. |
| link_ready | The claim is open. With the email box unticked, the link is in verificationLink for your workflow to send. If pauseReason is no_email, Verilo could not email the customer and verificationLink is empty: open the claim from Verilo link to send it yourself. |
| already_open | This item already has an open claim. Nothing new was sent. |
| already_handled | This item and reference already had a claim, now finished or cancelled. |
| choose_item | The order has several items and no Line item ID was given. |
| paused | Nothing was opened or sent; pauseReason says why. |
Verilo's triggers#
- Damage verification completed
- Verilo issued a Result: Verified, Needs Review or Unable to Verify. Includes the Result and a one-line Summary.
- Damage verification expired
- The customer's link expired before they finished.
- Damage claim outcome recorded
- Someone on your team recorded the Outcome. Includes the Outcome.
- Damage verification failed
- Verilo could not process the customer's recording after three tries.
Every trigger carries the order and the customer, so Flow's own order and customer actions work after it, plus Claim ID, Item, Claim value, Source, Reference and Verilo link. Triggers never carry the customer's link, recordings or scores.
Templates#
Each template is a normal workflow: open it in Flow, check the steps, add anything it asks for, and turn it on. In Flow, choose Browse templates and search Verilo.
| Template | Runs on | What it does | Before you turn it on |
|---|---|---|---|
| Request a live damage check when a customer returns a damaged item | Return requested | One live check per item returned as Damaged or defective, emailed to the customer. | Return rules and the Return order action on (see Before you start). |
| Request a live damage check when a damaged-item return is approved | Return approved | The same for returns your staff create. Never a second claim for the same item. | Nothing. |
| Cancel the damage verification when a return is declined | Return declined | Cancels the check each returned item opened, if the customer has not finished, so the link stops working. The customer is not contacted. | Use with the damaged-return templates. |
| Cancel the damage verification when a return is cancelled | Return cancelled | The same when the return is cancelled. | Use with the damaged-return templates. |
| Tag the order with the Result when a damage verification completes | Damage verification completed | Adds verilo-verified, verilo-needs-review or verilo-unable-to-verify. | Nothing. |
| Email your team when a damage verification needs review | Damage verification completed | Emails the order, item and claim link when the Result is Needs Review. | Your team's address in Send internal email. |
| Email your team when a damage verification cannot be processed | Damage verification failed | Emails a link to the claim so a person follows up. | Your team's address in Send internal email. |
| Tag the order and email your team when a verification link expires | Damage verification expired | Adds verilo-link-expired and emails a link to the claim. | Your team's address in Send internal email. |
| Tag the order with the damage claim Outcome when your team records it | Damage claim outcome recorded | Adds verilo-outcome-refund-issued, -replacement-sent, -return-required, -claim-rejected or -other. | Nothing. |
Daily limit and billing#
- Flow can send up to 25 Verification Links a day (UTC) unless you change it. Change it on Verilo's Integrations page, on the Shopify Flow card (Admins only).
- A claim Flow starts counts toward your plan like any other: one completed verification is one verification. Links already with customers count too, so a busy day cannot go past your plan.
- A paused run contacts no one and costs nothing. The first pause in a day emails your store's admins once, and every run is listed on the Shopify Flow card under Recent runs.
Troubleshooting#
The action returns `paused`#
Why it happens
- plan: No Verilo plan is active. Choose a plan in Billing.
- agreement: The Data Processing Agreement is not accepted. Accept it in Settings → Data.
- allowance: This month's verifications are used, counting links still with customers. Change plan in Billing, or wait for the allowance to reset.
- trial: The free trial's verifications are used, counting links still with customers. Start your plan now in Billing, or wait for the trial to end.
- daily_limit: Today's Shopify Flow limit is reached. Raise the daily limit on Integrations, Shopify Flow, or check the workflow is not running on more orders than intended.
How to fix it
- Fix the cause shown, then run the workflow again for that return, or start the claim from the dashboard.
The status is `link_ready` with `no_email`#
Why it happens
- The order has no customer email address, or email is not set up for your store.
How to fix it
- Open the claim from Verilo link, copy the Verification Link and send it yourself, or untick the email box and send the returned link with a Flow email action.
Customers don't see Return items on their orders#
Why it happens
- The Return order action is off in Shopify, or the order is outside your return rules (for example, not yet delivered when the window starts at delivery).
How to fix it
- Turn on Settings → Customer accounts → Order actions → Manage → Return, and check Settings → Policies → Return rules.
Flow shows "Verilo is not installed on this store"#
Why it happens
- Verilo was uninstalled, or its Shopify connection was removed.
How to fix it
- Install Verilo again from the Shopify App Store, then turn the workflow back on.
Flow shows "Verilo's Shopify Flow steps are not available on this store yet"#
Why it happens
- Verilo's Flow steps are not open to every store yet.
How to fix it
- Email hello@verilo.app to ask when they open for your store.
Flow shows "Verilo has paused its Shopify Flow steps for a moment"#
Why it happens
- Verilo has paused its Flow steps briefly, for example during maintenance.
How to fix it
- Nothing to do: Flow tries the run again on its own.
Flow shows "Verilo could not find this order" or "That line item is not on this order"#
Why it happens
- The order was placed more than 60 days before Verilo first saw it. Shopify shares only the last 60 days of orders with apps, so Verilo knows an older order only if it arrived after Verilo was installed.
- The Order field is not the trigger's order (for example return.order.id).
- The Line item ID belongs to another order, or is not a line item ID (use the return line item's fulfillmentLineItem.lineItem.id).
How to fix it
- An older order cannot be checked through Verilo; handle that claim the way you do today.
- Otherwise compare the action's fields with the Request a live damage check when a customer returns a damaged item template, then run the workflow again for that return.
- If the order is right and it still fails, email hello@verilo.app with the order number.
A Verilo trigger never starts my workflow#
Why it happens
- The workflow is off.
- The order has no customer: Flow needs every trigger field, so Verilo cannot send it.
How to fix it
- Check the workflow is on in Flow. The Shopify Flow card in Verilo shows Triggers in use.
- If it still does not run, email hello@verilo.app with the order number.