GrabFlow attaches digital files to your Shopify products and delivers them automatically after checkout. This page covers setup, how delivery works, the day-to-day pages inside the app, and what to do when something looks wrong.
Everything below refers to the app at app.grabflow.app, which you normally open from Apps in your Shopify admin. If you get stuck, email support@grabflow.app.
A first product is usually five to ten minutes of work, most of which is waiting for your files to upload.
Install the app. Install GrabFlow from the Shopify App Store and open it from Apps in your admin. You start on the Free plan; you can change plans later on the Plans page without reinstalling.
Upload your files. Go to the Files page and drag files onto the drop zone, or click it to browse. Any file type and any size is accepted, up to the storage included in your plan. Large files are uploaded in parts, so a slow or interrupted connection can simply be retried. Each file shows an Uploaded or Failed state and whether it is Attached to a product or Not attached.
Attach the files to a product. Go to the Products page, choose the product you want to sell, and tick the files that buyers should receive. You can attach to a whole product or to a single variant if only one variant is digital. While you are there you can optionally set:
If you leave the limit and expiry empty, the defaults from your Settings page apply.
Tell Shopify the product is digital. In the Shopify product editor, scroll to Shipping and untick This is a physical product. This is what makes checkout skip shipping rates and the address step for a digital-only cart, and it is easy to forget. Do this for every variant that is digital.
Place a test order. Buy the product yourself (a discount code for 100% off works well) and confirm three things: the email arrives, the download page opens, and the file downloads correctly. The test order will then appear on the Orders page like any other, so you can also try the re-send and revoke actions on it.
Delivery is triggered by Shopify telling GrabFlow that an order has been paid. Nothing is sent for unpaid, pending or draft orders.
Each order gets its own download page, branded with your store name, logo and colours, listing every file the buyer is entitled to plus their license key if you use them. The buyer can return to that page whenever they like, within whatever limit and expiry you set.
Your files are never exposed at a public web address. When a buyer clicks a file, GrabFlow generates a signed link that stops working five minutes later, so a copied URL cannot be passed around. That is also why download counts are reliable: every download goes through GrabFlow and is recorded against the order.
The Orders page lists every order that contained a digital item, newest first. For each one you can see:
Failed;From the same row you can:
Refunds revoke access automatically. If you refund an order in Shopify, GrabFlow revokes that order's downloads without you doing anything; restore it manually if the refund was a mistake or you decided to let the buyer keep the files.
The Settings page controls how your delivery emails and download pages look, and what defaults new attachments get. Changes apply to orders delivered from that point on.
| Setting | What it does |
|---|---|
| Store display name | The name buyers see on the download page and in the email. Set it to whatever they recognise from checkout. |
| Logo URL | Shown at the top of the download page and the email. |
| Brand color | Main colour of the download page and email header. |
| Accent color (buttons) | Colour of the download buttons. Pick something with enough contrast against white text. |
| Subject | Subject line of the delivery email. |
| Intro message | A short paragraph above the download links — a thank-you, usage notes, or your refund policy. |
| Reply-to email | Where replies to the delivery email go. Use an address you actually monitor; buyers do reply. |
| Default download limit | Applied to attachments that do not set their own limit. Empty means unlimited. |
| Default expiry (days) | Applied to attachments that do not set their own expiry. Empty means no expiry. |
| Auto-fulfill digital line items | When on, GrabFlow marks digital line items as fulfilled after delivery. Turn it off only if you fulfil manually for a reason. |
Work through it in this order:
Failed, the message never left — check the customer's address on the order for typos, fix it in Shopify if needed, then re-send.Two things to check.
The important part is that fulfilment status is cosmetic: the buyer already has their files. If an order is still unfulfilled after two hours, fulfil it manually in Shopify and let us know the order name.
There are three reasons a link stops working, and all three are visible against the order on the Orders page:
One more possibility: the buyer saved a direct file URL rather than the download page. Those signed links expire after five minutes by design. Send them the download page link instead — that one keeps working.
Deleting a file breaks the download links of every past order that included it, so the app warns you and asks you to confirm before it goes ahead. There is no undo — the file is removed from storage.
If you are replacing a file with a newer version rather than withdrawing it, upload the new version and attach it to the product first, then delete the old one once you are happy. Buyers who return to their download page will see whatever is currently attached to their order.
Plans differ on one thing only: how much storage you get. Products, orders and download bandwidth are unlimited on every plan, including Free, and there are no overage fees.
| Plan | Price | Storage |
|---|---|---|
| Free | $0 | 1 GB |
| Starter | $9/month | 15 GB |
| Pro | $24/month | 150 GB |
| Scale | $49/month | 1 TB |
Every paid plan comes with a 14-day free trial. To change plan, open the Plans page inside the app and pick the one you want; Shopify shows you the charge to approve.
Billing runs entirely through Shopify's own billing system, so charges appear on your regular Shopify invoice alongside your subscription. GrabFlow never sees or handles card details.
Questions, bugs, or something in this page that doesn't match what you're seeing — email support@grabflow.app. Including your .myshopify.com domain and the affected order name (for example #1042) usually saves a round trip.