State Machine with Assign Flexi task action Multiple Assignee's and 3 outcomes

  • 9 January 2019
  • 5 replies
  • 8 views

Badge +1

I have a 3 stage workflow

1. Developer Stage

2. Business Stage

3. Management Stage

When I assign a Flexi task I have 3 outcomes Approve, Reject & Rework with multiple assignee & all must agree on a single outcome

As I have 3 levels of approval.

At the Developer stage,

      If any assignee rejects, I want the initiator notified and the workflow gets ended.

      If all approve, then I want the workflow to continue to the Business Stage.

      Here we don't have any rework outcome to get more info or additional inputs from initiator

At the Business Stage,

      If any assignee rejects, I want the initiator notified and the workflow gets ended.

      If all approve, then I want the workflow to continue to the Management Stage.

      If any assignee choose rework, then I want the workflow to go back for developer Stage.

At the Management Stage,

      If any assignee rejects, I want the initiator notified and the workflow gets ended.

      If all approve, then I want the workflow to notify all & End Workflow - completed status.

      If any assignee choose rework, then I want the workflow to go back for Business Stage.

Issue: Flexi task behaviors 

    1. First response applies - In my case it wont work as all assignee's should respond to single outcome

.   2. Majority decides - In my case it wont work as all assignee's should respond to single outcome

    3. Majority must choose a specific outcome - In my case it wont work as all assignee's should respond to single outcome

    4. All must agree - Approve outcome only works

    5. All must agree on a specific outcome - Approve outcome only works

I have selected "All must agree on a specific outcome" behavior & saved outcomechoosen Boolean value

& saved outcomeresult too but it is blank when selected other than approve

Went through below article 

    Do you really know the Flexi task?

I could able to set either approve or reject but not Rework 

How to achieve in state machine workflow with multiple assignee's & 3 outcomes

Thanks in advance


5 replies

Userlevel 5
Badge +14

I have selected "All must agree on a specific outcome" behavior & saved outcomechoosen Boolean value

& saved outcomeresult too but it is blank when selected other than approve

as you might have read in linked document, this is expected behaviour. once all of single approvers didn't respond with the same outcome, overall task didn't have any valid outcome.

what overall outcome would you expect if every approvers responded with different outcome?

I could able to set either approve or reject but not Rework 

you should be able to select either of configured outcomes for 'All must agree on a specific outcome'. 

isn't that your case?

222064_pastedImage_5.png

How to achieve in state machine workflow with multiple assignee's & 3 outcomes

it's not clear from your description what would you really like to achieve.

you only described what you configured and what didn't work as you expected but not what would you like to achieve.

Badge +1

Thanks for the reply.

I understand that it is not possible for third outcome (in my case rework) with 'All must agree on a specific outcome'.

If all users selected 'Approve' as outcome it behaves perfect, else it falls into 'Other' category, When any approver/user selects 'Rework/Reject' -  overall task didn't have any valid outcome & falls into 'Other'. How to handle here to make outcome as more specific for Rework/Reject? 

Do I need to change my approach if so what it should be?

Thanks 

Userlevel 5
Badge +14

I understand that it is not possible for third outcome (in my case rework) with 'All must agree on a specific outcome'.

where do you understand it from?

I haven't said anything like this.

as you might see from my screenshot it's possible to configure that all your approvers must respond with 'rework'

If all users selected 'Approve' as outcome it behaves perfect, else it falls into 'Other' category, When any approver/user selects 'Rework/Reject' -  overall task didn't have any valid outcome & falls into 'Other'. How to handle here to make outcome as more specific for Rework/Reject? 

once again, if you configure behavior to  'All must agree on a specific outcome' AND configure the expected outcome to 'Approve' then this is expected behavior.

if you configured behavior to  'All must agree on a specific outcome' AND configured the expected outcome to 'Rework' then the flexitask action would expected the exact response 'Rework' from all of the approvers. if anyone would responded with a different response, the flexitask would again ended up with 'outcome not achieved'  and no/empty outcome and would fall into 'Other' branch

Do I need to change my approach if so what it should be?

from what you have described up to now I don't think you need to change anything.

just understand how the action works laugh.png

Badge +1

Thanks once again for quick response.

My Intention is to achieve third outcome result, 

Let me explain use case as below:

Configuration details - 'All must agree on a specific outcome' AND configured the expected outcome to 'Rework'

if all responded with 'Rework', then it falls under Rework branch.

if anyone would responded with a different response(Approve/Reject) - Falls under 'Other' branch as 'outcome not achieved'.

But my question is how to get exact response either Approve/Reject when we set 'All must agree on a specific outcome' AND configured the expected outcome to 'Rework'?

Result should be as below:

'All must agree on a specific outcome' AND configured the expected outcome to 'Rework' - falls in Rework Branch

If any approvers select "Approve" as outcome it should fall under Approve branch (instead of Others branch)

If any approvers select "Reject" as outcome it should fall under Reject branch (instead of Others branch)

Is this possible?

Thanks..

Userlevel 5
Badge +14

Configuration details - 'All must agree on a specific outcome' AND configured the expected outcome to 'Rework'

if all responded with 'Rework', then it falls under Rework branch.

if anyone would responded with a different response(Approve/Reject) - Falls under 'Other' branch as 'outcome not achieved'.

that's all fine, that's exactly how the action is designed to work.

But my question is how to get exact response either Approve/Reject when we set 'All must agree on a specific outcome' AND configured the expected outcome to 'Rework'?

you simply cannot get overall action outcome anything else but expected 'specific' outcome.

you can only get single response outcomes (decisions) being Approve or Reject. => but the action has to select single outcome (and so branch how/where to continue once the action is gone) out of all the responses.

imagine you have 3 approvers, one responds with Approve, one with Reject, and 3rd one with Rework - what would you expect to be overall action outcome?

that's the reason flexi task action have optionally configurable Other branch. if the action can not decide for single (overall) outcome/branch it falls down to the Other  branch. it's then up to the designer to handle the situation appropriately.

you might see 'appropriately' might mean completely different things in different scenarios.

Result should be as below:

what should happen if you get both Approve and Reject responses? which response should have higher priority?

what should happen if you get 2x Approve and 1x Reject? is 2x Approve of higher priority the 1x of Reject or vice versa?

what should happen if you get 1x Approve and 10x Reject?

what should happen if you configured an Escalate functionality with one another outcome and the escalation happens?

do you see possible variability of  single responses and difficulty to decide which branch to go down further?

Reply