Currently here is my workflow. I am using a normal sequential custom workflow, trying to mimic a state machine workflow.
Goal of workflow : Multi-level approval.
Rules :
- On approval, following user on next approval level will be assigned a task to approve item.
- On rejection, a new task should be assigned back to previous user, so that he can make amendments to the list itself.
Idea to make it work:
- Set workflow to start automatically when item is created and modified.
- When a new item is submitted, automatically workflow kicks in which is the first obvious step.
- If one of the approvers reject, workflow will update a column in the list and create a task to the previous approver.
- Same column will be updated when the previous approver updates the task. As the workflow is meant to kick in when an item is edited, it should kick in at this point.
Example Scenario:
- Person A (Non 'System Account' user submits a new item)
- Start approval process for 'First Approver'
- 'First Approver' on completion of task will update a status column 'State' to 'FirstApprover'.
- If 'First Approver' rejects the task, the status column 'State' will be updated to 'NormalUser'.
- 'NormalUser' will receive a task, which on approve, will be updating the 'State' to 'FirstApprover'. Here from my understanding, workflow should kick in as we have set workflow to trigger when an item is new/updated.
However at this point, workflow is not re-triggering when the item is updated.
Questions:
- Why is my workflow not re-triggering when item is updated?
- Is my idea of retriggering a sequential workflow to mimic a state machine workflow for the above scenario in a multi-level approval workflow correct?
Thanks in advance!