Recover abandoned Shopify checkouts with personalized Zvid videos
Recover abandoned Shopify checkouts with personalized product videos. This workflow finds an eligible checkout, confirms the shopper has not converted, renders a tailored Zvid video, sends an optional recovery email, and stops the follow-up after purchase.
Copy, then paste directly onto your n8n canvas (Ctrl/Cmd + V) — or import the downloaded file via Workflow menu → Import from file.
How it works
What this workflow does
This workflow turns one eligible abandoned Shopify checkout into a private, personalized vertical product video and recovery email. It is designed to recover revenue without messaging shoppers who already purchased or duplicating Shopify's own recovery messages.
End-to-end flow
- Trigger: Run it manually for testing or every 15 minutes on schedule.
- Find and lock one checkout: Use a safe fixture or query Shopify Admin GraphQL, then lock one eligible checkout so overlapping executions cannot process it twice.
- Wait before outreach: Pause for the configured recovery delay (60 minutes by default; two seconds in fixture mode).
- Recheck eligibility: Confirm there is no completed order or draft order, the abandonment is still current, inventory remains available, and Shopify has not already sent a recovery email.
- Build the video: Map the shopper's first name, up to three product titles, images, prices, and cart total into a privacy-safe 1080x1920 Zvid project.
- Validate before spending: Zvid validates the project for free. With
dryRun: true, the workflow saves an editor draft and returns the exact credit quote without rendering an MP4. - Render: With
dryRun: false, submit the official Zvid render, poll until it finishes, and collect the video URL. - Send the first recovery email: If
sendEmail: true, send the Shopify recovery link and video URL through the configured SMTP credential. - Stop after conversion: If follow-up is enabled, wait again and query Shopify once more. A completed order ends the branch; otherwise one follow-up email is sent.
- Record the result: Mark the checkout as handled and return an audit summary while excluding email, phone, and the private recovery URL.
Business benefit
Personalized video makes a recovery message more relevant by showing the exact products left behind. The conversion and duplicate guards reduce wasted renders, duplicate outreach, and poor customer experiences, while the dry-run path gives the team a review and credit-approval checkpoint before going live.
Set up steps
1. Install the official Zvid nodes
In n8n, open Settings → Community nodes and install @zvid/n8n-nodes-zvid. A workspace owner or admin may need to install it.
2. Connect Shopify
Create or update a Shopify Dev Dashboard app with read_orders, read_customers, and read_products. The installing user must also have Manage abandoned checkouts permission.
Copy the canonical *.myshopify.com domain from Shopify Admin → Settings → Domains. In Config.shopDomain, enter only its subdomain; do not use the /store/... Admin URL handle.
Exchange the app's Client ID and Client secret for an access token, then create an n8n Header Auth credential:
- Name:
X-Shopify-Access-Token - Value: the returned
access_token
Assign it to Find open abandoned checkouts, Confirm no purchase and inventory, and Confirm before follow-up. The Client ID and Client secret are not the access token. Dev Dashboard access tokens expire after 24 hours, so refresh the n8n credential before later scheduled runs or use a secure token-refresh service.
3. Connect Zvid
Create a Zvid API key at app.zvid.io/api-keys. In n8n, create a Zvid API credential with the key and the default Base URL https://api.zvid.io. Assign it to all four official Zvid nodes: Validate project (free), Save draft to editor, Submit render, and Get render status.
4. Run the safe fixture test
Leave these Config values enabled for the first run:
{
"manualFixture": true,
"dryRun": true,
"sendEmail": false,
"testFixtureRecoveredBeforeFollowUp": true
}
The fixture uses fake contact data and the real example product Clay Pocket Oversized Tee, variant M, quantity 1, total $35. It creates an editor draft and credit quote but sends no email and renders no paid MP4.
5. Switch to live data carefully
- Set
manualFixture: falsewhile keepingdryRun: trueandsendEmail: false. - Run manually. No eligible checkout is a successful no-op.
- Review the draft in editor.zvid.io and approve the quoted credits.
- Set
dryRun: falseto enable paid rendering. - Add an n8n SMTP credential to both email nodes, set
emailFromto a verified sender, privately test delivery, and only then setsendEmail: true.
Configure SPF, DKIM, consent, quiet hours, and local recovery-message rules before activation. The Shopify reads use built-in HTTP Request nodes because n8n's Shopify node does not expose the abandoned-checkout objects and conversion/inventory fields required by this workflow; all supported Zvid operations use the official Zvid nodes.
More n8n workflows
Create dynamic Shopify product ad variants with Zvid
Turn selected Shopify products into multiple product-first, benefit-first, and offer-first video ads. Zvid validates and bulk-renders the concepts, while n8n returns review links or sends a tracking-ready manifest to your asset store or social scheduler.
Create and publish Shopify product videos with Zvid
Create branded vertical videos for Shopify products with Zvid. This workflow finds eligible catalog items, validates and renders them in bulk, returns editor and review links, and can stage and attach the finished MP4s to matching products through Shopify?s Admin GraphQL API.
Create daily motivational quote videos from Google Sheets
Turn the first pending quote in Google Sheets into a polished 1080x1920 Reel, Short, or TikTok video every day. This n8n workflow validates and renders the video, writes the finished MP4 URL back to the exact Sheet row, and lets you watch it inside n8n.
Ready to ship video at scale?
Start free — your first render is only a JSON payload away.