Ad · Make tutorial

How to Automate Shopify with Make (2026): Orders, Inventory & Slack Alerts

You can automate Shopify with Make to send paid-order and low-stock alerts to Slack. Start with two small scenarios: one listens for paid orders, the other for inventory changes. Keep stock changes in Shopify while you learn how the alerts behave.

Ad · Affiliate disclosure
Mike Says earns commission if you sign up through our Make affiliate link and make a qualifying purchase, at no extra cost to you.

See Make plans

Affiliate link · I may earn commission from a qualifying purchase at no extra cost to you.

Automate Shopify with Make: orders, inventory and Slack alerts

Concept artwork, not a screenshot of Shopify, Make or Slack.

Published 6 October 2026. Based on official documentation checked on 5 October 2026. This is a documented setup guide, not a claim of hands-on store testing.

Is this worth setting up?

Yes, if your team uses Slack and keeps checking Shopify for the same updates. Make is useful when you want rules across several apps. If Shopify's existing notifications already cover your needs, another automation may add maintenance without much benefit.

What you will build

ScenarioTriggerResult
Paid-order alertAn order becomes paidA short Slack message with its reference and value
Low-stock alertInventory changes at a locationA Slack message when available stock is at or below your threshold

These are notifications. They do not fulfil orders, buy replacement stock or change inventory. Keeping those actions separate makes the first version easier to check.

Before you start

Use a test channel such as #shopify-automation-test. Decide who will act on each alert before connecting the live team channel. Keep customer addresses, telephone numbers and payment details out of the messages.

1. Connect Shopify and Slack

Create a Make scenario and add Shopify → Watch events (advanced). For an instant module, create its webhook, then choose Create a connection. Select the standard Shopify connection. Enter the store prefix requested by Make: for example.myshopify.com, that is example. Save and approve the Make app in Shopify.

Review the permissions before approving. Use the same connection for this store where possible: Make warns that multiple connections using the same app and store can overwrite their available scopes. If a topic reports a missing permission, edit the connection and authorise the required scope.

Add Slack → Send a Message and connect the appropriate workspace. Select the test channel. If using a bot connection, add the bot to that channel; otherwise Make can report “Channel Not Found”.

References: Make's Shopify connection guide and Slack module documentation.

2. Use a paid-order event

In the Shopify trigger's Event topic field, enter ORDERS_PAID. This is the GraphQL topic value for Shopify's orders/paid event. Make's advanced trigger takes the enum value, so do not substitute the slash-form topic name.

Shopify defines this event as an order becoming paid. A newly created order can still be unpaid. Likewise, an order update can be a fulfilment or other change. Choosing the paid event keeps the purpose of your message clear.

Use Run once, then create an appropriate test order and complete its test payment. Check the received bundle in Make. A bundle is the set of values passed to the next module. Do not assume an old order will be replayed when you start listening.

Make's event-topic setup notes and Shopify's topic reference explain the topic format and permissions.

See Make plans

Affiliate link · I may earn commission from a qualifying purchase at no extra cost to you.

3. Map a useful Slack message

In Send a Message, map the actual values from your sample. Keep the first message short. The following is a fictional example, not a real order:

Paid Shopify order: #1042
Order value: GBP 48.00
Next step: review the order in Shopify.
Message fieldMap from the sampleCheck
Order referenceThe readable order name or numberUse a stable order ID separately for duplicate handling
ValueOrder totalMatch the currency to that same amount
CurrencyCurrency attached to the selected totalDo not type GBP for every order in a multi-currency store

Field labels can vary with the module and payload. Inspect your sample rather than typing the example values. If a required value is absent, investigate the output or add Get an order to retrieve it. Do not publish empty or misleading amounts.

A paid alert is not approval to ship. Staff still need to check the order's current status, holds and fulfilment details in Shopify. Refunds and later cancellations need their own workflow if your team wants alerts for them.

