Meet your new Copilot 365 assistants: Skills agent, Interpreter agent, Project agent and the facilitator

Making your tasks easier for you: The other day I wrote about the new Skills feature coming to Microsoft 365 in the following weeks. But the Advanced tier os the new skills feature is just one of three out-of-the-box agents already in place or coming the next weeks and months (and many more in the future, I'm sure). This agents are designed to handle "everything" from simple tasks to complex multi-step processes where you choose to implement them. In this rather length post, I’ll try to break down each agent’s capabilities, why they’re useful, and how you can prepare to make the most of them. Skill Discovery (Skills Agent – Powered by People Skills) Let's start with the skills agent. In my previous post, I mentioned the release of the "skills feature" that will be released in two tiers. One basic, and one advanced. The advanced tier is driven by AI, more specific the "Skills agent". This agent is all about connecting people and expertise. The agent...

Normalization rules order

I was troubleshooting a customer's normalization rules for international dialing, when I came the following conclusion: The order of the normalization rules in the DialPlan is important when you have more than one possible match.

In my setup, I was trying to accommodate how users might possibly try to dial an international number in different ways. Some users might have figured out how to use the + in their contact cards, or when dialing, and those are of no concern. But others will still tend to use "old-style" with a prefix, or forget the "+" all together.

For this I "always" create two simple rules:
One matching any number string longer than 8 digits (No extension in Norway is longer than 8 digits), and adding a + to it. This will Normalize any international number not beginning with a "+" and adding the "+" before routing.
New-CsVoiceNormalizationRule -Identity "Global/NO_INT_Digits" -Pattern '^(\d{8}\d+)$' -Translation '+$1'
The second rule was made to accommodate those who were dialing with the international prefix in front of the number (00)
New-CsVoiceNormalizationRule -Identity "Global/NO_INT_Digits00" -Pattern '^00(\d{8}\d+)$' -Translation '+$1'

What I have not considered before, is the order of which these commands are written. If you enter them in the order I have shown you here, the first rule will always take effect, and the stripping of 00 in the second rule, will never work.

So from now on, I will always add the most specific rule first, then the general rule.

Here's the "complete" list I usually use here in Norway:

New-CsVoiceNormalizationRule -Identity "Global/NO_3_Digits" -Pattern '^(1\d{2})$' -Translation '+47$1'
New-CsVoiceNormalizationRule -Identity "Global/NO_4_Digits" -Pattern '^(18\d{2})$' -Translation '+47$1'
New-CsVoiceNormalizationRule -Identity "Global/NO_5_Digits" -Pattern '^(0\d{4})$' -Translation '+47$1'
New-CsVoiceNormalizationRule -Identity "Global/NO_8_Digits" -Pattern '^(\d{8})$' -Translation '+47$1'
New-CsVoiceNormalizationRule -Identity "Global/NO_INT_Digits00" -Pattern '^00(\d{8}\d+)$' -Translation '+$1'
New-CsVoiceNormalizationRule -Identity "$Global/NO_INT_Digits" -Pattern '^(\d{8}\d+)$' -Translation '+$1'

Hope this saves you from some troubleshooting: Plan your Normalization rules carefully :)