- Newest
- Most votes
- Most comments
You want to be careful on using Queue Metrics block in a looping fashion while in queue. The reason is the returned value is the avg wait time and NOT specific to the current contact. So if the queue time is 10 min, and the person waited 9 minutes already, using the block will return 10 min not taking the waited 9 min into account.
So you need to call a Lambda function to do some calculation to estimate how much longer they MIGHT have to wait. by checking the queue time stamp and current time.
These type of prompts with minutes usually make caller very anxious and possibly with big disappointment when it is not getting close and due to different conditions the wait becomes LONGER.
I normally suggest you play prompt like this: "We are having unusually long wait time..." or " current wait time is longer then usual" when the metrics return value that is above your normal SLA so caller know. You can create different ways of saying this and use the Distribute block to randomize which one you say. And offer callback to see if they will take it.
In the customer queue flow, you can use the loop prompts block with a timeout of 2 minutes. This will give you access to an interruption in the wait, where you use the Get queue metrics block to check the stats you need for offer callback.
Relevant content
- asked 3 years ago
- asked a year ago

Agreed with the concern of using "estimated" wait time, but my understanding was that the metrics will be used one time to make a decision whether to offer call back or not. Adding a Lambda for this simple logic is, in my opinion overkill. I offered the simple "no-code" answer based on the stated challenge they are trying to solve for. In principle, I never recommend playing back estimated time, but this was not the ask here.
That is a good advice. I will switch my flow accordingly.