SLA Advance Flow and Transfer not working properly
In our application we have a case wide SLA defined. In the SLA on the goal time we want to Escalate to the next assignment in the flow. To do that we need to advance the flow. Using the activity ResumeFlow and setting the advance flow in the actions of the sla is not working for this. We have tried using call flow(on the actions of sla), a custom activity, Finish assignment activity, and tickets as well. Tickets could work but it will take alot of effort. It seems to be quite simple what is needed we need to move to the next assignment in the flow.
I am beginning to think that this is because it is a case wide SLA. Are those actions meant for Assignment SLA's?
AdvanceFlow will not work here as you are in Case context (Case level SLA) and we will not have any idea of which assignment are you trying to proceed since a Case can have multiple assignments open at same time.
You need to call ResumeFlow activity and explicitly pass FlowName and FlowAction name to get it working.
Resume flow simply completes the flow action. We have explicitly called resume flow as well as setting advance flow. The advance flow option does call the resume flow activity anyways. Once resume flow is finished executing the flow stays in place on the same flow action. History is added to the work object saying the flow action was ran but no movement of the work object.
We are thinking that a Case level SLA will not work for this like you mentioned. We are currently rethinking the requirement. I am going to test whether an assignment SLA will display the correct behavior.
Attached is SLA Config
Posted: 4 years ago
Posted: 20 Sep 2017 9:44 EDT
Pankaj Rawal (rawap)
Senior Software Architect, Low-code
ResumeFlow is the backend activity for AdvanceFlow as mentioned but the difference is AdvanceFlow assumes that you are trying to Advance the current assignment/flow and hence will not work directly for Case level SLA.
ResumeFlow activity takes FlowName also as parameter which might not be visible from SLA call.
What I meant in my first reply was to pass this flow name parameter also explicitly (along with Flow action name). Since param is not visible, you can create a plain wrapper activity over ResumeFlow and pass desired parameters.
What we have tried just now is creating a test assignment SLA and then using advance flow. This moves the assignment like we need. Instead of using a workaround with the Case SLA I think we are going to define assignment SLA's for simplicity of it.
I will try creating a wrapper activity and passing the hard coded flow name just to see if this will work. We will have to make it dynamic in production because we have many scenarios to account for. Thank you for all the help. I will update after testing the wrapper activity.
We have tried calling with a wrapper activity as you mentioned. It completes the flow action but the work object isn't moved. This is the difference in Case wide SLA's and assignment SLA's. The actions are working for assignment SLA's. They dont for Case wide SLA's.
See attached configuration for the case wide SLA activity.