Auto Attendants and Call Queues: Holidays, Agent Opt In/Out and Serial Routing in Preview

As part of the ongoing updates and improvements in Skype for Business Online, we have recently announced support for Auto Attendants and Call Queues on split-domain, Cloud Connector Edition and OPCH tenant...


Today, we are pleased to announce following Phone System (formerly known as CloudPBX) updates in Preview: Holidays in Auto Attendants, Serial Routing and Agent to Opt In/Out in Call Queues. Additionally, the granularity of the Timeout option in Call Queue has been reduced, allowing our Preview program customers to set sub-minute maximum call wait times in Call Queues.


Auto Attendants

A maximum of 20 Holidays can be added to an Auto Attendant using holidays tab in UI or cmdlets. Each Holiday can have an (optional) greeting and a call handling option selected by the Admin:




Up to 10 different date ranges can be created for each Holiday in Auto Attendant. Holidays can span multiple days, and for each Holiday, you can specify:

  • Start date and time
  • End date and time



Please note that nesting Holidays is allowed. For example, you could nest multiple Holidays with different Greetings and Call handling options within one "holiday break" time frame:

  • December 24 through January 3: "Happy Holidays! Our offices are currently closed. We will reopen on January 4th."
  • December 25: "Merry Christmas! Our offices are currently closed. We will reopen on January 4th."
  • January 1: "Happy New Year! Our offices are currently closed. We will reopen on January 4th."

You can also export your Holidays into a .csv file and import them into a different Auto Attendant. This export/import functionality is available in PowerShell only:


Export Holidays into a .csv file:

 Export-CsOrganizationalAutoAttendantHolidays [-PrimaryUri] <Uri>

Import this .csv file into another Auto Attendant:

Import-CsOrganizationalAutoAttendantHolidays [-PrimaryUri] <Uri> -Input <byte[]>


For more information on Holidays in Auto Attendants and Import/Export PowerShell cmdlets, please refer to Auto Attendant documentation here.



Call Queues

Agent Opt In/Out option

By default, a Call Queue will send calls to all its Agents; only the Agents who are Offline (Signed off) or have their Presence set to Do Not Disturb (DND) will not be called. The new Agent Opt In/Out option would allow Agents to control which Queues can send them calls at will. This option is now available to our customers in Preview both in Admin UI and PowerShell cmdlets: 

CallQueue1.pngAgent Opt Out Option


If Agent Opt Out option is enabled in a Queue, the Agents can make themselves available (Opt In) or unavailable (Opt Out) for this Queue at will. This option is available to both Online Agents and those hosted on-premises using Skype for Business Server 2015 or Lync Server 2013.


By default, all Agents are Opted In for their Queues. To Opt Out to make themselves unavailable for a Call Queue, Agents can use Call Forwarding Tab in their Windows Desktop Skype for Business Client and select Edit settings online link:






This link will open their personal User Settings Page in Office 365, where they can regulate which Queues can send them calls:





Serial Routing

In addition to default Attendant Routing, which sends the call at the head of the Queue to all the available Agents at the same time, a new Serial Routing option has been added in Call Queues in Preview.


If Serial Routing is chosen, the Queue will send the call at the head of the Queue to the Agents one by one, starting from the beginning of the Agent list. If an Agent dismisses or does not pick up a call, the call will ring the next Agent on the list and will try all Agents one by one.


CallQueue4.pngSerial Routing Option


Note that both Serial Routing and Attendant Routing will skip over and not send calls to the Agents who are:

  • Offline (Signed off their Skype for Business Account)
  • set their Presence to Do Not Disturb (DND)
  • have Opted Out from this Queue


Set maximum allowed call wait time in seconds

It is possible now to set the call Timeout in the Call Queue in Seconds using Admin UI and cmdlets. This provides a finer granularity for the call flow management in the Queue. The following timeout intervals can be selected: 0, 15, 30 and 45 seconds.


CallQueue5.pngTime out in Seconds


For example, this makes it possible to setup the call flow so that if a call is not answered by an Agent within 30 seconds, it will be sent to an Auto Attendant, where the caller will be presented with a choice of automated menu options:







You write that these are "updates in Preview" -- we don't see these in the Skype Preview "Product Opportunities" or in our current Auto Attendants / Call Queues.


Are these still rolling out, or is there a way to get our tenant opted into them?

Senior Member

I'm anxious to get going with this and very happy to see you added the start time as an option. Our holidays frequently start with an early office closure the day before so this is great. No more waiting until the last minute to create the holiday schedule.


I do have one question. The auto attendants in Exchange would play the new greeting and then proceed to the after hours menu system for the current auto attendant. Is that still an option?


How does one access these 'Preview' features?  We are signed up for the First Release, but don't see these options.  Also, I'm in the middle of testing this out, so I'm not sure if this is possible yet, but we need our call queue to be forwarded externally if no one answers (3rd party answering service).  Is this possible without using up an E3 license, Phone System license, and domestic calling plan?  We just want to forward unanswered calls to an 800 number.  Also interested in seeing the calling features in Teams, but don't see that option either.

Senior Member

