I have a complex routing flow that uses the ‘Find User’ action to check if a specific ‘Account Manager’ (a User ID retrieved from a Data Action) is currently available before transferring the call.
The logic is: If Find User returns a user who is On Queue → Transfer to that User. Else → Transfer to the general Queue.
Lately, agents are complaining that calls are going to the general queue even when they are sitting there ‘On Queue’ waiting for work. I’ve checked the flow logs and the Find User action is indeed returning ‘Not Found’ or ‘Offline’ even though the agent’s presence status in the UI is ‘On Queue’.
Is there a cache delay for the ‘Find User’ action? It feels like the flow is seeing stale presence data.
There is definitely a slight delay (around 5-10 seconds) between a user changing their status in the UI and that change propagating to the internal cache that Architect queries. If an agent just went On Queue, ‘Find User’ might miss them.
But more importantly: are you checking the ‘Presence’ or the ‘Routing Status’? A user can be ‘On Queue’ (Presence) but ‘Communicating’ or ‘Idle’ (Routing Status). ‘Find User’ gives you the Presence, but if they are already on another call, they won’t be able to take the transfer anyway.
I’ve handled dozens of these callback and direct-transfer implementations. The ‘Find User’ action is notoriously sensitive to how the User ID is formatted. Ensure your Data Action is returning the full guid (e.g., 8867a...) and not just the email address. If you search by email, it’s a much slower lookup and more prone to timing out in the flow.
Also, check your ‘Division’ settings. If the Architect flow is in one Division and the User is in another, the flow might not have permission to ‘See’ that user’s status unless the flow’s execution role has ‘View’ permissions for all divisions.
To build on the Division point: I’ve seen this in GC + Bold360 integrations. If you have multi-org or complex division logic, the ‘Find User’ action can return ‘Not Found’ purely due to scoping.
As a test, try using the ‘Evaluate Schedule’ or a simple ‘Wait’ (1 second) before the ‘Find User’ call. Sometimes just forcing the flow to pause for a second allows the platform’s presence cache to catch up. It sounds crazy, but it works for about 80% of these ‘Stale Data’ issues!