Just to clarify the solution I shared was meant as a proof of concept to demonstrate that the approach works, not a fully optimized production ready build. The recurring state timing, how frequently the data table gets queried, and any additional optimizations like variable caching to reduce unnecessary lookups are all things each team should tune based on their specific call volumes and org wide API limits.
There are a lot of ways to extend and optimize this pattern depending on your environment and use case. The core concept is what matters here, being able to control the behavior of calls already waiting in queue through a simple data table update without ever touching Architect during an active incident, and that part is tested and confirmed working. Appreciate you engaging on it, the more the community builds on these ideas the better.
Original Message:
Sent: 05-11-2026 09:19
From: Kaio Oliveira
Subject: Calls stuck Waiting in Queue
Hi Chris
Regarding the part about querying the data table, OK, in each "loop" of the inqueueflow, if there is a change in the table, it will "read" the new value.
My question was related to the other comment, about altering the "inqueue flow" when the interaction is already in the queue and having the behavior of the new change.
What I usually do:
When I have a data table in InqueueFlow, I create a variable called "flow.readdatatable" and set its initial value to false.
Then I have a decision:
`flow.readdatatable == true`
The first time, since the value is false, it goes the "no" route and reads a data table.
Then I make a data update, changing the value of `flow.readdatatable` to true.
In the next loop, in decision, the value is true, and it won't be necessary to read the data table again, exit path "yes".
I do this to avoid exceeding the data table's usage limits.
-
I understand that my use case doesn't apply to you because I need to dynamically modify a data table.
------------------------------
Kaio Oliveira
GCP - GCQM - GCS - GCA - GCD - GCO - GPE & GPR - GCWM
PS.: I apologize if there are any mistakes in my English; my primary language is Portuguese-Br.
Original Message:
Sent: 05-09-2026 11:01
From: Chris Rodriguez
Subject: Calls stuck Waiting in Queue
Edit: Hey @Kaio Oliveira , totally fair to question it, so I actually built and tested it live. Here is exactly what I did and what happened.
I built a DR_Queue_Control data table in Genesys Cloud with three columns, DR_Status, DR_Message, and DR_QueueName, and one row keyed to EMERGENCY. The in-queue flow does a Data Table Lookup on every recurring state cycle and branches based on whatever DR_Status is set to at that moment.

The Architect flow handles three scenarios natively. Normal just plays hold music and loops. Message plays a dynamic TTS message pulled straight from the data table, then disconnects cleanly. Transfer does a Find Queue lookup and Transfer to ACD to route the caller to a DR queue without them ever hearing a message.

I then called into the queue, let the call sit in the queue holding, and while it was already waiting, I went into the data table and changed DR_Status from Normal to Message. No Architect republish, no touching the flow, just one field change in a data table. The call was live in the queue the entire time, as you can see here.

The message played on the very next recurring state cycle. The caller never got disconnected unexpectedly, and no one had to touch the Architect during the incident. Tested and confirmed working. 💪
@Matt Tucker tagging you, as you can use this as an example for a long-term solution if that issue ever arises again. Fingers crossed, it doesn't happen any time soon.