Good evening,
I'm an experienced software engineer but a new Automate user. I'm finding it really impressive and powerful but am struggling to understand the behaviour of the "Call State?" block.
I'm trying to write a flow that waits for an incoming call to ring, does some stuff, waits for the call to stop ringing (or end) and then undoes some stuff.
I'm using "Call incoming" with the "Proceed when ringing" option to wait for the call, followed by "Call State?" with "Proceed when changed" and state "Idle" to detect when the call ends (returns to state idle).
I am finding that the "Call State?" block seems to exit immediately without waiting whenever the call is ringing. Typically it exits immediately with NO on the first call, and with YES on following calls. But in no case that I've observed does it block waiting for the state to return to Idle while the call is ringing.
I attach a test flo that demonstrates this behaviour, along with a screenshot of its log when receiving a call. The test flo just tries the "Call State?" 3 times in succession then gives up and waits for another call, but I've also tried it in a loop with a 1 second delay between and it always seems to exit immediately when ringing even though I've selected "Proceed when changed".
I had expected it to block until the call returned to state idle, whether having gone unanswered or been answered and then hung-up.
Am I mistaken about how this should work or have I discovered a bug?
Thanks and best regards
John