I have 3 flow working on a list.
Flow 1 - Creates Title field from a columns Organisation and Review Date using When an item is created
Flow 2 - Uses 'When an item is created or modified' It creates an internal report using a Word doc as a template in a doc library, then creates a pdf version and then puts a link back in the list columns to the report.
Flow 3 - Does the same as Flow 2 but creates a client version of the same report in another library.
Mostly it works fine. But I am occassionally getting odd results.
When I add an item in the list yesterday, the record was created with a title (Flow1) and the internal report (Flow2). I saw the title appear in the list. Then a minute laterflow overwrote the item but without the title. It also updated the internal report and then created the client reports (but without Title data).
Could this be a timing issue? Any help would be great.
This is definitely a timing issue. When the record gets created all three Flows are going to trigger, so the only sure way to have all three processes work in the correct order is to handle them in one Flow. Adding a delay action won't ensure that the record has been updated, and the delay until action only allows you to specify a particular datetime. Unless you do want to create a new report everytime the data changes in the list, the trigger should be "when an item is created." Otherwise, "when an item is created or modified" is fine.
One note: after updating the Title field, do another Get Item to pull back the item as it exists with the updated title. Use the ID from that action when creating the reports in the rest of the Flow.
Let us know if you need further assistance!
If this response provided an answer to your question please mark it as a solution so that others can find it.
If you found this helpful, consider giving it a thumbs up!
Have a look at conditional flow triggers you can specify when flows run or not based on conditions.
You could have a extra column say: FlowStatus.
In your first flow when complete you could set this field to 2. On your 2nd flow it could look for that value to equal 2. Then repeat in flow 2 to set it to 3 and so on.
something like this: