Monitoring for Queue Attendance

JiPa

Customer
Joined
Jun 2, 2026
Messages
9
Reaction score
0
Hello,

I would need to write a script to monitor some critical queues, which means if these queues are not attended in a certain timeframe and a potential caller would not get through, we need to get a preventive notification via SMS. - This script can check the status (lets say each 60 seconds)

I´ve already tried to use Claude to come up with a Powershell Script to pull the API but this only really got me so far to get lists of the Users set up in the queue but not if they potentially could be able to receive a call. Which means I need to check if they are logged in to a phone and actually active in the queue.

BTW it does not have to be necessarily a SMS, it can also be done by the 3CX App itself, but we need also to bypass DND Setting on the phone, and AFAIK this can only be done by setting up a specific cell phone contact as priority contact.

Maybe you can point me in the right direction?

Thanks
 
Use the SLA in the queues and enable the notifications?
 
  • Like
Reactions: Alphabetic
You could try looking to see if @VoIPTools Queue Notifier is of any good for you.
Which means I need to check if they are logged in to a phone and actually active in the queue.
this is what queue managers are for.
 
Use the SLA in the queues and enable the notifications?
we need to get a preventive notification via SMS

Unfortunately this is not a preventive measure, lets say all agents are off - the caller will already be forwarded to the Mailbox and not even trigger a SLA Alarm.

We need to send out a message before the fact. - Lets say "on call shift begins and no one is logged into the queue or ready to accept calls -> notify shift manager via SMS"
 
Unfortunately this is not a preventive measure, lets say all agents are off - the caller will already be forwarded to the Mailbox and not even trigger a SLA Alarm.

We need to send out a message before the fact. - Lets say "on call shift begins and no one is logged into the queue or ready to accept calls -> notify shift manager via SMS"
Sounds like a HR issue then..

But check out voiptools stuff, im sure he's got solutions here for you.
 
Sounds like a HR issue then..

But check out voiptools stuff, im sure he's got solutions here for you.

Yea sure can be a multitude of things, I am just about finding a tech solutions for the mentioned challenge, nothing more nothing less.

I seen the tools here multiple times already but DIY is preffered hence the post here. - I am sure some ppl might know how to call the correct stuff from the API? With that info I should be able to build around that.
 
@JiPa yes this is correct. If the call comes in the CFD can check if the agents are logged in or not.
You can also use this component " Set Extension Status " and if some extensions are in DND, you make them Available and loged into the Queue.
Ensure of course below option is NOT enabled.

1780475113399.png
 
  • Like
Reactions: Evolute IT
@JiPa yes this is correct. If the call comes in the CFD can check if the agents are logged in or not.
You can also use this component " Set Extension Status " and if some extensions are in DND, you make them Available and loged into the Queue.
Ensure of course below option is NOT enabled.

View attachment 51786
Thanks for the hint. Yes I know about this checkbox.

Ofc it will bring nothing if the Agent is somehow technically not available. So I would prefer the proactive check. In 98% of the cases the agents will handle it fine, the script is there just to alert in case the 2% occurs - so it would also be no regular daily tool to misuse it as a lazy "check" if anyone is online so it will not cause any daily SMS spam fest or anything like that.

I´ve come halfway through I guess. I have a vibe coded python script which can obtain the Token to use the API, then the script can get a list of configured agents inside a queue I specify. - I understand python a bit so I am not vibecoding blindly ofc.

So far so good, but I cant get the live data of said users, I used Claude.Ai and it says I should use the webapi for the live data, the XAPI seems to be only for the static configuration stuff. - thats what claude trying to do, using the webapi and the token generated for the XAPI hence the error for the livedata I guess.

Or maybe its completely wrong and the desired info sits in some other API path?

Any ideas?

I can post you the anonymized output here so you get to see what I mean and working on. Its in german but you get the idea - the function should be to check if the users which are in the queue are online AND enabled. if the sum of these variables is false for all agents in the queue, it sends the warning SMS

1780477037478.png
 
I have now managed to correct most of the errors which means the table is now filled with the real information about if the user is actually online (registered), also it can report back queue status but only the global queue status. If you are logged in a random queue it basically says you are logged in even if you are not logged in the desired specific one.

After some more research it actually seems there is no API endpoint for the selective queue check. - That basically voids all of this idea since thats a vital info for it. Correct me if I am wrong I would be happy.

I will try some different approach now and report back if it works.
 
I was now able to solve it via a Python Script which does a Web-Login via a headless Playwright Browser and basically extracts the info from the GUI - not happy that 3CX makes it so difficult but happy it worked :D
 
It seems to me that you want to be notified a few minutes before the time the queue is scheduled to receive calls so you can do something about it before calls are lost. On a schedule, use the API to see who are members of the queue, are they logged in, and what their presence status is. It is OK if the agent is on the phone because any callers will stay waiting in the queue. As you well know, the problem is when nobody is logged into the queue, or if none of the members of the queue are in "Available" status. This is all possible to get via the API.
 
  • Like
Reactions: Evolute IT
Its cool what you've done, but If these queues are so critical, why is there no queue manager checking these agents are available before they start?

Surely someone is still accountable for the agents in the queue.
 
  • Like
Reactions: Evolute IT
I forgot another criteria. I know you can be in "available" status even if your phone is not registered. You would probably want to add that to the list of checks to determine who is actually available.

We already have a tool that monitors queues closely. You might want to take a close look at our 3CX Queue Notifier tool. Its purpose is to notify managers when an SLA is exceeded. It can play audible tones or use text to speech using overhead paging. We also have a desktop popup that shows the status of all your queues when an SLA is breached.

1781281819063.png

I been considering adding a warning when no agents are available in the monitored queues. The monitoring and notification code already exists. I'll have the development team add this feature. It should not take long. This tool was due for a facelift anyway :)
 
  • Like
Reactions: accentlogic

Members Online Now

Forum statistics

Threads
111,832
Messages
589,282
Members
164,662
Latest member
DejanMDS