Forum Discussion

brajeshsingh1979's avatar
brajeshsingh1979
Copper Contributor
Aug 08, 2025

An overview of Competella Integration with Microsoft Teams

POV:  An overview of Competella Integration with Microsoft Teams

Overview: Competella offers a cloud-based contact center and attendant console that integrates natively with Microsoft Teams. It is built on Microsoft’s Graph Communications API, it enhances Teams with advanced call routing, queue management, and real-time analytics features that go far beyond standard Teams Call Queues.

Key features that make It stand out

  • Multiple Voice Queues: Handle multilingual welcome messages, hold music, and queue-specific schedules.
  • Smart Call Distribution: Choose from longest-idle, round robin, parallel ring, or serial call routing.
  • Agent Portal in Teams: Agents can log in, monitor queues, and manage calls directly from the Teams interface.
  • Advanced Reporting: Track missed calls, average wait times, and agent availability with detailed analytics.
  • CRM Integration: Connects with Microsoft Dynamics, Exchange, and Salesforce for a 360° customer view.

Introduction to Competella Contact Center:

Competella is the third Contact Center to be Microsoft Teams Extend Certified. There are 14 contact centres certified for Microsoft Teams, but only Luware, Tendfor and Competella are certified for Extend. With Microsoft Teams Extend certified contact centres, customers can bring their own Contact Center PSTN connectivity via Microsoft Calling Plan, Operator Connect or Direct Routing.

The Competella Communication Suite is a subscription SaaS multi-tenant solution running in Azure and leveraging native Microsoft Graph Communications APIs. Competella has over 700 customers with 100+ on the Competella Communication Suite for Teams, first released in March 2020. Competella was acquired by Enghouse Systems in June 2022. The Competella Communication Suite will become a part of the Enghouse Interactive portfolio of products for Teams.

Competella Communication Suite consists of Attendant Console, Contact Center Workgroup and Contact Center Enterprise. The Competella solution includes advanced statistics and reporting capabilities which can be used for analytics and planning purposes. Customers can add additional features with add-on licences, including IVR Express, Voice Recording, Call Back, CRM integration and Realtime Wallboard.

 

 

Advantage of Competella Contact Center with MS Team:

Seamless Integration with Teams: Fully embedded in the Teams environment—agents can handle calls directly from their Teams client or mobile phone.

Advanced Call Handling: Supports multiple incoming voice queues with multilingual greetings and hold messages. Offers flexible call distribution methods: longest-idle, round robin, parallel ring, and serial call.

Real-Time & Historical Analytics: Provides live monitoring of queue stats like number of calls, available agents, and wait times.

Generates detailed reports on answered/missed calls and average/max wait times for performance tracking2

Smart Resource Management: Skill-based routing and IVR (Interactive Voice Response) help optimize agent workload and improve customer experience.

Managers get a 360° overview to make data-driven decisions using real-time and historical insights.

 

Completella configuration with Azure and O365 environment.

To start using the services in the Enghouse Competella Communication Suite for Teams you have to some basic setup of your Office 365 and Azure environment, this includes:

  • Register a Calling Bot in your Azure environment
  • Create a Resource Accounts (Endpoints) for your incoming queues
  • Assign phone numbers from you Direct Routing to your Resource Accounts
  • Register 3 different Apps that handles user logins, user import and presence

 

Setup in Azure Portal

Log on to your Azure portal and go to “App registrations”.

Home>App registration>Competella Identity Server

  • Navigate to Azure Active Directory > App registrations > New registration
  • Fill in:
    • Name: Competella Identity Server
    • Supported account types: Choose Accounts in this organizational directory only
    • Redirect URI (optional): Use https://<tenant>.competella365.com/signin-oidc (replace <tenant> with your actual tenant name)
  • Click Register

Generate Client Secret

  • Go to Certificates & secrets > New client secret
  • Add a description (e.g., CompetellaSecret) and choose an expiration period

 

Azure User Importer App

Step 1: Sign in to Azure Portal

  • Go to portal.azure.com
  • Ensure you're using an account with Global Administrator rights.

 Step 2: Register the Application

  • Navigate to Azure Active Directory > App registrations > New registration
  • Fill in:
    • Name: Competella Azure User Importer
    • Supported account types: Choose Accounts in this organizational directory only
    • Redirect URI: Leave blank (not needed for this backend app)
  • Click Register

Step 3: Create a Client Secret

  • Go to Certificates & secrets > New client secret
  • Add a description (e.g., UserImporterSecret) and set an expiration
  • Save the Value securely—it will be used in Competella’s backend

📎 Step 4: Assign API Permissions

  • Go to API permissions > Add a permission
  • Choose Microsoft Graph > Application permissions
    • User.Read.All
    • Group.Read.All
    • Directory.Read.All
    • Add:
  • Click Grant admin consent to activate these perm

 

Presence Server App:

Step 1: Register the App in Azure

  • Sign in to portal.azure.com with a Global Admin account.
  • Go to Azure Active Directory > App registrations > New registration
  • Fill in:
    • Name: Competella Presence Server
    • Supported account types: Choose Accounts in this organizational directory only
    • Redirect URI: Leave blank (not required for this app)
  • Click Register

Step 2: Create a Client Secret

  • Go to Certificates & secrets > New client secret
  • Add a description (e.g., PresenceSecret) and choose an expiration period
  • Save the Value securely

 Step 3: Assign API Permissions

  • Go to API permissions > Add a permission
  • Choose Microsoft Graph > Delegated permissions
    • Presence.Read
    • Presence.Read.All
    • Add:
  • Click Grant admin consent to activate them

