Shopify Flow

Shopify Flow is a platform that allows merchants to automate workflows. You can build a connector to integrate your app with Shopify Flow so that merchants can add your app's or service's functionality to automated workflows.

This guide introduces you to the different workflow components you can create, building a connector, and considerations when making changes to workflow components.

Workflow components

Shopify Flow includes the following workflow components:

Workflow component Description Example
Trigger An event that starts a workflow, and can be something that happens in a store or in an app. A new order is created in a merchant's online store.
Condition A rule that determines whether an action will be taken. A condition is set to check whether the total amount paid for the order is over $200.00.
Action A task that's executed in a store or in an app when certain conditions are met. If the total amount paid for the order is over $200.00, then a tag is added to the customer account that placed the order.

What you can create

You can create triggers and actions for merchants.

To use the triggers and actions that you create, merchants need to have both your app and Shopify Flow installed. Merchants can create workflows with any combination of triggers and actions from Shopify or an app that they have installed that also has connectors.

Build a connector

The following video shows how to build a connector for Shopify Flow.

  1. In your Partner Dashboard, open the Shopify Flow app extension:
    1. Click Apps and then open your test app.
    2. Click Extensions and then click Flow.
  2. Click Add trigger to add a trigger to your app.
  3. Click Add action to add an action to your app.
  4. Click Configure webhook to notify your app when your triggers are in use.

Changes to triggers or actions

Changes to triggers or actions can be breaking or non-breaking. If the change that you want to make is a breaking change, then you should create a new trigger or action and hide the old one. Otherwise, you can make changes directly to your existing trigger or action.

Breaking changes

The following changes are considered to be breaking changes:

  • Rename or delete a field
  • Change an action field from optional to required, or add a new required action field
  • Disable or delete a trigger or action

When you make a breaking change to a trigger, workflows that use the changed trigger will fail. When you make a breaking change to an action, workflows that use the changed action will run, but the action will fail.

Non-breaking changes

You can make the following changes to a trigger or action and save it without affecting merchant workflows:

  • Change a trigger or action title or description.
  • Change the URL that Shopify Flow uses to send the contents of the action to your app.
  • Change an action's label or help text.
  • Change an action's required field to optional.

Update a connector to avoid breaking changes

Before you introduce a breaking change to your trigger or action, follow these steps to avoid disrupting merchant workflows.

  1. Hide the old trigger or action by changing its status. Hiding a trigger or action makes it unavailable to new workflows, but existing workflows can continue to use it. To hide a trigger or action, open it and then click Change status.
  2. If your trigger or action is used in a workflow template, then notify flow-connectors-dev@shopify.com about the change.
  3. Create a new trigger or action.
  4. Notify your existing merchants and help them migrate to the new trigger or action.
  5. After your merchants have stopped using the old trigger or action, you can disable and then delete it.

Next steps

  • Connect your app to Shopify Flow so that events that occur in your app can trigger workflows.
  • Connect your app to Shopify Flow so that your app receives data and information when a workflow action runs.
  • Learn how to receive webhooks from Shopify Flow about the stores that are using your triggers in enabled workflows.
  • Learn how to use app extensions to surface the functionality of your app where and when merchants need it most.