Shopify Flow triggers and actions for Essential Preorder & Back in Stock

This article lists every Shopify Flow trigger and action that Essential Preorder & Back in Stock adds to your store, what each one sends, and a few workflows to copy. It is for shop owners who already use Shopify Flow, or who want preorders and back in stock signups to drive other apps automatically.

Shopify Flow is Shopify’s free automation app. Install it from the Shopify App Store if you have not. Our triggers and actions appear in Flow under Essential Preorder as soon as our app is installed. They work on every plan.

Triggers (things that start a workflow)

Preorder placed

Fires when a customer places an order that contains at least one preorder item. Gives you the order (so you can read its total, tags, line items and customer in your conditions), plus:

  • Payment type: FULL, PARTIAL, or both when the order mixes them.
  • Preorder line count: how many line items on the order are preorders.

Preorder payment failed

Fires when collecting the remaining balance on a partial-payment order fails, whether you started the collection from the Preorders list or from the Collect preorder balance now action below. Gives you the order and a Failure reason, the same text you see in the payment collection results.

Back in stock signup created

Fires when a customer signs up to be notified about a product variant. With the default Essential sender, the same customer submitting the form again for the same variant and market does not fire it a second time. Fields:

  • Product (a product reference, so you can read title, images and URL in Flow)
  • Variant id, Variant name, Variant sku, Variant price
  • Product title, Product handle, Product image url, Product variant url (the product page with this variant selected, on the customer’s market domain)
  • Customer id, Customer full name, Customer first name, Customer last name: filled when the signup matches a Shopify customer. Empty for guests, which is most signups.
  • Customer email, Customer phone: whichever the customer entered. The other is empty.
  • Customer locale: the language the customer was browsing in, for example de.
  • Market id, Campaign id, Signed up at
  • Newsletter consent: whether the customer ticked the newsletter box in the pop-up.
  • Consent confirmed: whether double opt-in has been confirmed.

Back in stock signup confirmed

Fires when a customer clicks the confirmation link in the double opt-in email. Only campaigns with Require customers to confirm their registration ticked produce this. Same fields as Back in stock signup created.

Product variant restocked

Fires when a product variant becomes available online again, whether or not anyone signed up for it. Fields: the product, Variant id, and Market ids (comma separated, the markets that now have stock for it according to your Markets & locations setup; empty if you have no markets configured).

Actions (things a workflow can tell the app to do)

Release preorder fulfilment hold

Releases the preorder hold on an order, the same as clicking Release hold on the order page. Pick the order in the action. It fails if the order has no preorder hold. Holds placed by other apps or by Shopify are left alone. See Fulfil preorders: on hold, scheduled, tags and releasing orders.

Collect preorder balance now

Charges the remaining balance of a partial-payment order using the customer’s saved payment method. Pick the order, and optionally tick Email the customer an invoice if the charge fails (off by default). It fails if nothing is due on the order. The result arrives in the payment collection results email, and a failure also fires the Preorder payment failed trigger. See Collect remaining balances.

Both actions run once per workflow run, even if Flow retries, so an order is never charged or released twice by the same run.

Sending Back in Stock emails through Flow

On a Back in Stock campaign, Notification settings tab, Send emails through has a Shopify Flow option (marked Beta, Lite plan or higher). When you choose it:

  • The app still records every signup under Back in stock → Products & Notifications.
  • The app does not send the back in stock email. Nothing is sent unless your workflow sends it.
  • Use Back in stock signup created to capture the request (for example tag the customer or add them to a marketing list) and Product variant restocked to start the restock message.
  • The Notification sent at, Last email status and Order columns show N/A for these signups.

If you only want to react to signups while the app keeps sending its own email, leave Send emails through on Essential. The triggers fire either way.

Workflows to copy

  1. Tag preorder customers for segments. Trigger: Preorder placed. Action: Add customer tags. Use the tag in Shopify Email or a segment.
  2. Release holds on a date. Trigger: Scheduled time (Shopify’s own trigger). Action: Get order data with the filter tag contains your preorder tag AND fulfillment status is on hold. For each order: Release preorder fulfilment hold.
  3. Charge balances when stock lands. Trigger: Inventory quantity changed (Shopify’s own trigger). Condition: quantity is greater than 0. Action: Get order data filtered to partially paid orders with the product. For each order: Collect preorder balance now, with the invoice option on.
  4. Tell your team about failed charges. Trigger: Preorder payment failed. Action: Send internal email or Slack message with the order name and Failure reason.
  5. Push signups to a marketing app. Trigger: Back in stock signup created. Condition: Customer email is not empty. Action: your marketing app’s Flow action (Klaviyo, Mailchimp and others publish their own), passing Customer email, Product title and Product variant url.

Good to know

  • Triggers are best effort. If your workflow errors, the preorder or signup itself is not affected.
  • Fields that can be empty (phone-only signups have no email, guests have no customer id) arrive as empty text. Add a condition before using them.
  • Flow shows numeric ids for products and orders. It resolves them to the full record for you inside conditions and actions.

Still stuck?

Contact support from the app with the name of your workflow and, for an action that failed, the order number. Flow’s run history shows the error text the app returned.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us