Step 4: Create a Dedicated Azure User

  • Go to Azure Active Directory > Users > New user
  • Create a user account (e.g., email address removed for privacy reasons)
    • No groups or roles are needed
    • Disable Multi-Factor Authentication (MFA)
  • Log in with this account once to change the password and ensure it's active

 

Calendar Service App:

 

Step 1: Register the App in Azure

  • Sign in to portal.azure.com with a Global Admin account.
  • Go to Azure Active Directory > App registrations > New registration
  • Fill in:
    • Name: Competella Calendar Service
    • Supported account types: Choose Accounts in this organizational directory only
    • Redirect URI: Leave blank (not required for this backend service)
  • Click Register

Step 2: Create a Client Secret

  • Go to Certificates & secrets > New client secret
  • Add a description (e.g., CalendarServiceSecret) and choose an expiration period
  • Save the Value securely

 Step 3: Assign API Permissions

  • Go to API permissions > Add a permission
  • Choose Microsoft Graph > Application permissions
    • Calendars.Read
    • Mail.Send
    • Add:
  • Click Grant admin consent to activate these permissions

 

Add and grant the following API permissions:

Microsoft Graph/Application/Calendars.Read

Microsoft Graph/Application/Mail.Send

Calling Bot

To be able to tie your main numbers to corresponding incoming queues in Competella, you will have to register a calling bot in your Azure environment. To this bot you will then add a SIP/URI address per queue and tie it with a PSTN number. One bot can serve multiple incoming numbers.

First you will need to register a Bot. Follow the steps below.

Click “Create a resourc

 

Step 1: Register the Bot in Azure

  • Go to Azure Portal > Create a resource
  • Choose Bot Channels Registration
  • Fill in:
    • Name: Competella Calling Bot
    • Type of App: Set to Multi-Tenant
    • Pricing Plan: Choose the appropriate tier
    • Messaging Endpoint: Format: https://<customer>.competella365.com/callback/calling Example: If your domain is acme.com, use https://acme.competella365.com/callback/calling
  • Click Review + Create, then Create

 Step 2: Enable Microsoft Teams Channel

  • Go to the bot’s Channels section
  • Add Microsoft Teams under Available Channels
  • Click Enable Calling

Step 3: Configure App Settings

  • Go to Configuration > Manage under Microsoft App ID
  • Generate and save:
    • App ID
    • Secret Key

📎 Step 4: Assign API Permissions

  • Go to API permissions > Add a permission
  • Choose Microsoft Graph > Application permissions
    • Calls.Initiate.All
    • Calls.InitiateGroupCall.All
    • Calls.JoinGroupCall.All
    • Calls.JoinGroupCallAsGuest.All
    • (Optional) Calls.AccessMedia.All — if using Voice Recording
    • Add:
  • Click Grant admin consent

 

 

 

 

 

 

Creating Resource accounts for Queues and IVR

Now that your bot is setup, you can create SIP/URI’s for the incoming queues and IVR’s and assign them to the Bot.

This is done through Power Shell and requires that you have installed the “Teams PowerShell Module”.

If you have a Hybrid scenario, it is advised that you run the PS commands from a machine setup with UCMA and part of your Skype topology.

The example below, using the “New-CsOnlineApplicationInstance”, is for a pure Azure environment.

The command “New-CsHybridApplicationEnpoint” should be used instead if you are in a Hybrid scenario:

(New-CsHybridApplicationEndpoint -ApplicationId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -DisplayName "HelpDesk" -SipAddress sip:email address removed for privacy reasons -OU "OU=OnLineApplications,DC=customer,DC=com")

Start your PS session and follow the steps below:

  1. First change the meeting configuration of the bot, where "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" is the ID of your bot.

Set-CsApplicationMeetingConfiguration -AllowRemoveParticipantAppIds @{Add="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"}

  1. Create an URI and tie it to the Application ID of your bot

New-CsOnlineApplicationInstance -UserPrincipalName email address removed for privacy reasons -ApplicationId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -DisplayName " HelpDesk"

Now wait for the AD synchronization towards Azure (if this is a Hybrid scenario). This may take a while!

  1. Fetch the Object ID of your Endpoint and sync it.

Get-CsOnlineApplicationInstance -Identity email address removed for privacy reasons

Sync-CsOnlineApplicationInstance -ObjectId []

  1. Make sure that you assign the correct Voice Routing Policy to your Endpoint

Grant-CsOnlineVoiceRoutingPolicy -Identity email address removed for privacy reasons -PolicyName "XXX-No Restrictions-3"

  1. Assign a Virtual Phone license to the resource account by going to the Office Admin portal and find your URI under users/active users
  2. Sync

 

 

 

Competella Attendant Console and Contact Center Enterprise features:

  • Competella CRM Integration Gateway – extended 360? view and AI CRM-based routing with a turnkey solution for Microsoft Dynamics and Salesforce, open API for other ITSM and CRM systems.
  • Competella Voice Recording – record, and store inbound, outbound and on-demand call recording for compliance and training purposes.
  • Competella Callback – offers callback to callers waiting in line, keeping their position.
  •  
  • Competella AC – Attendant Console

The Attendant Console offers fast call handling, directory search, Teams presence, Mobile presence (Northern Europe feature) and Exchange Calendar presence all in one view.

 

Competella CCW – Contact Center Workgroup

Competella CCW is an advanced hunt group solution for mobile and Microsoft Teams users, supporting simultaneous ring. It’s ideal for administrative staff, mobile front-line workers, and on-call agents, who can easily log in via Teams or a browser to handle calls directly in Teams.

Competella CCE – Contact Center Enterprise:

Offers fast call handling, directory search, Teams presence, mobile presence, 360? view call history of caller, previous agent, previous transfer to and wrap-up code to inform the agent about historical contact to improve first-time resolution.

 

 

 

 

 

No RepliesBe the first to reply

Resources