> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://supr-bundles-and-subscriptions.crisp.help/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Using Shopify Flow

Shopify Flow can start a workflow when something happens to a subscription, and run steps on a subscription from any workflow. It is free and comes with Shopify, so you can send a thank-you tag to a customer who accepts a retention offer, notify your team when a big subscription is cancelled, or pause every subscription for a customer you have flagged, without writing code.

Shopify Flow already has its own triggers for a subscription being created or updated and for billing attempts. Ours are the ones it lacks.

## Turn on the triggers

Actions work as soon as you add them in Flow. Triggers need one switch, so that we only send events to stores that use them.

1. Go to [**Supr Bundles & Subscriptions > Settings > Integrations > Shopify Flow**](https://admin.shopify.com/apps/super-subscriptions/app/settings/integrations/flow).
2. Click **Turn on**.

The page shows **On**. Click **Turn off** at any time and we stop sending triggers, including any that were waiting to be sent. Uninstalling the app turns it off too.

## Start a workflow from a subscription event

In Shopify Flow, create a workflow and choose one of these triggers under **Supr Bundles & Subscriptions**. Every trigger also gives you the customer, so you can use the usual customer conditions and actions such as **Add customer tags**.

| Trigger | Starts when | Also gives you |
|---|---|---|
| Subscription paused | A subscription is paused | Subscription ID, Pause reason, Initiated by, Times paused |
| Subscription cancelled | A subscription is cancelled | Subscription ID, Cancellation reason, Initiated by, Renewals completed |
| Subscription order skipped | The next order of a subscription is skipped | Subscription ID, Initiated by, Next billing date, Next order total |
| Retention offer accepted | A customer accepts a retention offer instead of cancelling or pausing | Subscription ID, Offer type, Offer value, Offered during, Next order total |
| Retention offer declined | A customer declines a retention offer | Subscription ID, Decline reason |
| Loyalty reward applied | A loyalty reward is applied to a subscription | Subscription ID, Cycle, Reward types, Next order total |
| Subscription notification sent | A customer email or Klaviyo event is sent for a subscription | Subscription ID, Notification type, Sent through |
| Bundle subscription started | A new subscription that includes a bundle is created | Subscription ID, Bundles, Bundle names |
| Subscription resumed | A subscription is active again after a pause, a cancellation or a failed payment, including when a pause ends on its own | Subscription ID, Previous status (PAUSED, CANCELLED or FAILED), Initiated by, Times paused, Next billing date, Next order total |

**Initiated by** says who made the change: the customer in the portal, you in Shopify admin, the API, another Flow workflow, or the app itself when a pause ends on its own.

For the triggers Shopify Flow provides itself, such as **Subscription contract created**, use the subscription contract id where an action below asks for a Subscription ID.

## Change a subscription from a workflow

Add one of these steps under **Supr Bundles & Subscriptions**. Each one asks for the **Subscription ID**, which you can take from any of the triggers above.

| Action | What it does | Other fields |
|---|---|---|
| Pause subscription | Pauses the subscription until it is resumed | Reason (optional) |
| Resume subscription | Resumes a paused subscription | Next billing date (optional, such as 2026-11-01) |
| Cancel subscription | Cancels the subscription. This cannot be undone from the workflow | Reason (optional) |
| Skip next subscription order | Skips the next order | None |
| Set subscription next billing date | Changes when the subscription is billed next | Next billing date (required) |
| Resend subscription email | Sends the customer one of their subscription emails again | Notification type (required) |

The reason you enter is shown in the subscription's history. Changes made by a workflow are marked as made by Flow there, so you can tell them apart from your own.

**Resend subscription email** accepts these types: subscription_started, subscription_restarted, subscription_paused, subscription_cancelled, subscription_renewed, subscription_updated, price_updated and next_billing_date_changed. It always goes to the subscription's own customer, the same way the app normally sends it: from the template you have set under **Settings > Notifications**, or as an event to Klaviyo if you send that email through Klaviyo. If that notification is turned off, nothing is sent.

If a step cannot run, for example because the Subscription ID does not exist in your store or the date is not valid, Flow shows the reason in the workflow's run history and does not try again.

## Good to know

- Triggers arrive a short while after the event, usually within a few minutes, not instantly.
- A workflow step that runs twice for the same run, for example because Flow tried again, changes the subscription once.
- The details we send to a trigger, such as the reason a customer gave, are kept in Shopify Flow's run history in your store, which you control.
- The other tools you can connect are under **Settings > Integrations**. See [Using Klaviyo](https://supr-bundles-and-subscriptions.crisp.help/en-us/article/using-klaviyo-2tw97d/) and [Using the API](https://supr-bundles-and-subscriptions.crisp.help/en-us/article/using-the-api-129ae4j/).