Shopify Flow lets you build custom automations without coding, helping you run your business more efficiently. With Flow, you can connect your apps, create unique workflows, and save time for growth.
Accessing the Shopify Flow app
You can install the Shopify Flow app from the Shopify App Store.
Once installed, you can create a workflow manually or start with a pre-made template.
For more guidance, review Shopify's official documentation.
How Shopify Flow works
Shopify Flow is event-based: it monitors your store for events and triggers automated actions when certain conditions are met.
Workflow components:
Trigger: The event that starts a workflow (e.g., a new subscription contract is created).
Condition: A rule that determines whether an action should happen (e.g., subscription value is over $200).
Action: The change made in your store or app if the condition is met (e.g., adding a customer tag).
Integrating Subi with Shopify Flow
A subscription your customer starts with Subi is a real Shopify subscription contract, so Shopify's own subscription triggers already see it. You do not need a trigger from Subi to build these workflows.
Shopify gives you these subscription triggers:
Subscription contract created: a customer subscribes to a product on your store or purchases a membership.
Subscription contract updated: a subscription changes. Subi writes a cancellation, a pause and a resume back to the contract in Shopify, so this is the trigger to use for those. Add a condition on the subscription contract status to pick out the change you want: Paused, Cancelled and Expired are the ones that tell you a subscription stopped, Expired being how a subscription with a fixed number of cycles ends. Active on its own is not a resume signal, because Subi moves the next billing date forward after every renewal, and that is another update to the same contract. The trigger fires on those, and on a skipped or rescheduled order, and the condition reads the status rather than the moment it changed, so a later edit to the same contract runs the workflow again. Test yours with a real subscription before you rely on it.
Subscription billing attempt success, Subscription billing attempt failure and Subscription billing attempt challenged: the outcome of a renewal charge.
You can use these triggers with actions such as:
Example: Add a tag to a customer when a subscription contract is created.
If your workflow runs on a Subi trigger
Subi published four triggers of its own: Subscription Created, Subscription Contract Status Cancelled, Subscription Contract Status Paused and Subscription Contract Status Resumed. They are no longer supported, and we do not recommend building anything new on them.
Open the Shopify Flow app from your Shopify admin and look at the first step of your subscription workflows. If it is one of those four, rebuild the workflow on Shopify's own trigger:
Subscription Created: use Subscription contract created.
Subscription Contract Status Cancelled or Paused: use Subscription contract updated with a condition on the subscription contract status, keeping in mind that a later edit to the same contract runs it again.
Subscription Contract Status Resumed: there is no status condition that means only this, because a contract also reads Active after every renewal. Start a chat with us and we will work out the closest workflow for what you were doing with it.
Shopify Flow gives a workflow one trigger, so rebuilding means a second workflow beside the first. Turn the old one off once the new one runs, or both act on the same subscription.
If you see a different trigger with Subi's name on it, start a chat with us before you change anything. The same if you are not sure whether an old workflow of yours is still doing anything, or you would like a hand moving it over: we will go through it with you.
Branch a workflow on Subi's tags
On the Subi and Subi Plus plans, or with the Smart tagging & integrations add-on at $19 per month on a paid plan, Subi can tag your subscribers and their subscription orders for you, and a Shopify Flow condition can read those tags. The order tags need one extra Shopify permission as well, so that part of the screen stays locked until your store grants it. The customer tags are Subi Subscriber, Has Active Subscription, Has Paused Subscription, Has Cancelled Subscription and payment failure. The order tags are Subi Subscription, First Subscription Order and Recurring Order #number.
Has Active Subscription, Has Paused Subscription and Has Cancelled Subscription are one flag between them rather than a description of the customer: Subi replaces one of them only when it applies another, so the tag shows the last change Subi tagged and not where the subscription stands today. It does not move when a subscription expires. A tag you have not switched on is never applied, although Subi clears all three whenever it applies one. A customer with two subscriptions who cancels one of them is tagged as cancelled. For the state right now, read the subscription contract itself.
Two of those names depend on your store. A store that was with us before we changed our name still writes Subify Subscriber and Subify Subscription until it switches, and Settings > Tag management shows which tags your store writes. A Flow condition ignores capitals but not a different word, and an Equal to condition compares the whole tag, so take the wording from that screen rather than from a customer or an order you tagged earlier: records tagged before a switch keep the old tag. The recurring order tag ends with the cycle number, so match that one with Starts with and Recurring Order #.
Subi writes these tags after the change they describe, not with it, so a workflow that the same change started can run before the tag is there. That includes Order created: Shopify creates the subscription order and starts your workflow, and Subi tags that order afterwards. Sample flow 4 below handles that with a Wait step before its condition, which is the simplest option, although it covers the ordinary case rather than guaranteeing it: a tag write that has to retry can take longer than the wait. The dependable routes are to start the workflow on Subscription billing attempt success, which hands you the order and the subscription contract together and covers renewal orders, or to read the subscription contract on the order's line item rather than the tag. Away from Flow, the customer tags are what a Shopify customer segment can filter on.
Open Settings > Tag management in the Subi app to switch the tags on. They apply to future subscribers and new subscription orders, not to the ones you already have. Automated Tags for Subscribers & Orders in Subi has the full list and the steps.
Flows you can use for your subscriptions
Here are some sample flows about subscriptions that you can download and import to your Shopify Flow app:
Num. | Flow | Description | Download link ⬇️ |
Send subscription data to Klaviyo | Sends subscription data to Klaviyo for email automations. | ||
Tag failed subscription payments | Tags a customer whose contract already carries a failed payment, with the reason. | ||
Tag customers by subscribed product | Adds tags for customers based on the product they subscribe to. | ||
Email staff when a subscription order is created | Sends an internal email to staff for each new subscription order, once its condition names the order tag your store writes. | ||
Tag subscription orders with creation date | Adds a tag with the order creation date to subscription orders, once its condition names your app. |
1. Send subscription data as an event to Klaviyo
This flow sends your subscription data to Klaviyo as an event, so it can be used in Klaviyo email automation.
If you use Klaviyo and you are on the Subi or Subi Plus plan, or have the Klaviyo add-on at $19 per month on a paid plan, connect Klaviyo to Subi first. Subi's own Klaviyo connection adds your subscribers to a Klaviyo list and sends your subscription events on its own, cancellations, pauses and resumes among them, each as its own named Klaviyo metric, so you do not need a status condition to pick them out. How do I connect Subi with Klaviyo? walks through it. On the other plans, or if you would rather send the event from Shopify Flow, build the workflow below.
Download the flow:
Steps:
Install Klaviyo and connect it to your Shopify store.
Import the flow into your Shopify Flow app.
Open the flow and select the Track an event action.
Enter your Klaviyo Public API Key (found in Klaviyo app > Account > Settings > API Keys).
Update the event name if desired (default is subscription contract is created).
Turn on the workflow.
Create a test subscription in your store.
In Klaviyo, add the event to your email automation.
2. Tag failed subscription payments with reason codes
This flow tags a customer whose subscription contract already carries a failed payment, with the failure reason.
Download the flow:
Steps:
Import the flow into your Shopify Flow app.
Turn on the workflow.
Result:
When this workflow runs on a contract that already carries a failed payment, the customer receives two tags:
The reason for the failed payment
Last subscription payment failed
These two tags are written by the workflow itself, and they are separate from Subi's own payment failure tag above. One thing to know before you rely on it: this flow starts on Subscription contract created, so it tags a contract that already carries a failed payment, which a brand new subscription does not. To catch failures as they happen, build a workflow on the Subscription billing attempt failure trigger, where no condition is needed and the customer comes from the subscription contract, or, on the Subi and Subi Plus plans or with the Smart tagging & integrations add-on on a paid plan, switch Subi's own payment failure tag on. You can then create a Shopify customer segment based on the second tag to see all customers with failed payments, review the failure reason tag, and contact them or send an “update payment method” email.
3. Tag customers when they subscribe to a specific product
This flow tags customers who subscribe to a specific product or purchase a membership.
Download the flow:
Steps:
Import the flow into your Shopify Flow app.
Open the flow and select the Add customer tags action.
In the Tags field, enter your tags or click the </> icon to add dynamic tags from subscription contract values (e.g., product title, variant title, subscription interval).
Turn on the workflow.
4. Email staff when a new subscription order is created
Once its condition names the order tag your store writes, this flow sends an internal email to staff whenever a new subscription order is placed.
Download the flow:
Steps:
Import the flow in your Shopify Flow app.
Open the flow and click on edit.
Open the condition and set the tag to the one your store writes, Subi Subscription or Subify Subscription. This flow reads Subi's order tags, so it needs tag management switched on first: the Subi or Subi Plus plan or the Smart tagging & integrations add-on on a paid plan, and the extra Shopify permission the order tags ask for.
Click on the "send internal email" action.
Fill in the email address field.
Add more information to the email you want to get after each order.
(Click on the </> icon in the tags field to add any information regarding the order, its customer, and their subscription based on the values available.Turn on the workflow.
Test it out by placing a test order.
5. Tag subscription orders with the creation date
Once its condition names your subscription app, this flow tags every subscription order with the date it was created.
Download the flow:
Steps:
Import the flow in your Shopify Flow app.
Open the flow and click on edit.
Open the condition and set the app name to the one Subi is listed under in your Shopify admin, under Settings > Apps and sales channels. The condition reads the subscription app on the order's line item, which is not the same field as the app that created the order.
Turn on the workflow.
Test it out by placing a test order.
Result:
Once the condition names your subscription app, each subscription order gets a tag containing its creation date.





