Important
This feature is only available in Professional and Enterprise editions.
Multi-instance flows let you create one base flow and generate multiple unique, customized instances from it — without duplicating the flow for each variant. You can either convert an existing flow into a multi-instance flow or create a new multi-instance flow. You can override connections, exports, import properties and mappings, branching configurations, and flows.
Use this article to understand how multi-instance flows work, what can and can’t be overridden at the instance level, and how to handle webhooks when your instances need separate listener configurations.
Using multi-instance flows provides the following benefits:
-
Building one flow with multiple variants.
-
Updating variants across the platform once.
-
Consolidated flow management and monitoring.
You can create, customize, and manage each instance of a flow individually, or make global changes by re-configuring the base flow.
Multi-instance flows have the following constraints and requirements.
-
Some fields can’t be overridden. While there is no comprehensive list of fields that can’t be overridden, any invalid overrides will be ignored.
-
Multi-instance base flows cannot be run manually or scheduled.
-
Multi-instance flows cannot be set as a Run next flow.
-
If a multi-instance flow has at least one instance, it cannot be converted to a standard flow unless all instances are deleted.
-
Overrides cannot be defined for multi-instance base flows or standard flows — only for flow instances.
-
Multi-instance flows cannot be deleted if any instances exist.
-
If the multi-instance flow is disabled, all associated instances are automatically disabled.
-
Overrides are optional — if not defined, the flow’s configurations default to the multi-instance flow.
-
An instance cannot itself be a multi-instance flow.
-
You cannot override an import or lookup, but you can edit various fields within these resources.
-
All instances share the webhook listener defined on the abstract flow. You can’t override individual webhook properties, such as the URL or shared secret, at the instance level, but you can add step components like transformations and filters to manage your incoming payload.
Replace the webhook export at the instance level using JSON override mode when each instance requires a different webhook URL or authentication secret — for example, when each store must send to a unique endpoint.
This use case is ideal for brand aggregators with multiple, similar Shopify or Magento “stores”. The stores may be identical, but use different connectors, store names, or slightly different mappings. In this case, you’d need 500 similar, but unique, integrations.
Traditionally, you’d need to create one integration and clone it 500 times. With multi-instance flows, you can create one integration, add 500 instances, and customize each instance quickly. The instances all use the same base flow, but each instance can be uniquely tailored to match the needs of each store.
If this integration uses webhooks, see Webhook behavior in multi-instance flows to determine which approach fits your store configuration.
Acme offers Shopify integrations to its customers. Now, imagine 500 such customers want to enable similar Shopify integrations. The integrations may be identical, but use different connections, store names, or slightly different mappings. Acme needs to create 500 similar, but unique, integrations.
Traditionally, you’d need to create one integration and clone it 500 times. With multi-instance flows, you can create one integration, add 500 instances, and customize each instance quickly. The instances all use the same base flow, but each instance can be uniquely tailored to match each customer’s specific needs.
If this integration uses webhooks, see Webhook behavior in multi-instance flows to determine which approach fits your configuration.
Multi-instance flows work best when instances share a common base configuration with minor variations. Avoid multi-instance flows when:
-
Each flow variant is structurally different enough that sharing a base flow creates more complexity than it saves.
-
Every instance requires a completely different webhook URL and you have a large number of instances — individual flows may be simpler to maintain than managing per-instance JSON overrides at scale.
-
You need to run or schedule the base flow directly — multi-instance base flows can’t be run manually or on a schedule.