Adding an optional action field breaks existing Flows

When modifying an existing Shopify Flow action, we added a new non-required field, but now our merchants’ existing Flows cannot be turned off/on or modified and get the following error:

  • A connector was recently updated and the step configuration is now incompatible. To fix this problem, make note of the current step values before deleting the step and re-adding it to your workflow.

The only change we had for our action was this new field:

[[settings.fields]]
key = “flow_user_properties”
type = “multi_line_text_field”
name = “Custom personalization data”
required = false

According to the docs here: About Flow development these are the only ways to cause a breaking change:

  • Rename or delete a field.

  • Change an action field from optional to required, or add a new required action field.

  • Delete a trigger or action.

Our situation doesn’t apply to those three. Is this a bug in Shopify Flow or an undocumented breaking change? It seems like adding an optional setting field to an action should never be breaking as we aren’t expecting a value to always be present anyway.

This has actively broken many of our merchants Flows and Flow templates. Is there a way to correct this now or mark it as a non-breaking change on the Shopify side?

For Shopify folks, the affected action UIDs are:

a32567cb-6113-98cf-d2a2-5fad0f2cae1e69c302b7

389a2315-f8ac-d7ff-0a6a-e440fcb28635cd06e886

36673db3-13b9-33be-f940-32cd064e9a8cb026da39

Looking into it. You may want to contact us over flow-connectors-dev@shopify.com so we can share more details, if necessary.

In case it’s not obvious, workflow runs should not be affected. This is an editor-time message.

Thanks @paul_n , I sent a message to that email on Friday as well. I noticed existing Flows were continuing to work, but when someone goes to modify that Flow they get stuck and have to replace our node.

1 Like

@paul_n I have also faced with such Flow action update issue and it also makes you unable to turn on the flow with such outdated action. Is there a better way of making updates to Flow actions?

It would be great if there will be no need to make any changes to flow if field with required = false was added. Or existing flows can be migrated automatically to a some default value specified in .toml like in relational DB migrations.

Yeah, for sure it shouldn’t create issues if the action has a new optional field. I don’t have timing on the fix yet, but we are looking at this and other quality of life issues for Flow task developers