Configure Teams Auto Attendant using Teams Admin Center
Call flow
The new service number will be the Public Number called.
This number is assigned to the resource account linked to the Auto Attendant.
Only the option Redirect to External Phone Number can be used to route the call to the Service Number assigned to the AnywhereNow Attendant Console queue number as Microsoft has set filters that prevent third-party resources (like our calling bot endpoint queues) to be listed in the graphical Teams Admin Center portal as a voiceApp*.
This redirection can as well be set as Operator in Teams Auto Attendants configuration.
Example of an Auto Attendant scenario:
*PowerShell commands are required to configure this option in combination with our Attendant queues.
Step 1: Create a Resource Account
Microsoft Teams Admin Center - Org-wide settings - Resource Accounts
- Choose a display name
- Choose a Username not used in your tenant
- Assign the Resource Account type to Auto Attendant
Step 2: Assign a Virtual User License to the RA
To assign a license to the Resource Account, use Microsoft 365 admin center.
Go to
- Users - Active Users
- Search the resource account created
- In Licenses and apps, Assign a Microsoft Teams Phone Resource Account license
Step 3: Create the Auto Attendant
Microsoft Teams admin center - Voice - Auto Attendants
General Info
- Click on Add
- Choose a Name
- Leave the Operator Empty
- Select the correct time zone
- Select the language used
- Active or not Voice Inputs for advance menu options
Call Flow
- Choose a greeting message (upload it, or use text to speech)
- Choose the routing option redirect call to the external phone number or a voiceApp to the Attendant Console bot service account (queue number) you want the call to be distributed
Example of menu options
Set business hours and after-hours policy
- Define the opening hours for each
- Define the out of business hours policy
Holiday call settings
- You can add specific holidays with greeting message and actions
Find people
- Setup the Dial by name if needed
Step 4: Assign the Service Phone number to the RA
Assign the Toll/Toll-Free Phone number to the resource account via:
- Microsoft Teams Admin Center - Org-wide settings - Resource Account
- Click on Assign/Unassign
- Select Online
- Choose the number to assign
Configure Teams AA using PowerShell Commands
When configuring a Teams Auto Attendant, you can use different routing options: one of them is Voiceapp. Microsoft has set filters that prevent third-party resources (like our calling bot endpoint queues) to be listed in the graphical Teams Admin Center portal. PowerShell commands are then required to configure that option, in combination with our Attendant queues.
Warning
When copy/paste PowerShell commands, check there is no carriage return to send the complete command
Modify an existing Teams Auto Attendant
Collect the following information, i.e., Auto-Attendant Id and AnywhereNow queue resource account Id to forward the call to.
Resource | PowerShell Command | Information |
---|---|---|
AnywhereNow Attendant Queue (A365queue in the example) | Get-CSonlineApplicationInstance | fl | ObjectId |
Existing Teams Auto Attendant (A365 in the example) | Get-CsAutoAttendant | Identity |
Resource Account associated with Auto-attendant | Get-CSonlineApplicationInstance | fl | ObjectId |
In this example, we will modify an existing Auto-Attendant AnywhereNow with:
middott Play a welcome message middott Play a Menu o Option 1 redirects to an AnywhereNow resource queue as a VoiceApp
The main command is to set the redirect endpoint to our resource account created for the queue.
$callableEntity = New-CsAutoAttendantCallableEntity -Identity <replace with AnywhereNow Queue ID> -Type ApplicationEndpoint
You can for instance create a menu for the AutoAttendant. Multiple options are available, text to speech, using an audio file, create menu options ***helllppp***
Please refer to Microsoft website for PowerShell commands options.
In the following example, option 1 redirect to anywhere Attendant Queue using a Voiceapp:
$menuOption = New-CsAutoAttendantMenuOption -Action TransferCallToTarget -DtmfResponse Tone1 -CallTarget $callableEntity |
$menuPrompt = New-CsAutoAttendantPrompt -TextToSpeechPrompt "To reach our sales department, please press 1, or say operator to be redirected to our company switchboard" |
$menu = New-CsAutoAttendantMenu -Name "Default Menu" -MenuOptions @($menuOption) -Prompts @($menuPrompt) |
$greeting = New-CsAutoAttendantPrompt -TextToSpeechPrompt "Welcome to AnywhereNow Attendant Console" |
$callFlow = New-CsAutoAttendantCallFlow -Name "Default Call Flow" -Menu$menu -Greetings $greeting |
$autoAttendant = Get-CsAutoAttendant -Identity <Replace with ObjectID of the AutoAttendant> |
Assign that call flow to your AutoAttendant:
$autoAttendant.DefaultCallFlow = $callFlow
Apply the configuration:
Set-CsAutoAttendant -Instance $autoAttendant
You can verify the application in Teams Admin Center Voice - AutoAttendant Menu and modify the configuration if needed.
Result:
Create a new Teams AutoAttendant
The Creation of a Teams Auto-Attendant that will:
- Play a welcome message- Direct redirection to an AnywhereNow resource queue as a VoiceApp- Opening Hours are 09:00 to 17:30
Collect the following information, i.e., AnywhereNow queue resource account Id
Resource | Powershell Command | Information |
---|---|---|
AnywhereNow Attendant Queue (A365Queue in the example) | Get-CSonlineApplicationInstance | fl | ObjectId |
Use the following command to configure Teams AA options:
$operatorEntity = New-CsAutoAttendantCallableEntity-Identity <Replace with AnywhereNow Endpoint ObjectID>-TypeApplicationEndpoint |
$afterHoursGreetingPrompt = New-CsAutoAttendantPrompt-TextToSpeechPrompt"Welcome to AnywhereNow! However, you have reached us outside of our business hours. Please call us back Monday to Friday, between 9 A.M. and 5:30 P.M. Goodbye!" |
$automaticMenuOption = New-CsAutoAttendantMenuOption-ActionDisconnect -DtmfResponseAutomatic |
$afterHoursMenu = New-CsAutoAttendantMenu-Name"After Hours menu"-MenuOptions @($automaticMenuOption) |
$afterHoursCallFlow = New-CsAutoAttendantCallFlow-Name"After Hours call flow" -Greetings@($afterHoursGreetingPrompt)-Menu$afterHoursMenu |
$timerange1 = New-CsOnlineTimeRange -Start09:00 -end 17:30 |
$afterHoursSchedule = New-CsOnlineSchedule -Name"After Hours Schedule"-WeeklyRecurrentSchedule-MondayHours@($timerange1)-TuesdayHours@($timerange1)-WednesdayHours @($timerange1)-ThursdayHours@($timerange1)-FridayHours@($timerange1)-Complement |
$afterHoursCallHandlingAssociation = New-CsAutoAttendantCallHandlingAssociation-TypeAfterHours-ScheduleId $afterHoursSchedule.Id -CallFlowId$afterHoursCallFlow.Id |
$callableEntity = New-CsAutoAttendantCallableEntity-Identity <Replace with AnywhereNow Endpoint ObjectID> -TypeApplicationEndpoint |
$GreetingPrompt = New-CsAutoAttendantPrompt-TextToSpeechPrompt "Welcome to AnywhereNow!" |
$MenuPrompt = New-CsAutoAttendantPrompt-TextToSpeechPrompt"To reach your party by name, enter it now, followed by the pound sign." |
$menuOption = New-CsAutoAttendantMenuOption-DtmfResponseAutomatic-ActionTransferCallToTarget-CallTarget$callableEntity |
$Menu = New-CsAutoAttendantMenu-Name"Default menu"-EnableDialByName -MenuOptions @($menuOption) |
$defaultCallFlow = New-CsAutoAttendantCallFlow-Name"Default call flow" -Greetings @($GreetingPrompt) -Menu $Menu |
Apply and Create the Teams AutoAttendant:
New-CsAutoAttendant-Name "A365 AA" -DefaultCallFlow$defaultCallFlow-Operator$operatorEntity-CallFlows@($afterHoursCallFlow) -CallHandlingAssociations@($afterHoursCallHandlingAssociation) -EnableVoiceResponse -LanguageId"en-US" -TimeZoneId "W. Europe Standard Time"
Result:
The final steps are to:
- create a resource account to dial into that new Auto Attendant (step1 page 6)- assign a virtual license to it (step2 page 7)- validate the virtual user location to match the phone number location you will assign- assign an on-premise or online phone number either o using Teams Admin Center - Resource Account - Assign/Unassigno or via PowerShell commands (Set-CsOnlineApplicationInstance -onpremphonenumber if Direct Routing or Set-CsOnlineVoiceApplicationInstance -telephonenumber if MS Calling Plan)- link the resource account to the Teams Auto Attendant
Customization: Called ID Presentation
Using Teams AutoAttendant upfront may require change/anonymizing the number presented when dialing out from the Attendant Console.
Teams CallingID policy can be used to replace the caller ID for PSTN calls.
Create a CallingID Policy on Teams
Assign it to the Bot Endpoint
The latest Microsoft Entra ID Formerly known as Azure Active Directory (or Azure AD, or AAD) and Teams Powershell modules must be installed.
List the Calling Policy created
List the Endpoint Queue you want the policy to be applied:
Apply the Policy:
When dialing out via PSTN from AnywhereNow Attendant Console, the phone number will be +31 ***helllppp*** ***helllppp*** 4500 instead of +31 ***helllppp*** .4502