Shopify low stock → Slack reorder alert, thresholds from a Google Sheet
One Slack message per SKU when stock crosses its reorder point, not one per sale.
Shopify fires a webhook every time an inventory level changes. This workflow catches it, looks up the SKU's reorder point in a Google Sheet your buyer maintains, and posts to Slack the first time available stock drops to or below that point. Built for stores where one person orders from suppliers and hears about stock-outs from customers. Once it runs, the sheet holds the thresholds and Slack holds the reorder queue.
How it works
- Sh
Trigger
Inventory level updated (inventory_levels/update webhook)
Shopify
- Sh
Step 1
Resolve the inventory item to a SKU
The webhook payload carries only inventory_item_id, location_id and the new available count, so one GraphQL Admin API query fetches the item's SKU, the product title and the location name.
- GS
Step 2
Look up the reorder point
A lookup matches the SKU against the Reorder Points sheet, which holds reorder point, reorder quantity, supplier and the date of the last alert; SKUs without a row use the workflow's default threshold.
- if
Step 3
Suppress repeat alerts
The run continues only when available stock is at or below the reorder point and the SKU has had no alert in the last seven days, so a sale-by-sale decline produces one message rather than a run of them.
- S
Step 4
Post the reorder alert
Slack #inventory receives the SKU, product, location, units left, reorder point, suggested order quantity and supplier, plus a link to the product in Shopify admin.
- GS
Step 5
Stamp the last-alert date
Today's date goes into the SKU's Last Alert cell, which is the value step 3 reads to suppress repeats.
What changes once it runs
- Slack carries the alert within a minute of the inventory change that crossed the threshold.
- Each SKU alerts once, then stays quiet for seven days unless the buyer clears its Last Alert date.
- Reorder points, quantities and suppliers live in a sheet the buyer edits, with no change to the workflow.
- Multi-location stores see which location ran low, because the webhook is per location and the alert names it.
What you get
- n8n workflow export (JSON) with the Shopify webhook, both lookups and the suppression logic wired.
- Reorder Points Google Sheet template with the five required columns and sample rows.
- Setup guide covering the Shopify custom app scopes, webhook registration and the Slack bot install.
- Recorded walkthrough of a first run, started from a manual inventory adjustment in Shopify admin.
- 30 days of email support for setup questions.
Before you start
- Shopify custom app (Dev Dashboard, or a legacy admin custom app) with an Admin API token holding read_inventory, read_products and read_locations.
- Google Sheet with columns SKU, Reorder Point, Reorder Qty, Supplier and Last Alert (a template is included).
- Slack workspace with a channel for stock alerts and a bot token that can post to it.
- n8n Cloud or self-hosted n8n reachable from the public internet, so Shopify can deliver webhooks.
Built for
Questions before you buy
- Does it alert on every sale once stock is below the threshold?
- No. The workflow reads the Last Alert date on the SKU's row and stops when an alert went out inside the suppression window, seven days by default. Change the window in one node, or clear the date to force a fresh alert.
- Can the threshold differ per product?
- Yes. The sheet holds one row per SKU, and each row carries its own reorder point and quantity. SKUs with no row use the default threshold in the workflow, so you can start with the default and add rows as you go.
- What happens when Shopify sends the webhook and n8n is down?
- Shopify retries a failed delivery 8 times over the next 4 hours. After 8 consecutive failures it deletes the subscription; the setup guide shows how to spot that and how deactivating and reactivating the workflow registers it again. Stock that moved during the outage is caught on the item's next change, because each webhook carries the absolute count.
- Does it run on Make or Zapier?
- n8n only, for now. The alert-once logic reads and then writes the sheet inside one run, and we have not verified the inventory-level webhook in the Make or Zapier Shopify apps, so we do not sell it there. Ask if you need a port and we will quote it.
- Do I need a paid n8n plan?
- Any n8n Cloud plan works, and so does a self-hosted community edition at no licence cost. The one requirement is a public URL for the webhook, which n8n Cloud provides and a self-hosted instance needs a domain or tunnel for.
Nearby on the shelf
Whole catalog- ShGSTwMade to order
Shopify abandoned checkout → Twilio SMS with the recovery link
Carts still open after an hour get one text with their own checkout link.
Ecommerce & orders$99 - WoGSTrSMade to order
WooCommerce paid order → Trello pick card, Google Sheets log and Slack #orders
Paid orders become a log row, a pick card and a channel post, in that order.
Ecommerce & orders$199 - GrGSSMade to order
Greenhouse stage change → Slack job channel + Google Sheets pipeline log
Every stage move in Greenhouse reaches the job's Slack channel and one shared sheet.
Hiring, onboarding & HR$99