Damon - I have similar issues that I've had to workaround by consuming more licenses. For what it's worth, I've been able to use E1 instead of E3. It's not much but it adds up (I've had to create several of these workaround accounts and am still adding more).

Occasional Contributor

@Marina Kolomiets I'm excited to see that serial based routing was enabled for call queues.  Is there a way to order users within a group so you can define what user rings, first, second, third, etc?  It appears members of a group are ordered by username and are not able to be ordered any other way.  Any thoughts as to if you will have a way to order members of a group so you can define what order it rings users when serial routing is enabled?


Is there any way to re-order the agents list for Serial routing?

We still don't see this on our tenant -- or as an option at skypepreview.com -- is there any way we can get these preview features?

Occasional Contributor

Like @Nicholas Semenkovich we are not seeing some of these features.  I see serial routing, the second filtering, and opt-in/opt-out but I do not see Holiday scheduling.  Are these features being rolled out collectively or individually and if individually any idea when our tenants should see the Holiday schedule?

Occasional Contributor

Would also like to know how we can opt-in for these preview features ?


This seems to still require a 'Service Number' why can't it use a SIP number?

Occasional Contributor

As far as my understanding goes, Microsoft’s assumption is that a number associated with an AA or CQ will receive a higher call volume than a regular user number.


FWIW: Changing a user number to a service number takes one e-mail; in my experience they deal with those requests pretty fast!


Only if the numbers are from Microsoft, I'm using CCE.

Regular Contributor
Occasional Visitor

I too am struggling to find these features. I've been a member of the Skype Preview insider program for around a year now but sadly cannot find any of these features on our tenant. I've assigned all available products to our organisation profile but still no joy. 


Can anyone assist? 


365 support directed me to submit a bug report for missing features at https://www.skypepreview.com via this link: https://www.skypepreview.com/BugManagement/GetBugListDetails/


FWIW, I put in a report Friday about missing Holiday Hours in AA and have yet to get a tech assignment yet.

New Contributor

@Justin KingstonI'm on the verge of deploying SfB across my org and the reduced call queue waiting time is a feature we really need, especially for our emergency numbers which are used for life and death situations. I really hope this can/will be activated for us soon. Thanks for the heads up, I'll go and check my bug request to see if any progress has been made. 



Senior Member

I have also put in a report Friday about missing features bug, to see if we are able to get access to the preview.


@Robert Symmons The CQ tweaks help (I can verify the sub-minute queue times work), but it's definitely still in beta-mode with features missing (can't re-order serial routing in queue that I've seen yet, etc).  Life & death, I'd absolutely hold off until it's GA; I'm not even spinning up a CQ for my helpdesk call line yet because I don't fully trust it yet.

New Contributor

@Justin Kingston


Glad to hear they're working on your end, but could you imagine waiting in a queue for 1 minute before either being passed onto another queue or waiting to leave a voicemail. This is common functionality for us and someone waiting to get in touch with a medic and needing to wait 1 minute to leave a voicemail just doesn't sit well. In all honesty, I'm bewildered why MSFT haven't implemented PBX basics by design but I'm hoping for the best :) 


Serial routing isn't something we'd use but the feature sounds great for a helpdesk scenario. 

Senior Member

Serial Routing and Set maximum allowed call wait time in seconds just went live in our tenant. Still hoping the Opt In/Out follows shortly.


I was informed this is going GA this week. We are not in the Preview program for these features.

Serial Routing, Timeout in seconds and support for Agents in O365 Groups for Call Queues have indeed gone GA today


New Contributor

We managed to get on the Preview Programme so have been using the new features for about 2 weeks. Happy to say they are working well, with the exception of the SIP URI ID showing for some queues instead of the friendly name. It seems to be intermittent but for the most part everything is great! 


Occasional Visitor

Is there any word on when the Opt In/Opt Out feature will go live?

New Contributor

@Patrick Callahan I ended up creating separate security groups specifically for phone agents, it helped with call transferring too as our 365 tenant is a bit of a mess. Ended up creating duplicate team groups with the _Phones extension on the name so that people were not passing calls to similar identities based on their exchange address book/cache. 

If a user is away, the calling queue still transfers the call to the user.


Is there a way if we can configure the Serial Routing in such a way that if the user's presence is available, then only the call will ring on the user's SFB Client?




Serial Routing

In addition to default Attendant Routing, which sends the call at the head of the Queue to all the available Agents at the same time, a new Serial Routing option has been added in Call Queues. With Serial Routing, the call at the head of the Queue will ring Agents one by one, starting from the beginning of the Agent list. If an Agent dismisses or does not pick up a call, the call will ring the next Agent on the list.CallQueue8.png Note that both Serial Routing and Attendant Routing will not send calls to the Agents who are Offline, or have set their Presence to Do Not Disturb (DND).


API for calls in queue would be nice.

Senior Member

@Adam Morgan The number of calls in the queue can be returned with a powershell cmdlet.


I built a simple powershell form gui that outputs number of calls in queue's and it will display queue's that the agent belongs to.


 Get-CsHuntGroup | Where-Object {$_.Agents.SipAddress -like "*$username"} | Select-Object name, statistics


returns this output:skypecallqueue.PNG



 Do not see any further details as to what caller id's or anything in queue, just current queue size

Frequent Visitor



Calls that are in the call queue still ring an agent for quite a while before being handed off. Is there a way to set the amount of rings before the call is passed on so that it matches the 15 second forward rule. So at the moment it rings an agent for around 30 seconds minimum. 

Senior Member

30 seconds is still the minimum time a call can wait in a queue even though I have selected 15 seconds. This is unacceptable. Our previous on-premise PBX allowed us to set the time in milliseconds. I'm not saying we need all that in S4B, but even seconds shouldn't be a drop down. We should be able to enter any amount of seconds (for better or worse) that we want. At a minimum 15 seconds needs to function correctly. 30 seconds is almost 10 rings. In a "live answer" situation during business hours we want about 4 rings before it rolls to the backup queue.