Skip to content

Withdrawal request workflow

For stores selling into Ireland and the EU, Uisce ships the surfaces for a right-of-withdrawal flow: a restrained link (in the footer, the legal-information block, and the customer account), a ready-made withdrawal page template, and an app slot on that page. What it doesn't ship — because a theme can't — is the workflow: receiving the request, recording it, and confirming it to the shopper.

This guide wires that workflow up with Shopify-native tools — Shopify Forms to receive the request and Shopify Flow to confirm it — and shows you how to test the whole path. If you've already read the withdrawal button reference, this is the "what happens after the click" half.

Not legal advice, and not a compliance feature. This page describes one practical setup. It does not certify that Shopify Forms, Flow, or any wording here is legally sufficient for your store, and it gives no country-specific legal advice. The legal wording, the availability period, the workflow, the confirmations, and the processing are yours to get right.

What the surfaces do — and what the theme can't

The theme providesThe theme does not
A clearly-labelled withdrawal link in up to three placesReceive, record, or process a withdrawal request
A withdrawal page template with editable guidance copyVerify that the requester actually owns the order
An app slot on the page for your form or appSend a legal confirmation by itself
Translated default wording in 50 localesDetermine your legal obligations or wording

Everything in the right column is the workflow you build below.

This is covered in full on the withdrawal button reference — in short:

  1. Theme settings → Withdrawal button → turn it on, set a Button label, choose placements.
  2. Online Store → Pages → Add page → title it (handle withdrawal/pages/withdrawal), set Theme template → withdrawal, save.
  3. Back in theme settings, set that page as the Destination page.

You now have a live /pages/withdrawal with guidance copy and an empty app slot. Next, fill the slot.

Step 2 · Add a Shopify Form to the page

Open /pages/withdrawal in the theme editor, click Add block inside the withdrawal section, and add a Shopify Forms app block (install the free Shopify Forms app first if needed). Build a form with the fields a withdrawal request needs:

FieldTypeNotes
First nameShort text
Last nameShort text
Email addressEmailUsed to confirm the request
Order number / contract identifierShort textHelps you locate the order — the theme can't verify it
MessageLong textOptional — reason or details

Frame it as a withdrawal request, not a sign-up. Don't attach newsletter or marketing-consent checkboxes to this form, and don't word it as joining anything. A withdrawal form collects a request; it must not double as a marketing opt-in.

The theme doesn't verify ownership

An order number in a text field is shopper-supplied. Nothing here proves the requester placed the order — verifying that is part of your processing, downstream.

Step 3 · Confirm the request with Shopify Flow

Use Shopify Flow (free) to react to each submission:

  1. Install Flow, then create a workflow.
  2. Trigger: the Shopify Forms "form submitted" trigger, scoped to your withdrawal form.
  3. Action: Send internal email to your team (so a human picks up the request), and/or Send email to the shopper's address acknowledging receipt.
  4. Turn the workflow on.

Flow can also tag or create a task so the request lands in your fulfilment/ops queue — but a human still has to assess and process it. Flow automates the acknowledgement, not the decision.

Step 4 · Send a confirmation / receipt

The shopper should get a prompt acknowledgement that their request arrived. Send it from the Flow workflow above (an email action to the submitted address), or from your help-desk/app if you'd rather own it there.

Keep the acknowledgement factual: confirm you received the request and say what happens next and by when. Don't word the acknowledgement as the legal confirmation of withdrawal itself unless your process and advice say it is — receipt and resolution are different steps.

Step 5 · Test the full customer path

Before you go live, walk the whole path as a shopper would:

  • [ ] The withdrawal link appears in each placement you enabled (footer, legal block, account).
  • [ ] The link opens /pages/withdrawal and the page renders your guidance copy.
  • [ ] The form shows all fields and validates (e.g., a bad email is rejected).
  • [ ] Submitting shows the form's success state; an error path shows a clear error.
  • [ ] The Flow workflow fires: your team email and/or the shopper acknowledgement arrives.
  • [ ] The acknowledgement email reads correctly and isn't flagged as marketing.
  • [ ] Repeat on mobile and with the dark scheme; check it in another language if you sell in one.

Placement

Show the link where shoppers look for legal controls — set in Theme settings → Withdrawal button:

  • Footer — in the legal strip, after your policy links.
  • Legal information block — gathered with your other EU legal links.
  • Customer account — in the account sidebar, beside Privacy & data.

Independent toggles, one shared label and restrained underlined treatment, so it reads as a legal control — not a sales button.

Wording

Describe the request, not a guarantee. From storefront wording guardrails:

  • ✅ "Request a withdrawal from your purchase" · "Submit your request using the form on this page" · "We'll confirm your request by email" · "See our terms for the withdrawal period that applies."
  • ❌ "Legally compliant withdrawal, handled for you" · "Instant, automatic cancellation guaranteed" · "The theme processes and confirms your withdrawal."

Where to go next

What this page is — and is not

This describes one practical way to connect the theme's withdrawal surfaces to a working request-and-confirm workflow. It is not legal advice and does not certify that Shopify Forms, Shopify Flow, or any wording here is legally sufficient. The theme provides the link, the page template, and the app slot only; it does not verify order ownership and does not send legal confirmations by itself. The legal wording, the availability period, the workflow, the confirmations, and the processing remain your responsibility. Take your own legal advice for your markets.

Built for the Shopify Theme Store.