How to configure a CallTower Operator Connect number in Dynamics 365 Contact Center
Overview
This UC.Solutions article explains how to configure a CallTower Operator Connect service number for use with Dynamics 365 Contact Center / Customer Service by integrating Microsoft Teams Phone with the Dynamics 365 voice channel.
This guidance is based on Microsoft’s official documentation for configuring Teams Phone in the voice channel and is adapted specifically for Operator Connect scenarios, with CallTower acting as the PSTN provider.
Use this article when you want to route inbound PSTN calls from a CallTower Operator Connect number directly into Dynamics 365 Contact Center workstreams.
Reference: Configure Teams Phone in voice channel | Microsoft Learn
Applies to
- Dynamics 365 Contact Center (Voice channel)
- Microsoft Teams Phone - Resource Accounts
- CallTower Operator Connect
Required roles
- Global Admin (Grant Admin Consent).
- Teams Administrator or Teams Telephony Administrator
- Dynamics 365 Administrator or Contact Center Administrator
Prerequisites
Before you begin, ensure the following requirements are met:
- Dynamics 365 Contact Center is deployed and the Voice channel is provisioned.
- Appropriate Dynamics 365 and Teams Phone licensing is assigned for administrators and representatives.
- Enterprise Voice is enabled in Microsoft Teams.
- Outbound calling prerequisites are satisfied for Teams Phone.
- PSTN connectivity is provided via Operator Connect (CallTower).
- The Entra ID application used for synchronization has the TeamsResourceAccount.Read.All (delegated) permission with admin consent granted.
Create and configure the Microsoft Entra ID application
Dynamics 365 Contact Center uses a Microsoft Entra ID application to synchronize Teams resource accounts and phone numbers. This app must be configured with the TeamsResourceAccount.Read.All (Delegated) Microsoft Graph permission and granted admin consent.
Step A: Register a new Entra ID app
- Sign in to the Microsoft Entra admin center.
- Go to Identity > Applications > App registrations.
- Select New registration.
- Enter a name (for example, Dynamics 365 Contact Center – Teams Sync).
- Select Accounts in this organizational directory only (Single tenant).
- Select Register.
- Record the Application (client) ID and Directory (tenant) ID for reference.

Step B: Add the delegated Microsoft Graph permission
- In the app registration, open API permissions.
- Select Add a permission.
- Choose Microsoft Graph.
- Select Delegated permissions.
- Search for and add TeamsResourceAccount.Read.All.
- Select Add permissions.

Step C: Grant admin consent
- From the API permissions page, select Grant admin consent for .
- Confirm the consent prompt.
-
Verify the permission status shows Granted.
Step D: Create an app role
- From the App Roles page, select Create App Role.
- Fill out the details then click apply.

Step E: Assign Users
- From the Enterprise Apps Tab - Find the App Registration
- Select Users and Groups
- Select Add user/group
- Select the users to be added and the role.

Teams Phone Configuration Steps:
Step 1: Retrieve your ACS Resource ID and Dynamics App ID:
In Omnichannel admin center
- Browse to General Settings and Select Phone Numbers
- Click on the Advanced Tab
Make note of BOTH the Azure Communications Services resource ID and Dynamics App ID as they will be needed for the following steps.
Step 2: Create a Teams resource account
Each phone number used by Dynamics 365 Contact Center requires a dedicated Teams resource account.
As a Teams administrator:
- Sign in to Teams PowerShell.
- Create a new resource account associated with the Dynamics 365 application.
- Record the Object ID of the newly created resource account for use in later steps.
New-CsOnlineApplicationInstance -UserPrincipalName "dynamics_resource@calltower.com" -DisplayName "Dynamics Resource" -ApplicationID "<DynamicsAppID>"
Get-csonlineapplicationInstance "dynamics_resource@calltower.com" | fl ObjectID
# ObjectId : 951c87cb-9859-4467-a40f-77f7bdb35025
Set-CsOnlineApplicationInstance -Identity "<ObjectID>" -ApplicationId "<DynamicsAppID>" -AcsResourceId "ACSResourceID"
Sync-CsOnlineApplicationInstance -ObjectId "<bjectID>" -ApplicationId "<DynamicsAppID" -AcsResourceId "ACSResourceID"
Microsoft provides both a downloadable script and equivalent PowerShell cmdlets to complete this step.
Step 3: Assign a license to the Teams resource account
Assign the required Teams Phone license to the resource account using the standard Microsoft 365 licensing process for resource accounts.

Step 4: Assign the CallTower Operator Connect phone number
Assign the CallTower Operator Connect number to the Teams resource account using Teams PowerShell:
- Use the
Set-CsPhoneNumberAssignmentcmdlet. - Specify
-PhoneNumberType OperatorConnect. - Provide the phone number in E.164 format.
This step links the CallTower-provided Operator Connect number to Teams so it can be synchronized into Dynamics 365 Contact Center.
Set-CsPhoneNumberAssignment -Identity "dynamics_resource@calltower.com" -PhoneNumber "+14255550123" -PhoneNumberType "OperatorConnect"
Step 5: Sync the number into Dynamics 365 Contact Center
After the resource account and phone number are configured in Teams:
- Open the Copilot Service admin center.
- Go to Customer support > Channels.
- Select Manage under Phone numbers.
- On the Phone numbers page, select Advanced.
- In Manage telephony, open the Teams phone system tab.
- Select Sync from Teams.

- Copilot Service admin center: Channels > Phone numbers
- Teams phone system tab with Sync from Teams highlighted
Step 6: Add the number to a workstream
To enable inbound calling:
- Create or edit an existing workstream.
- Add a voice channel to the workstream.
- Select the synchronized Teams service number (CallTower Operator Connect).
This completes the association between the Operator Connect number and the Dynamics 365 routing logic.

Call handling experience
- Incoming calls to the CallTower Operator Connect number are delivered to agents through the Copilot Service workspace.
- Agents use built-in call controls to answer, transfer, and manage calls.
- If call recording is enabled, an audio announcement is played for compliance.
Troubleshooting and common issues
Phone number does not appear after sync
- Confirm the number is assigned to a Teams resource account (not a user).
- Verify the Operator Connect number is active and assigned in Teams Admin Center.
- Ensure the Entra ID app has the required delegated permission.
Inbound calls fail to route
- Confirm the number is associated with an active workstream voice channel.
- Validate business hours and routing rules in the workstream.

