Holidays for Agents based on Calendar

we are running a call center using IVR and some call flows (implementing DynRoute, Queue, Calendar and TimeConditions).
At the moment the holidays for working agents are set up manually by adding or removing their extensions to/from call queues (including pausing an agent using fop2 front-end) which is basically a manual work and it does not stand between machine restarts.
So, what I am looking for is a smart way of using calendar to control if an agent is available for taking the call or he is off the office - so that it is possible to plan the holidays in the calendar to prevent calls to go to agents mobile.
Is there any mechanism available other than creating a personal queue for an agent and putting the TimeCondition in front of it - as this will severely complicate the call balancing among available agents?

Each calendar is unique to the agent?

If yes, the only thing that is in the realm is that each extension’s find me follow me can be tied to a calendar. I don’t think this would work unless the agents were taking calls via FMFM.

Likely you would need to make something custom, that can review each calendar or a master calendar and log the appropriate agents out of the queues.

The queues pro module by Sangoma also has a Lazy Members feature, which will auto pause agents that are not answering calls. You can take a look at that and see if it might meet your needs.

Truly the least amount of effort/cost might be to make the agent responsible for logging out.

Can you not use dynamic agents instead of static ones? That way when an agent begins work they log in to take calls and when they leave they log out. Seems like the exact scenario that dynamic agents was created for.


No, they want to use a single calendar for all call-center scheduling, including vacation for agents and disabling hot-lines during non-working hours (which is now made using Calendar with TimeConditions).

Yes, I’m considering such a thing but I’m not sure how I could interact with the calendar with the external script. Anyway, this deserves some researching.

Well, the helpdesk team wanted the solution to be convenient (we moved away from the commercial system like 4 years ago which had some drawbacks that were meant to be solved), so as an addition to FOP2 interface and dynamic agents, they also requested that if the agent is not available at the desk, the call should be rerouted to his mobile (which is a different endpoint - the call is routed outside the system).
Now, most of the people do not care to log-in but just picks up the calls on their mobiles. This is also a kind of an organizational issue, but I am not sure if that can be altered :upside_down_face:

I go through this all the time unfortunately, is it a technological solution or managerial that we need? Sounds like the managerial expectations here are a bit out of line.

“You want the job?, log in and out… that’s the job…” Managerial solution

Just because a user is a dynamic agent doesn’t mean you can’t have FMFM work while they are logged in. FMFM is an extension setting, if it’s on and they’re getting queueu calls then it should work.

Another option instead of FMFM is to have the users that need it use mobile apps like ClearlyAnywhere or Sangoma Connect. That way both their desk and cell phones will ring and they can log into/out of the queue no matter where they are.

If you insist on going the calendar route you may want to look into calendar groups. I’ve never used them myself as I’ve never found a need (that I know of) but I’m not too versed on their purpose of function TBH. It’s on the to do list but way down…

1 Like

Long short is that what you are looking to do is not something that FreePBX does out of box, nor is it something that I’ve ever seen posted about. I am sure what you’re wanting to do is possible; however, I do not think it is a good idea, truly. To me this falls into the basics of work (turn your computer on, log into your applications, etc.). You will always have some sort of maintenance to keep something like this going.

Because of the uniqueness of what you are asking, you’ll likely need to develop your approach yourself, vs. something someone else has already done.

Ideas? Is your calendar system Microsoft? If yes, you could look at using Power Automate to review the calendar entries and fire off API commands to the FreePBX box depending on what it sees.

Outside of all of this, you’re going to have to just try stuff and see what works for your very unique use case. If you have specific questions on a component of FreePBX, I am sure you’ll be able to get help here as you go.

Many thanks for your comments.
I’ve just tested the simple approach that should fulfill all the requested needs.
In our call flow we are using a main queue with “desktop” agents and the backup queue (to which the main queue fail-overs) with mobile numbers. So I replaced mobile numbers with additional virtual extensions that have FMFM configured. As FMFM allows to be driven by internal calendar, it is possible to disable FMFM if agent is on planned vacation. As he is not logged to the “desktop” phone, he is not available in the “main” queue and as the calendar says, he does not get the calls to his mobile.

The setup would be a bit simpler if FMFM worked on the main queue even if the user is not logged-in, but unfortunately this does not work (the member is Unavailable in the queue and the calls aren’t handled by this extension’s FMFM) as mentioned here

I’ll try this approach in our environment and see if the helpdesk manager is satisfied :wink:

1 Like

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.