Dialogue Cloud

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.

https://docs.microsoft.com/en-us/microsoftteams/caller-id-policies#:~:text=Create%20a%20custom%20caller%20ID%20policy%201%20In,calls%20from%20being%20displayed.%20...%205%20Click%20Save

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