A Shopify store earns its money at checkout and loses time in everything after it: spotting the big order, tagging the customer, noticing a best seller is nearly gone. An n8n workflow listens to the events your store already sends and handles those jobs in the background, so your team only deals with the exceptions.
What slow follow-up costs a store
In most small and mid-sized stores, the back office is one or two people watching the Shopify admin. A wholesale-sized order sits in the list between fifty ordinary ones. A popular product hits zero on a Saturday and nobody notices until Monday. Review requests go out when someone remembers. Together that means slower service for your best customers, stockouts and few reviews.
Shopify is a good match for n8n because it is event-driven. The store sends a webhook the moment an order is created, paid or fulfilled, or an inventory level changes, and the Shopify Trigger node turns each of those events into the start of a workflow. The case for automating is reacting in minutes instead of days.
Three Shopify rules to learn before your first workflow
Webhooks have to be answered fast, and they can arrive twice
Shopify gives the receiving end five seconds to respond and retries a failed delivery 8 times over the next 4 hours. It can also send the same event more than once, and it doesn’t guarantee the order events arrive in. Build every workflow as if it might run twice for the same order: check whether you already handled that order ID before you act. If your n8n instance is unreachable for 8 straight attempts, Shopify can delete the webhook subscription, and you re-register it by deactivating and reactivating the workflow. A nightly Schedule Trigger that pulls recent orders with the Shopify node (Order: Get Many) catches anything missed.
Access comes from an app, and its scopes decide what you see
Your n8n credential connects through a Shopify app’s access token or OAuth2. The older API key method is deprecated. The app needs Admin API scopes for whatever the workflow touches, such as read_orders, write_orders, read_products and write_products, and the inventory scopes for stock events. A missing scope shows up in n8n as a Forbidden error. Also, Shopify no longer lets you create new custom apps from the admin’s Develop apps screen that many tutorials show. Existing apps keep working; new ones are made in the Dev Dashboard.
Customer names, emails, phone numbers and addresses are protected customer data. Fields your app isn’t approved for are redacted in webhook payloads and API responses, which looks like blank values rather than an error.
API versions change every quarter
Shopify releases a new API version every three months and supports each one for at least 12 months. When a version you call is retired, Shopify answers with the oldest supported version instead, so a payload can change shape without any warning. If you call the API yourself with the HTTP Request node, put the version in the URL and check the X-Shopify-API-Version header on the response. REST calls are throttled by a request bucket and GraphQL by query cost, so backfills need batches and pauses.
Five store automations and what each one pays back
Alert the team about high-value orders
Starts on: Shopify Trigger, Order Paid (or Order Created if you also want unpaid orders). Then: an IF node compares the order total with your threshold, and Slack or Gmail sends the order number, customer and items. Payback: your biggest orders get a personal touch or a fraud check before they ship.
Tag customers and sync them to your email tool
Starts on: Customer Created, or Order Paid for buyers only. Then: an IF node checks the customer’s marketing consent, and the Mailchimp node (Member: Create, then Member Tag: Create) adds them with tags such as first-order or wholesale. The built-in Shopify node covers orders and products only, so to write tags back onto the Shopify customer you call the API with the HTTP Request node and the same Shopify credential. Payback: segments build themselves, so a campaign to repeat buyers is a filter, not an export.
Flag low-stock products for reorder
Starts on: Inventory Levels Updated. Then: an IF node checks whether the available quantity has dropped below your reorder point. The payload carries an inventory item ID and a location rather than a product title, so a lookup step adds the SKU and name before the alert goes to purchasing or a reorder sheet. Payback: you reorder before the product page says sold out. This is the kind of stock work my inventory automation projects start with.
Ask for a review after delivery
Starts on: Order Fulfilled. Then: a Wait node holds the run for as many days as shipping usually takes, the Shopify node (Order: Get) re-checks that the order wasn’t cancelled or refunded in the meantime, and Gmail sends the review request. Payback: reviews come in steadily, and nobody gets asked to review something they sent back.
Log orders to a sheet or your accounting tool
Starts on: Order Paid. Then: Google Sheets (Append Row) keeps a running sales log, or the QuickBooks Online node creates the customer and invoice. Payback: finance works from a live record instead of a month-end export.
Example: the high-value order alert, node by node
- Shopify Trigger, Trigger On: Order Paid. Activating the workflow registers the webhook with your store, so your n8n instance needs a public URL.
- Google Sheets, Get Row(s). Look up the order ID in an Alerts log sheet. Turn on Always Output Data in the node settings so the run continues when nothing is found.
- IF. Continue only when the order ID wasn’t found and the order total is at or above your threshold.
- Slack, Message: Send. Post the order name, total, customer and line items to an orders channel.
- Google Sheets, Append Row. Record the order ID and the time. If Shopify retries or repeats the webhook, step 2 finds the row and the run stops at step 3.
Build it yourself or hire help?
The order alert and the order log are fair game for a first build. They only read from Shopify, so a mistake costs a stray message, not a broken store. New to event-driven workflows? The glossary entry on webhooks is a two-minute read, and the free n8n Jump Start course covers triggers, IF nodes and credentials hands-on.
Get help once a workflow writes back to Shopify, touches customer data you need approval for, feeds your accounting, or has to survive a sale-day spike. Those builds need duplicate protection, a reconciliation run and failure alerts from day one.
Frequently asked questions
Does the n8n Shopify Trigger use webhooks or polling?
Webhooks. When you activate the workflow, n8n registers a webhook with your store for the event you picked, such as Order Created or Inventory Levels Updated, and Shopify calls n8n when it happens.
Why are customer emails blank in my Shopify workflow?
Names, emails, phone numbers and addresses are protected customer data in Shopify. If the app behind your n8n credential isn’t approved for those fields, Shopify redacts them in webhooks and API responses.
Can the n8n Shopify node update customers?
Not directly. The built-in node works with orders and products. For customers, tags or other resources, use the HTTP Request node with your existing Shopify credential to call the Shopify API.
Want this built?
Send me the store events you watch by hand today. I’ll reply with which ones are worth automating first and a written quote before any work starts.