I'm currently working on a workflow project for our HR department's position search process. This process involves checking for current employees who would like to "bid" for an open position that is eligible. There will also be times when employees aren't eligible to bid, but can still "express interest" should the position be posted internally.
I've been attempting to get this process to work by using two state machines, one of which is nested in the first state machine. The root state machine starts in the bidding state:
After a series of tasks in the bidding branch, the workflow makes it the nested state machine that I am trying to use to handle Bidders vs. Internal Interested employees. This nested state machine starts in the Bidders state:
Within the bidders state of the Nested State machine branch, I have a series of flexi-task, to-do task, and notifications.
If the most senior bidder declines the job offer, but there are still interested bidders, the state machine will pick back up at the top of the Bidders state branch of the nested state machine.
If there are no interested bidders left, the nested state machine changes to the Internal Interest state branch of the nested state machine, which has similar logic to the Bidders State branch shown in the images above
The final steps of the internal interest nested state machine state is a flexi-task that they select "No, there are no more internal applicants" it will set a boolean variable "bool_internal_interest" to No. Then ends the nested state machine:
Once the nested state machine end, the workflow goes back to the Root State machine which defaults to the Bidding state. We do not want to go down the bidding process again, so I've been trying to bypass this by using Run-if blocks to change the state of the Root state machine before we get to any of the bidding tasks
For example: if there are no bidders and no internal interest, I need the workflow to change to the External Posting State of the Root state machine:
Does anyone have any ideas why this isn't working? Or does anyone have any suggestions on a better method to achieve the process? Esentially we need to be able to check for and loop through interested bidders. If there aren't any bidders we would want to check for and loop through any internal applicants.
Solved! Go to Solution.
I was able to determine that the Change State isn't triggering at all. I can see the first log to history, followed immediately by the log-to-history action I added after the change-state within the Run-If.
Has anyone else successfully triggered a Change State action within a run if action?
@lee_hoselton ....I've never tried nested change state. But what if you create a new state and that state will only have end state machine action. So instead of using end state machine in your logic simple replace it with Change State Machine action.
@kunalpatel thanks for the suggestion. I think I was overcomplicating things with the nested state-machines. I reworked it to be one large state machine and it seems to be working.
@lee_hoselton wrote:
I was able to determine that the Change State isn't triggering at all. I can see the first log to history, followed immediately by the log-to-history action I added after the change-state within the Run-If.
Has anyone else successfully triggered a Change State action within a run if action?
thanks for the information.