4. Build the low-stock scenario separately

Create another scenario with Shopify → Watch events (advanced). Set its Event topic to INVENTORY_LEVELS_UPDATE. Use the existing Shopify connection with the necessary inventory permission.

Run once and change the stock of a test item at a known location. Inspect the returned inventory item ID, location ID, available quantity and update time. The inventory event may not contain a friendly product name. Start with the IDs, or add a verified lookup before expecting SKU and product names in your alert.

Add a filter before Slack with these conditions:

In Slack, map a message such as “Low stock: item [inventory item ID], location [location ID], available [quantity]. Check replenishment.” The brackets describe fields to map, not text to leave in the final alert.

Use available stock, not on-hand stock. Shopify's on-hand total also includes units committed or unavailable for sale. A location with 20 on hand can have far fewer units available. Keep each location separate rather than treating stock elsewhere as ready to fulfil from your chosen site.

See Shopify's webhook payload reference and inventory state definitions.

5. Handle repeat alerts deliberately

The basic stock filter alerts on every qualifying update. Moving from 5 to 4 can send another message. That is different from alerting only when stock first crosses the threshold.

For fewer messages, keep a persistent record for each store, inventory item and location. Store its last alert state. Send when it enters the low-stock state, then reset that state when available stock rises above the threshold. Treat this as a second version to build and test. It is not part of the two-module starter.

Paid-order alerts can repeat too. Shopify can deliver the same webhook more than once. For a once-per-order notification policy, store the shop and stable order ID after a successful send and check that record before sending again. If delivery headers are exposed, Shopify also documents delivery-ID deduplication.

A simple check-then-save has limits: simultaneous runs can race, and Slack might accept a message before a later save fails. Use sequential processing where appropriate, review retries and avoid promising exactly one message. For a busy store, have the duplicate and recovery design reviewed. Read Shopify's delivery guidance and Make's webhook processing notes.

Do not subtract inventory again for each order

When Shopify tracks inventory, order processing already affects available and committed quantities. Adding another “subtract one” step for the same sale can count it twice. These alert scenarios should not contain an inventory write action.

Stock synchronisation with a supplier or warehouse is a separate project. Decide which system owns the number, match item and location IDs, and account for retries and concurrent changes. An absolute stock update and a quantity adjustment do different jobs. Neither belongs in this beginner alert setup.

Test before switching to your live channel

TestExpected result
A new unpaid orderNo paid-order alert
The order becomes paidCorrect reference, amount and currency in Slack
Stock is 6 with a threshold of 5No low-stock message
Stock becomes 5, then 4Both updates alert in the starter version
Stock changes at a different locationNo alert if your location filter excludes it
A payload is replayedRepeat behaviour matches your documented duplicate policy
Slack action failsThe error is visible and someone knows how to recover it

Record the starting quantity of the test item and restore it after testing. Save and activate both scenarios, then make a fresh test without pressing Run once. Review Make's execution history and the resulting Slack messages before selecting the live channel.

Costs and limits

Make's Free plan currently includes 1,000 credits per month. Its minimum scheduled interval is 15 minutes; instant webhook triggers are a different type of trigger. Shopify is a separate paid service.

Do not budget only from your order count. Inventory changes, lookups, storage steps, retries and other scenarios also affect usage. Check credits from representative runs before choosing a paid plan. Shopify's API rate limits are separate from Make's monthly credits.

Compare our Make pricing guide with Make plans. Start with the smaller workflow and expand when it solves a real problem. Affiliate link · I may earn commission from a qualifying purchase at no extra cost to you.

Common problems

Start with one paid-order alert

Build it in a test channel, check its output, then add low-stock notifications when you are comfortable with the first scenario.

Try Make free →

Affiliate link. Mike Says earns commission on qualifying purchases.

Related guides

Read our Make review, webhooks-to-Google-Sheets tutorial and Make automation ideas for other ways to connect your business tools.