Flows not executed on Import Set staging table records in Paris and newer
When importing records via an Import Set the insert operation to the staging table (e.g. imp_user) is run with a call to 'setWorkflow(false)'. That setWorkflow(false) function call stops Business Rules/Workflows being run on Import Set staging tables. It also has the effect, in Paris and newer, that Flows will not be run. However, on Orlando and previous releases Flows were still run even after the setWorkflow(false) function call.
Steps to Reproduce
- Login to any OOB Paris or newer instance
- Open Flow Designer, create a new Flow: Name = Trigger on imp_user record, Trigger: record reated on table imp_user, Action: Log. Message: Flow Trigger on imp_user record ran
- Save and activate
- Sys Import Sets->Load Data. Existing table->imp_user, Load attached file 'PRB1480563 Example Data.csv' (note: you only need to load the data, transform is not needed here)
- Check Info messages in System Log and Flows executed
- Actual: No sign of 'Flow Trigger on imp_user record ran' message and Flow 'Trigger on imp_user record' hasn't been executed
- Expected (customer expecation in CS5173965, as well as previous behaviour in Orlando and older): Flow is triggered
- Workaround: System Property with name trigger_engine.ignore.set_workflow, type true|false and value true
- Repeat STR above
Actual and Expected (restores Orlando and previous release behaviour): 'Flow Trigger on imp_user record ran' message is in syslog and Flow 'Trigger on imp_user record' has been executed
This is expected behavior and by design in all currently supported releases.
- The recommended workaround is to use a Transform Map and to then trigger the Flows when the Transform Map Executes.
- Please note that triggering flows on the staging table can cause performance issues.
- See our Transform Map Documentation Here for assistance with this.
If you are not able to use the above preferred workaround method, then you can do the following:
- Create a System Property with name trigger_engine.ignore.set_workflow, type true|false and value true
Related Problem: PRB1480563