Hey, I built this for my own store completely for free — no app needed, no monthly fee.
The setup uses three free Shopify tools: Shopify Forms, Shopify Flow, and Flow Transactional Email. All three are available directly in the Shopify App Store.
Here’s how the full flow works:
1. Create the withdrawal form
Go to Shopify Admin > Content > Forms and create a new form. Add the fields you need — I went with First Name, Last Name, Email, Order Number, and an optional field for which items the customer wants to return. Set the submit button label to “Confirm withdrawal” and add a short legal disclaimer below it: By clicking “Confirm withdrawal”, you declare your withdrawal. A legal review will follow thereafter.
Make sure that just First Name, Last Name, E-Mail and Order Number are required fields – the rest must be optional.
2. Create a Shopify Page and embed the form
Go to Online Store > Pages and create a new page (e.g. “Declare Withdrawal”). Then go into the Theme Editor, create a new page template (e.g. page.withdrawal), add a Form block and select your form. Go back to the page and assign the new template to it.
3. Create the email template
In the Flow Transactional Email app, create a new template. Use {{ variables.customerName }}, {{ variables.orderId }} etc. in the body. Keep it simple — confirm receipt, mention you’ll review the request, and add a disclaimer that this confirmation doesn’t constitute a decision on the validity of the withdrawal.
4. Build the automation in Shopify Flow
Create a new workflow and set the trigger to Metaobject created and choose your form. Shopify automatically creates a Metaobject definition when you save your form, so it’ll show up right there in the trigger settings. Add a Flow Transactional Email action and configure it — use the variable picker to set the recipient email from the metaobject, then paste your variables JSON:
{
"customerName": "{{metaobject.firstName}}",
"date": "{{metaobject.formDisplayName}}",
"orderId": "{{metaobject.bestellnummerStartetMit}}",
"description": "{{metaobject.bitteBeschreibeDieArtikelWelcheDuZurcksendenMchtest}}"
}
The exact field handles depend on what you named your form fields — use the variable picker inside Flow to find them.
5. Add the withdrawal button to your footer
Go to the Theme Editor and add a button in the footer linking to your withdrawal page. Important: it needs to be visually distinct from regular text links – a styled button with a contrasting colour or border. A plain text link in a nav menu is not legally sufficient under EU law.
Once someone submits the form, the flow triggers instantly and the customer gets a branded confirmation email automatically. You then review the submission manually and if it’s valid, you create a Return Request in Shopify Admin as usual – which triggers your existing return confirmation email.
Total cost: €0. Works for up to 500 emails/month on the free tier of Flow Transactional Email.
Happy to answer questions if you get stuck anywhere. 
Cheers, Ryan