It’s the question that’s on a lot of Microsoft Teams admin’s lips. Or maybe stored in the back of their brain, in fear of using the AI word.
But yes, we can now automate Microsoft Teams and various parts of the provisioning process!
If you spend a ton of time configuring voice and collaboration policies in Teams, keep reading to learn how you can create simple, one-off configurations that mean you automate user onboarding and policy assignment.
Can we automate Microsoft Teams?
Thanks to Callroute’s auto-provisioning tool, you are now able to automate all policy assignments and management processes.
This means the next time you have a bunch of new starters, all you will need to do is create their Azure AD/Entra ID user accounts, sit back, and wait for the automation to assign all their Teams user and collaboration settings.
Here are the policies we can automate assignment of, straight out of the box:
- App Setup
- Audio Conferencing
- Call Hold
- Calling
- Call Park
- Channels
- Compliance Recording
- Emergency Calling
- Emergency Call Routing
- Enhanced Encryption
- Events
- Files
- IP Phone
- Meeting Broadcast
- Meeting
- Messaging
- Mobility
- Room Video Tele Conferencing
- Shifts
- Survivable Branch Appliance
- Video Interop Service
- Voice Applications
- WorkLoad
- Meeting Branding
- Dial Plan
How do you manage policies in Microsoft Teams?
Manual policy management is time-consuming and conducive to human error.
Microsoft provides three ways to manage policies in Microsoft Teams.
- Teams Admin Center
- PowerShell
- Policy Packages
Teams Admin Center
You can use the Teams Admin Center to assign policies to each of your users. While the user interface is relatively easy to use, the task of finding each user and then individually assigning policies to each one is a very time-consuming job.
The Teams Admin Center is suitable for those one-time, quick changes to one or two policy settings for a user. It isn’t suitable for bulk changes like when 100 new users join your company.
PowerShell
Using PowerShell allows you to create your own scripts that can assign policies to several users. This has been the preferred option for many years to handle Teams policy assignments in bulk.
Although scripts are a useful tool for handling bulk changes, they are often created for very specific workflows and any deviation away from what the script is written to handle requires either modification or another script.
Scripts also rely on a consistent input source that must be formatted in a prescribed way, and this often consumes a lot of manual time to collate and format the input data for it to be ready to be passed to the script for execution.
Scripting is also a skill. And one that may no longer be within your team. Over time, scripts will malfunction as Microsoft updates Teams and PowerShell compatibility.
What happens when scripts cannot be supported in-house?
They continue to be used to the point of failure and then manual workaround processes are introduced. This, in turn, invites human error and increases the amount of time you are spending on simple, repeatable, and easily automated tasks.
Microsoft knows that scripting methods, although powerful, can also be a source of time wastage in some companies. To improve service management, they released Policy Packages for Microsoft Teams.
Policy Packages
Policy Packages is a Teams Premium feature that allows you to create a logical group of policies that work together to meet the requirements of the target user. In Callroute, we call these User Personas.
Using Policy Packages, you can define a package that is suited to each type of user demographic within your company, be it sales, support, finance, etc.
Within each package, a certain policy from all the 38 different policy types in Teams can be selected that, when combined and assigned to a user, delivers their Teams experience.
The assignment of the package can be performed using the Teams Admin Center or by PowerShell.
Using Policy Packages within PowerShell allows scripts to become less complicated and easier to support without too much specialist knowledge.
However, you still require some scripting knowledge to keep your scripts up to date. But, crucially, as this is a Teams Premium feature, to use Policy Packages each user assigned a package must have the Teams Premium License assigned.
If you are using Teams Premium for its other benefits, then Policy Packages is a great value add feature that gives you the opportunity to standardize and optimize your Teams policy provisioning.
But, as a standalone feature, the cost of the premium license often outweighs the alternatives.
How long do Teams policies take to apply?
“It can take up to 24 hours for a newly created policy to replicate properly.”
This was the feedback I got when working with a senior support engineer on a Microsoft Teams policy issue, not too long ago. Then you need to add a further 24 hours for the user to become affected by the policy.
Isn’t that just…too long?
Yes. There are no two ways about it. That’s far too long.
Luckily, there are things that you can do to prove the theory on whether your tenant has policy sync issues.
The primary option would be to use the web client to validate policy restrictions in the first instance.
Being a web app, you’re getting the settings directly from the tenant pre-loaded into the web interface and therefore not impacted by the desktop application cache.
If it is not as expected in the web interface, then it is likely you haven’t waited long enough, or there are more issues that require a support ticket.
If your settings have not come through on the web client within one hour, it is probably time to troubleshoot and consider a support case.
If you’re getting the settings in the web client but not in the desktop client, then you can either wait 24 hours for the cache to refresh itself or clear the Teams client cache.
You can do this by browsing in Windows Explorer to %appdata%\Microsoft\Teams and deleting the Application Cache and Cache folder and logging back into Teams

