Shopify triggers start a run from what happens in your store. Six are instant — Shopify tells Bizomate the moment it happens:

  • Shopify · New order — When an order is placed in the store.
  • Shopify · Order paid — When an order is paid.
  • Shopify · Order fulfilled — When an order is fulfilled.
  • Shopify · Order cancelled — When an order is cancelled.
  • Shopify · New customer — When a customer account is created.
  • Shopify · Product updated — When a product is changed.

The seventh, Shopify · Inventory low — When a variant's stock at a location falls to the threshold or below — checks your stock every 5 or 15 minutes instead.

Publishing sets up the instant ones in Shopify for you, and nothing needs pasting — see How instant triggers work.

Who can do this

Workspace Admins and Editors, on every plan — Shopify is not a premium connection. Viewers see the trigger and its status but cannot change it.

Before you start

  • A Shopify connection — see Connect Shopify.
  • For the six instant triggers, the connection's API secret key. Shopify signs every event with it, and Bizomate checks each one. Without it, publishing fails.
  • The app's read permission for what the trigger hears: orders for the order triggers, customers for New customer, products for Product updated, inventory for Inventory low.

Steps

Set up an instant trigger:

  1. Open the workflow in the designer and open the trigger picker — Browse all triggers on an empty workflow, or select the trigger and Change how it starts.

  2. Under Shopify, select the event — New order, say. It reads Shopify · instant. Or type Shopify in Search triggers.

  3. In Connection, choose your Shopify connection — for example Northwind store. These triggers have no other settings.

  4. The panel reads Publishing sets this up in Shopify, and every publish sets it up again. It stays while the workflow is published — switched off, what arrives is ignored — and is taken away when the workflow is deleted or starts another way.

  5. Add the steps, then Publish. Bizomate makes a webhook in your store for that event.

    The panel reads Waiting for the first event — Make one happen; it appears here within seconds.

Set up Inventory low:

  1. In the trigger picker, under Shopify, select Inventory low. It has no instant mark.
  2. In Connection, choose your Shopify connection.
  3. In Location, choose the location to watch. The list shows each active location with its city.
  4. In Threshold, the number at or below which stock counts as low — 5 unless you change it. A run starts when stock reaches this or less — once, until it goes back above.
  5. Under Checks, choose Every 5 minutes or Every 15 minutes.
  6. Optional: open the Output tab and select Fetch a sample. An item low at that location now comes in, and Test run starts with it.
  7. Add the steps, then Publish. The panel reads Checking every 5 minutes — First check 10:50, then Last checked 10:50 · next 10:55.

Test an instant trigger with a real event:

  1. Make the event happen in the store — place a test order, mark it paid, fulfil it, cancel it, add a customer or change a product.
  2. Within seconds the panel reads Listening — instant — Last event 10:45 · New order · #1001 · 1499.00 INR.
  3. On Output, select Use the last event, then Test run.

What the trigger gives

New order, Order paid, Order fulfilled and Order cancelled — the order:

Field What it is
id Shopify's id for the order — what Add a tag to an order and Fulfil an order take.
name The order number, such as #1001.
email The customer's email — rohan@consulace.com.
totalPrice, currency The total and its currency — 1499.00, INR.
financialStatus, fulfillmentStatus Where payment and fulfilment stand.
tags The order's tags.
customerId, customerName The customer — Rohan Mehta.
createdAt When it was placed.
lineItems A list, each with title, quantity, price and sku.

New customer: id, email, firstName, lastName, phone, tags, ordersCount, totalSpent.

Product updated: id, title, status, vendor, productType, tags, handle, and for the first variant variantId, price, sku, inventoryItemId and inventory.

Inventory low — one item for each variant that went low:

Field What it is
inventoryItemId The variant's inventory item.
sku Its SKU — the run is named after it: Inventory low · CONS-ONB-01 · 3 left.
available How many are left at the location.
locationId The location.
threshold The threshold it reached.

Use them in later steps as {{ trigger.name }}, {{ trigger.email }} and so on.

What happens next

  • Each event starts one run of the live version, in Production, named after it — New order · #1001 · 1499.00 INR, New customer · rohan@consulace.com, Product updated · Consulace onboarding pack.
  • Every publish sets the webhook up again: Bizomate deletes its old webhook in Shopify and makes a new one. A webhook deleted in Shopify comes back the next time you publish.
  • Changing to another trigger and publishing, or deleting the workflow, deletes the webhook in Shopify.
  • Inventory low's first check only notes what is low already. Items already at or below the threshold when you publish never start a run; only items that go low after that do.
  • Each item starts one run once. It starts another only after its stock has gone back above the threshold and fallen again.
  • A check that finds nothing starts no run and costs nothing. The panel shows Recent checks — Nothing new, or 2 found · 2 runs.

How Bizomate knows an event is Shopify's

Shopify signs each event it sends with the app's API secret key. Bizomate works the signature out again with the key on the connection, and answers an event whose signature does not match with 401 — The signature does not match. — and starts nothing. An event for another topic than the trigger's is answered and ignored.

Good to know

  • New order and Order paid can both fire for one order. An order paid at checkout is placed and paid at once; use one of them, not both, for the same job.
  • Product updated fires often. Shopify sends it for many changes to a product, stock changes included.
  • Shopify may send an event twice if Bizomate's answer is slow to reach it. Each delivery starts a run.
  • Each workflow has its own webhook in Shopify, made through the custom app. Uninstalling the app removes them all, and every Shopify trigger hears nothing until the app is back and the workflows are published again.
  • Inventory low checks every 5 minutes on paid plans, every 15 on Free whatever is chosen, and runs count in the month's allowance.
  • Inventory low reads up to 250 items at the location each check.

If something goes wrong

What you see Why What to do
Not listening — Shopify would not take Bizomate's address: Add the app's API secret key on the connection, so Bizomate can check every event is Shopify's. Fix it, then publish again. The connection has no API secret key. Select Reconnect, fill in every field with the API secret key this time, then publish again.
Not listening — Shopify would not take Bizomate's address: Shopify refused: … Check the connection's details on Connections. Fix it, then publish again. The token has ended, or the app lacks the read permission for this event. Add the permission in Shopify, or reconnect, then publish again.
Waiting for the first event stays Nothing has happened yet, or the API secret key on the connection is not this app's, so every event is refused. Make the event happen. If it still waits, reconnect with the app's own API secret key and publish again.
Not checking since 10:45 — Shopify refused: … Check the connection's details on Connections. (Inventory low) Shopify stopped accepting the connection, or it lacks the inventory permission. Select Reconnect, then Check now. See When an app trigger stops checking.
Choose the location to watch. Location is empty. Choose one.
Nothing matches yet — add one, then fetch again. on Output (Inventory low) Nothing at the location is at or below the threshold. Raise the threshold to test, or fetch later.