On to bigger and better things!
Teams call queues are replacing a lot of our old "ring groups". For those not in the know, these were numbers you could dial and it would call a whole group of people. Pretty standard stuff in the telephony world.
Teams telephony allows the same thing. We'll start with a basic "call queue" and move onto the more complex auto attendant a little later as it's not yet 10am at the time of writing and I'm not sure I've got it in me just yet.
Firstly, lets head to: https://admin.teams.microsoft.com/
Next, we need to head to the "Resource accounts" section, contained within the "Voice" section. You are forgiven if you immediately clicked into "Call queues" section as soon as you got into the "Voice" section; we do need to go there, we just need to lay the groundwork first.
A "resource account" (RA) is the entity that holds the phone number that users will dial to call their desired group of people. It is possible to create a call queue without a resource account and it will work as intended but not have the capability of being dialled from an external phone number. If this is what the user desires, explain to them that the call queue will only be able to be called by searching for the name of the call queue within the Teams client.
Call queues with a resource account attached can also be searched for in Teams and called through the Teams client as well, see the example above.
Call queues without resource accounts are pretty rare so we'll press on with the resource account creation - if the user doesn't need one, skip ahead to the call queue creation section, I'll be sure to highlight it so you know where you're going.
Once you're in the "Resource account" section, hit the "Add" button.
Once the next window opens you'll have 3 entries to change: "Display name", "Username" and "Resource account type".
Bear in mind that the user will never see the names of these accounts, this is all for admin management so if you make a typo don't fret too much, but we want to name them certain things so they're easily identifiable.
For this example, I will input the following:
Display Name: Will Test Ring Group
Username: WillTest.RingGroup_CQ_RA@colch.onmicrosoft.com
Resource Account Type: Call Queue.
The display name is just the identifiable name of the group that will be displayed in the "Resource accounts" section. Generally it makes sense to call this whatever you want your call queue to display as in Teams so that if any admin needs to be performed on the queue, or on the RA, you know immediately what RA and therefore what number is assigned to it.
The username is a little more unpredictable. We start with our standard naming convention of a "." separating two words, or two groups of words in this case and then we show that this user is a call queue resource account "_CQ_RA". This is for easy identification, as when complete, the resource account sits in the "users" section of Office 365 admin. If you have other user accounts relating to that department then it's easy for them all to be jumbled up and you lose track of what's what.
By default, the affix (the bit after the @) will be set to "colch.mail.onmicrosoft.com". We need to change this to "@colch.onmicrosoft.com".
The resource account type is set to "call queue" as that is what we're making. If we were making an "auto attendant" we'd change it to that - these will be covered in another article.
Once you've input that information, hit "save" and you'll get a nice green banner across the top of the page letting you know it has been created successfully. I was too slow to get a screenshot of that but trust me, it's there!
And thar she blows! As you can see from the "Phone number" column in the below snip, there's nothing assigned. Let's change that.
BUT WAIT
Before we can assign numbers to the resource account, we need to assign it a "Microsoft Teams Phone Resource Account" license.
In a separate tab, head on over to M365 Admin Centre and select the "Users" section and then the "Active users" section from that group of options.
We're searching for "Will test ring group" (the username of the RA we just created). Once it appears, click the display name to open up the user pane.
Once it opens, go across to the "Licenses and apps" tab along the top and scroll down until you find "Microsoft Teams Phone Resource Account". Tick that box and hit "Save changes".
Now back to the Teams Admin Centre tab we go!
Select your resource account by clicking into the void to the left of the display name. When you're hovering over it, a grey tick will appear.
Now hit "Assign/unassign" at the top. No prizes for guessing what this allows us to do!
As with all things Microsoft, it can take a few minutes for the license to assign and the change in info to trickle through to TAC (I'd allow up to 15 in case it's a very slow day) so if you have a hankering for a cup of tea or you need to put a wash on, go and do that now while the license assigns.
Now that you're back and refreshed, you should be able to change the "Phone number type" drop down menu to "Operator Connect".
Next up, select your desired number. Please bear in mind that the numbers shown in this drop down will only be numbers designated as "voice app" numbers. If you need a specific number assigned to a call queue, you'll need to email [email protected] at Gamma to convert the number from a user number to a voice app one.
We cannot perform this action ourselves, we have asked.
Ignore the last box - because we create the RA before the call queue, we assign the RA to the call queue when we're creating it. This makes more sense to me, personally, as when you are creating the call queue you can have the requestor on the phone with you while you create it should you wish and go through all the options with them. Once you hit "Submit" at the end of it all, it's done.
Save the changes you've made to the RA and it will take you back to the resource account screen. Give the page a refresh, search for your newly number assigned RA and it should be sitting there with a number in the "Phone number" column. If it's not instant, just give it a few mins.
Now on to creating the actual call queue. The fun part, if such a thing can exist in the world of telephony.
If you are creating a call queue without a resource account, read on from here
We just need to hop up two sections from "Resource accounts" to "Call queues"
Hit the "Add" button up the top left and lets get to it
General info
There's a lot to go through for this it so buckle up. I
First things first, we need to "Add a name for your call queue", as it says at the top of the page. For this one, we'll call it "Will Test Ring Group". We use "Ring Group" rather than "call queue" as all our historic call queues are called ring groups. This means less upset for the users. As long as in ICT we remember that they are call queues, especially when discussing with Microsoft and Gamma, then we're golden.
As mentioned earlier, we're going to mirror the name of the call queue to that of the RA.
"You haven't added any resource accounts yet". Right you are, TAC, let's hit the Add button and search for the RA we created earlier. Hit "Add" on it and then hit "Add" again.
As an aside, you can have multiple RA's feeding the same call queue. That means multiple numbers calling the same group of people.
One thing that is good about this process is the little information icons next to each heading are actual helpful. I'm sure we've all had a message at some point like "An error has occured". Very helpful, very informative. This is the opposite so be sure to have a read of them as you go if they are not obvious.
We often refer to this as "Number masking" and it is primarily used by users who are dialling out to members of the public from their call queues, such as accounts payable, who may want to mask their personal number. Adding a resource account to this section allows for the user's designated as agents to choose which number to display to the recipient of their call. Generally, you'd want to add the same resource account to this section as the one assigned to your call queue, so if the recipient of the call dials back it comes through to this call queue.
For this example, I'm going to leave it off.
Next up we need to set the language.
Hit next once that has been set and we're on to the next step.
Greeting and music
Next up is the "Greeting and music" section. It's all pretty self explanatory so I will only explain things that aren't nicely explained by the information icons in the process.
Generally we want a greeting message on our call queues, something to let the caller know they are through to the right team.
This will vary depending on the request of the user i.e. do they want a voicemail, do they want unanswered calls forwarded to another call queue or a user.
A generic one to put in place prior to the user tweaking it would be something like:
Thank you for calling the X team. Please hold and one of our team will answer your call as soon as they can.
This can be expanded if a voicemail is needed.
If we are unable to answer your call, please leave a voicemail stating your name, contact number and the reason for your call. Thank you.
We've all been on the receiving end of a pre-recorded message so I trust you to create something suitable based on the needs of the user.
Call Answering
If you can, I think choosing a Teams channel to answer your calls is probably the way forward. These will be owned and managed by a user, an admin of the Teams channel, and all users within the channel will be automatically in the call queue. This leaves user management up to a team manager or supervisor and not ICT. More ownership for the users and not for ICT.
If you want it completely managed by ICT, then you can manually set users via the "Choose users and groups". This is how we do it.
We just enter the users rather than a group.
It's a good idea to initially only place yourself as an agent to answer the call queue for the purposes of testing. You'll need a mobile to call it from at the end, rather than your own Teams number, or a willing colleague who will help you with your testing.
Keep the "Conference mode" toggle on. This is on the advice of Gamma.
Agent selection
A couple of pointers for this section.
Read the information icons and check what each type of calling does. I would say that if the team is primarily home based, then attendant routing is the one to set it as. It means all members of the call queue will be called at once. This would provide the best possibility that the caller is answered.
Presence based routing is generally advised to be turned off. If this is not turned off, the call queue looks at the agents Teams status to determine whether they receive a call or not. However, if the agent has scheduled meetings, or sets time in their calendar to focus on specific work, they will not receive calls for this period.
For example, from 9:00 - 13:00 on this day I would only have 1 hour and 15 min period where calls would actually come through to me.
Call agents can opt out of taking calls gives agents a toggle in Teams settings under "Calls" that allows you to not receive calls for certain call queues. Below is an example of how it looks for a user.
Call agent alert time refers to how long the call can remain unanswered before it is routed to the next agent.
The default is 30 seconds but we like to have it as 15 so it keeps the calls moving and the caller gets to a resolution quicker.
Call overflow handling
We don't particularly need to worry about this section as none of our call queues will receive a large amount of calls at once, mostly because the call queues are not public facing; if there was a large incident impacting a service there would be wider comms to the organisation.
Don't forget, under the "greeting and music" section we can update the messaging on a whim and the change is instant. No more delays in getting the message across: "We are currently aware of an issue effecting...". Text to speech is fantastic.
The Microsoft description should be enough to explain your way through this one.
Call timeout handling
This is the only "handling" section that we need to properly edit and how we edit it will depend on what the user wants.
The wait time depends on how long the agents want users to wait on hold before the call is answered or passed off to their chosen next step. Generally we choose 15-30 seconds, 15 being the more favourable number as 30 seconds is actually quite a long time to be sitting on a call waiting.
Change the radio button from "Disconnect" to "Redirect this call to" to get a dropdown menu of redirect options.
I'll only go through one option here, as it's the most complex to create (though not very complex, just by comparison to the others) and also annoyingly the most requested and that is, of course, "Voicemail (shared)". Please bear in mind that the department/group of users who have requested this call queue MUST have an existing shared mailbox already. This should be the case for most, if not all, of our existing departments.
Before showing off what the perfect options look like, you may have clocked that "Voicemail (shared)" references "Microsoft 365 group". The group is the vessel your call queue uses as the recipient of the call queue's voicemail. Why there isn't an option to send the voicemail to a shared mailbox, I don't know, or a free text field where you can type an email address. But fear not! We can get around this. There's always a way.
We need to head over to Microsoft 365 admin centre and head to "Teams & Groups" and then "Active Teams & Groups".
Next we need to click "Add a group" and we're going to keep the default setting "Microsoft 365"
Under the "Basics" section we need to name our group and enter the description of the group. We want to name the group something relevant so the group is easily identifiable. We'll call it "Will's test ring group VM". This lets any admins looking at groups know what the group is for at a glance. So for a proper call queue it may say "Accounts Payable Ring Group VM". This can be expanded on by the description field to include something like:
This group allows for the delivery of voicemails from the Will Test Ring Group to the "Will Test Ring Group" shared mailbox (*the email address*)
Next step, onwards to "Owners"
For the owners, lets pop your friendly ICT/Teams admins in there. This ultimately gives us the power over the group to change it as we see fit. Users won't see or know the group even exists.
Just click "Assign owners" and add whomever is appropriate. In our example it should be myself (Will), Ben and Glen. It's a straightforward screen so you don't get a screenshot, sorry.
On to the "Members" step
This is one of the important steps that are key to making this work.
For the member you need to add the previously mentioned shared mailbox
Sadly I didn't create a "Will Test" shared mailbox prior to writing this, but I've added the ICT mailbox just so you get an idea.
On to the next "Settings" section. This is the penultimate important part.
Set the group email address to a format similar to the below example (WillTest.RingGroup_VM).
The privacy setting needs to be changed from "public" to "private" so it is not searchable for users.
Untick the "Create a team for this group" option as we don't want another Team clogging up the environment and it is completely unnecessary here.
Hit "Next", review the settings on the final page and then hit "Create group".
You should see a nice green tick. Hit "Close" and you would think that we're done but the final step is the most important. Without it the whole thing voicemail set up fails.
After closing the previous page you are back to the "Active teams and groups" page. We need to search for the group we have just created.
Click the name of your group and then hit the "Settings" tab across the top of the options.
There are several settings that need changing. Tick the below two options, then change the drop down menu to "Only people in your organisation". There won't be any external file sharing going on from the group, but we do it because it's the right thing to do.
The most important tick box, the one option that underpins everything we have just done, is "Send copies of team emails and events to team members' inboxes".
Without this tick box being on then the voicemail emails will sit in a group that no one has access to. The ticked box allows for the voicemail email to hit the M365 group and then be fired off to the members of the group i.e. the department shared mailbox.
Now head back to TAC and search for your newly created group. Click it, assign it. Flick the switch to "Transcription on" if you want a transcript of the voicemail message delivered to the shared mailbox along with an audio file. You likely do, so flick it on. In fact, you definitely do.
Skip the voicemail system message and write a little greeting of your own. When you are satisfied, hit "Next".
Final step, we're almost home.
Authorised users is a relatively new section that allows for certain users to make changes to their call queue settings like greetings etc.
This is more prevalent with auto attendants as opening hours may change for bank holidays etc.
Click the "Learn more" button up the top right to get more information on it as there is policy creation involved and we could go on and on for hours about that.
Once that is set up, give the ring group a call.