This will force the fresh retrieval of your policy settings from your tenant. If this still fails, then you will need to raise a ticket with Microsoft.
The new, productive, and automated way to manage policies in Microsoft Teams is…
Callroute’s user persona feature!
You can group your Teams policies together to target each user type within your company. Create a persona for sales, support, finance, and any other department. Then apply to your users this persona in one click.
You may be thinking, isn’t this just Microsoft Policy Packages?
And you’re right, kind of.
Callroute user personas differ from policy packages in a couple of key areas:
- With Callroute user personas you can include phone number assignments as part of the persona. With Teams policy packages, you must assign a phone number to a user as a different task.
- With Callroute user personas you can automate their assignment to users without any scripting needs, unlike Teams policy packages.
As a bonus feature, Callroute user personas can be used to manage all your Teams users for free. OK, you’ll have to pay for the number management and automation elements, but manual assignment of Teams policies using user personas is a free feature of our product.
With Callroute user personas, you can combine both Teams policy and phone number assignments into one action, rather than two separate actions.
Using our number management solution, you can synchronize all your Teams phone numbers no matter who the provider is whether they are Microsoft, Operator Connect, or Direct Routing.
Using this information, you can define what number ranges to select an available number from when a user is assigned a persona.
For users with the correct Teams Phone licensing, they are allocated the Teams policies and a number configured in the user persona. If they are not licensed for Phone System, the user still receives the required Teams policies as configured by the persona.
How to automate voice and collaboration policies in Microsoft Teams
Callroute automates your entire user provisioning process on Microsoft Teams, so you save time, reduce errors, and remove manual inefficiencies.
All you need to do is add your new user’s Azure AD/Entra ID attribute then leave the rest to Callroute.
That means every time you have a new starter, or need to make a move, add, or change, you add assign them a persona and we assign all the relevant policies.

Say, for example, marketing hires 10 interns on the same day as you have a new sales academy of 40 starting. And it just so happens that your operations team has doubled from 25 to 50 to meet the new demand of all your marketing and sales staff.
That’s 100 new users to provision.
It’s one thing coping with the tedium of doing the same task over and over. But think about the time you could be spending on tasks where you add real value. Think of the time you get back in your day.
And what happens if you make a mistake (we all day; we’re human after all)?
One small mistake, caused by manual data entry, could lead to marketing having access to private documents your accounts team wouldn’t dream of sharing with anyone.
Callroute’s automated provisioning does all the heavy lifting, so you can get on with your job.
Step 1 – Create your users
Callroute’s auto-provisioning focuses on user enablement within Microsoft Teams. You will still need to create your user account using your existing process. This could very well be automated by HR or ITSM systems you already have.
When creating the user account, make sure their Active Directory attributes are accurately configured to represent who they are, which department they are working in, what role they are performing within your company, and any other important information that can be used to identify which set of Teams policies they should be assigned.
Once created, synchronize your Active Directory users to Azure AD/Entra ID.
Step 2 – Create your Callroute automations
Open Callroute and create a new automation.
Give the rule a name, then, under the trigger conditions, configure what Azure AD attributes are going to be used to determine if a user matches the rule.
For example, this could be ‘department’, ‘country’, ‘office’, ‘city, ‘job title’ etc.

Finally, select the user persona you want to assign to users matching this rule and save.
Step 3 – There is no step 3
After saving, auto-provisioning will take care of the rest on the next schedule which runs hourly.
Or if you are impatient, you can execute it manually.