There have been numerous questions and solutions offered for the issue of managing multiple workflows and related conflicts. I could not locate an answer for my use case.
- I have 2 or more WFs for a list, all of which have as the last 2 WF Action Steps:
- Update item (with a new value for a field)
- Send Notification (or start a simple Notification WF)
- In this use case, there are 2 WFs (WF1 and WF2) as described above, both of which are started conditionally based upon field value changes (when value is "not equal" to old value). Very simple WFs.
- Each WF is not dependent and not related to the other WF, and they are started based upon different field value changes. Except that the Update Item action in both WFs is for the same list field (a Single Line txt field being used to capture the "Initiator's Name"
- When the list and form were built, it was intended that certain process steps in filling out the form, would happen in sequence with one being completed, Process1 (including the firing off of WF1), and the item being saved before the next process step, Process2 would be started. (each step in the process Intended to be handled by a different user)
- Then at some later date/time (at least after the Process1 and WF1 had been fully completed and committed), the next step, Process2 could be initiated (including the firing off of WF2).
- There are no form controls to manage who and when the 2 process steps can be sequenced or completed. This intentionally allows for Process2 to be initiated and completed before Process1 (Process1 is not a mandatory step).
- My users have learned however, that they can and will often fill in the data fields for Process1 and Process2 during the same list item Edit/Update (as the user/initiator is the same person and logically wants to save a step during the item Edit/Update process.
- This causes both WF1 and WF2 to attempt to start immediately when the user/initiator clicks the item Save button.
- One of the WFs will start and complete successfully - the other WF will not start. There is no WF error thrown and the unstarted WF may go unnoticed.
- I don't necessarily want to control the form process steps forcing one process/field update to be saved, before completing the other process/field update and saving.
- I cannot specify in each WF to wait upon the other WF to complete, as there are multiple WFs that may face this same type of sequencing problem. My use case above only referenced one example of 2.
- So, the question is, how to enable 2 (or more) WFs to start/complete successfully, when:
- started with different conditions
- but fired off with the same Edit/Save command
- it is not known what other WFs are attempting to be started during the same Edit/Save command