This step-by-step guide shows how to send Shopify events (like new orders, new customers, and fulfillment updates) to WhatsApp using an n8n workflow and WOZTELL’s WhatsApp messaging layer.
It’s intentionally written to be practical, so you can get value quickly, even if you’re new to automation.
What you’ll build: Shopify triggers → n8n workflow → WhatsApp message sent via WOZTELL
Typical use cases: order confirmation, fulfillment updates, customer welcome messages, post-purchase support handoff
A Shopify store with admin access
A paid WOZTELL account with an active WhatsApp Business account (WABA) set up in WOZTELL
An n8n workspace (cloud or self-hosted)
A WhatsApp message template created in WOZTELL (we provide a ready-to-use one below)
This template is built with 3 core nodes:
Shopify Trigger (listens to a Shopify event)
IF node (optional logic, like checking conditions)
WOZTELL Action node (Public Integration) (sends the WhatsApp message)
In this template, we included 3 Shopify trigger points that all send the same WhatsApp template. You can keep them, disable some, delete them, or duplicate them depending on your customer journey.
Copy the template JSON here
In n8n, create a new workflow
Paste the JSON to import the workflow
That usually means the WOZTELL node isn’t installed yet.
Click + in n8n
Search WOZTELL
Install the WOZTELL node package
Your workflow should render correctly after installation
Set up Shopify webhook s to trigger n8n
This is the call from Shopify to n8n: when an event happens in Shopify, Shopify sends a webhook to your n8n trigger URL.
In n8n, double-click the Shopify Trigger node you want to use. Find the Webhook URL and copy it. Use Test URL while building and testing; Production URL when you’re ready to go live. Production URL works only when the workflow is published
2. In Shopify Admin, go to Settings, find Notifications on the left panel and select Webhooks.
3. Click Create webhook. Choose the event you want to trigger, paste your n8n webhook URL into the URL field and save.
Order creation
Customer creation
Fulfillment creation
Repeat the same steps for each trigger node you plan to use.
You’ll connect n8n to Shopify so the workflow can read order/customer details and map them into WhatsApp variables.This is one way to set the Shopify credentials. Alternatively, you can follow Shopify's documentation here, but it hasn’t been updated recently and some steps may not match the current Shopify UI.
3. Click create app and give it name.
4. Go to the Versions tab, scroll to URLs, deselect Embed app in Shopify admin.
5. Go to Access and select these scopes:
read_customer_events
read_customers
read_orders
read_fulfillments
These scopes are enough for this template. If you add more triggers later, you may need additional scopes.
6. Now go back to n8n. Double click your Shopify node, under Credential to connect with, click Create new credential.
7. Select Connect using OAuth2 and copy the OAuth Redirect URL.
8. Go back to the Shopify dev dashboard. Paste the URL in the Redirect URLs and release the app. The version name and version message fields can be left empty since they are optional.
9. Go to the app's Home section and Install app.
10. Select your store, and click install and review permissions. The permissions are based on the scopes you selected when creating the app.
When the app is successfully installed, you will be redirected to this example domain.
11. Return to the dev dashboard, select the app you just created, navigate to the Settings page to locate your Client ID and Client Secret, then copy and paste them into the n8n credentials section.
12. Finally, to access the shop subdomain, go to Shopify Settings > Domains.
Your subdomain is within the URL: https://<subdomain>.myshopify.com.
Copy the subdomain and paste it into n8n's credential page.
Connect your account and the Shopify credentials are done!
For other Shopify nodes in this workflow (or future workflows), you can reuse the same credential.
channel:list
channel:getBasicInfo
channel:getEnvironmentInfo
channel:getDetails
bot:sendResponses
These permissions are sufficient for this template's purpose. To edit the template and access other functions on WOZTELL, refer to our document on access tokens.
Copy the access token and return to the n8n WOZTELL node; paste the access token into the Access Token field. For WOZTELL Channel API field, follow the instructions below the input field. The token is located at WOZTELL -> Channels -> Channel(Edit)* -> Advanced Access -> Access Tokens
You can reuse existing tokens or generate a new one.
*Any channel can be used since they all result in the same tokens.
Alright, you have successfully created the credentials!
Now you’ll decide which WhatsApp number sends the message, and what the message says.
In the WOZTELL node in n8n:
Select the Channel (the WhatsApp sender)
Choose the WhatsApp message template you created in WOZTELL
Hi {{1}}, thanks for your order.
We’ve received your payment for Order {{2}} and we’re preparing it now.
We’ll send your tracking link as soon as it ships.
If you need anything, just reply here anytime.
Hi {{1}}, thanks for your order.
We’ve received your payment for Order {{2}} and we’re preparing it now.
Here’s what you ordered:
{{3}}
We’ll send your tracking link as soon as it ships.
If you need anything, just reply here anytime.
If you use the message template above, fill in these codes
Variable #1: {{ $json.customer.first_name }}
Variable #2: {{ $json.order_number }}
Variable #3: {{ $json.line_items.map(item => [item.name, item.quantity].join(' x ')).join(', ') }}
Tip: In n8n, you can also drag and drop fields from the left data panel directly into the variable inputs.
Run a test with Shopify webhook Test URL. Trigger a real Shopify event (like creating a test order) and confirm the WhatsApp message sends successfully.
When you are ready, replace the webhook link from Test URL to Production URL in your Shopify notification and publish the workflow.
Send different WhatsApp messages for paid vs unpaid orders
Include order items or delivery ETA for fewer support questions
Notify your team in Slack or email if a VIP customer orders
Route customers into a post-purchase flow: FAQ, delivery updates, returns, upsell
If your goal is “Shopify to WhatsApp automation” that’s fast to launch and easy to scale across markets, this workflow is a strong first move because it turns updates into conversations, not just notifications.
We’re continuously building more n8n templates for WhatsApp commerce and support, including Shopify lifecycle messages, internal alerts, lead routing, and post-purchase journeys. Explore our latest templates and copy them into your workflows in minutes.
Do I need coding to connect Shopify to WhatsApp?
Not for this setup. You mostly copy a template, connect credentials, and map a couple variables.
Do I need WhatsApp Business Platform (API), or will WhatsApp Business App work?
This workflow uses the WhatsApp Business Platform via WOZTELL, not the WhatsApp Business App.
Why am I not receiving messages after setup?
Common causes: webhook is still using Test URL, workflow is not published, wrong trigger event selected, missing Shopify scopes, or template variables not mapped.
Can I connect multiple Shopify stores to one WOZTELL account?
Yes. You can create separate credentials and workflows per store.
Can I send different messages for different order statuses?
Yes. Add conditions in the IF node, or use separate triggers and templates for paid vs fulfilled vs delivered.