Using Finesse 10.5.1 on HCS/UCCE platform. I've configured a Workflow to invoke a HTTP method when action of "When a Call ends" which works in basic form.
It doesn't work when I receive a CONSULT call from another agent which is answered by me and the transfer is completed. The Workflow triggers when the CONSULT call ends which is just at the same time as the TRANSFER call replaces it. So when I eventually end the call there is no Workflow invoked. Not even when I exit Writing Up state.
So sequence is
a) incoming call arrives at agent 1
b) agent 1 starts CONSULT call with agent 2
c) agent 2 answers CONSULT call.
d) agent 1 completes the transfer
e) Workflow for Agent 1 invokes the HTTP request at correct point of End Call
f) Workflow for Agent 2 invokes HTTP request at the same time as above - for the CONSULT call. (Not needed but not causing a problem)
g) Agent 2 speaks to original caller for any amount of time
h) Agent 2 hangs up the call. There is no Workflow evaluated or invoked.
I found the following which may be the reason but wanted to know if this is true and if there's a workaround.
The workflow engine uses the following simple logic to determine whether to execute a workflow:
To determine whether a workflow should execute, its trigger set and conditions are evaluated against each dialog event received.
The workflow engine processes workflow events for the first call that matches any configured workflow's trigger set and conditions. No other workflows run until this call has ended. If the agent accepts a second call while still on the first call, workflows do not run on the second call even after the first call has ended.
After a workflow for a particular trigger type (for example, Call Arrives) executes, it never triggers again for the same dialog ID.
If this is the case and it's designed that way, surely that not desirable, then i'll have to code the HTTP request within my custom gadget instead of using Workflows.