Hello. We are managing a very large contact center in Tokyo and we have a strict requirement to monitor our Service Level Agreement for our VIP customers in real time. The standard alerts in Genesys Cloud only check the overall queue SLA. We need to trigger an alert if a specific ‘Platinum’ customer waits for more than thirty seconds, even if the overall queue is still green. I am trying to use the Analytics Detail API to poll these specific interactions, but I am worried about hitting the rate limits with such high frequency. How can I build a granular SLA alert system that scales to eight hundred agents?
My agents are already stressed enough without another ‘Platinum’ alert popping up on their screens! But I get the requirement. If you try to poll the Detail API every few seconds for individual calls, you will definitely get blocked. I have seen our screen recording extension fail because of too many API calls.
You should use the Notification API instead. Subscribe to the queue conversation topic and check the attributes as the calls arrive.
It is way more efficient than polling.
I built something similar for our healthcare group. Five9, That is right about the notifications. You can use a Lambda function to listen to the v2.routing.queues.{id}.conversations topic.
When a call comes in, the notification contains the participant data. You check the ‘Tier’ attribute, and if it is Platinum, you start a timer.
If the call is not answered in thirty seconds, the Lambda can send a message to your supervisor’s Slack or Teams channel. It avoids the analytics API entirely for the real-time check.