Register your application in Microsoft Entra ID
Register an application in Microsoft Entra ID to get the OAuth 2.0 credentials. A single App ID and Secret is used for both Graph API and Bot Framework.
Start a new app registration
Sign in to the Microsoft Entra admin center.
- If you have access to multiple tenants, click the Settings (gear) icon in the top-right corner.
- Select the desired tenant from the list under Directory + subscription.
- Search for App registrations in the top search bar.
- Click New registration.
Enter the app details
Fill in the registration form, then select Register to create the app registration.
- Name:
StackOne Microsoft Teams Bot Integration - Supported account types: Single tenant only - <your tenant> if only your organization will use this integration, or Multiple Entra ID tenants to support users from other Microsoft Entra tenants
- Redirect URI (optional): select Web, then enter the Callback URL from your Connector Profile
Copy the Client ID
On the app’s Overview page, copy the Application (client) ID into your Connector Profile.
Add Microsoft Graph permissions
From the left menu under Manage, select API permissions.
- Click Add a permission.
- Select Microsoft Graph.
- Select Delegated permissions.
- Add each scope listed.
- Click Add permissions.
Grant admin consent
Click Grant admin consent for [tenant name].
- Select Yes to consent on behalf of all users in your tenant.
- Verify that Granted for [tenant name] appears under the Status column.
Create a client secret
From the left menu under Manage, select Certificates & secrets.
- Under the Client secrets tab, click New client secret.
- Description:
StackOne Bot Integration Secret - Expires: an expiration period
- Click Add.
- Copy the new secret’s Value into your Connector Profile. It’s only shown once and can’t be retrieved again.
Create the Azure Bot resource
Create an Azure Bot resource linked to the same App Registration. This registers your app as a bot in the Bot Framework.
Start a new Azure Bot
Sign in to the Azure Portal.
- Search for Azure Bot in the top search bar.
- Click Azure Bot under Marketplace. This opens the Create an Azure Bot page.
Enter the bot details
Fill in the bot’s project details and plan.
- Bot handle:
stackone-teams-bot - Resource group: an existing group, or create a new one
- Data residency: Global, or Regional based on your requirements
- Pricing: click Change plan and select Free (F0) for testing or Standard for production
Link the app registration
Point the bot at the app you registered in Microsoft Entra ID.
- Type of App: Multi Tenant, or Single Tenant based on your requirements
- Creation type: Use existing app registration
- App ID: The Application (client) ID from your app registration (same as Client ID)
- App tenant ID: The Directory (tenant) ID from your app registration

Create the bot
Click Review + create.
- Click Create.
- Once deployment completes, click Go to resource to open the Azure Bot resource.

Add the Microsoft Teams channel
In the Azure Bot resource, expand Settings in the left sidebar.
- Click Channels.
- Click Microsoft Teams from the available channels list.

Configure the Teams channel
A configuration page appears with Messaging, Calling, and Publish tabs.
- Accept the Terms of Service if prompted.
- Select Microsoft Teams Commercial under Messaging.
- Click Apply to save the channel configuration.

Create the Teams app
Create a Teams app in the Teams Developer Portal that registers the bot for personal, team, and group chat scopes.
Create the app
Go to the Teams Developer Portal.
- Click New app to open the Create a new app popup. If you already have an app, select it from the Apps list instead.
- Name: your app’s name
- Manifest version: the latest stable version, for example Latest Stable v1.25
- Click Create.

Fill in the basic information
On the app Dashboard, go to Basic information under Configure in the left sidebar and fill in the following fields:
- Short description: Short summary of your app
- Long description: Full description of your app
- Version: Your app’s version number
- Developer or company name: Your company’s name
- Website: Link to your company’s website (HTTPS)
- Privacy policy: Link to your privacy policy
- Terms of use: Link to your terms of use
- Application (client) ID: The Application (client) ID from your Azure app registration
- Microsoft Partner ID: Leave blank unless you have a Microsoft Partner Network ID
- Click Save to save your changes.

Turn on the bot feature
In the left sidebar, go to App features > Bot.
- Under Identify your bot, select Enter a bot ID.
- Paste your Application (client) ID in the bot ID field.
- Uncheck all other options (Upload files, Notification only, Calling, Video).
- Set scopes to Personal, Team, and Group Chat.

Open the app manifest
In the left sidebar, go to App package editor.
- Click
manifest.json.

Add the channel features setting
From manifest v1.25, an app whose bot uses the Team scope must declare channel feature support.
- Add
"supportsChannelFeatures": "tier1"at the top level of the manifest. - Click Save.
- Reopen
manifest.jsonand check the line is still there.
Update the app package
After saving, an Update button appears in the App package editor with a warning that changes have been saved locally but not yet updated in the app package. Click Update to validate and apply your changes.
- color.png (optional): Your full-color icon for the Teams app catalog, 192x192 pixels
- outline.png (optional): Your transparent outline icon for the Teams app bar, 32x32 pixels

Publish the bot app
Publish to your org for testing or when bot users are in the same tenant as the app registration. Publish to the Teams Store for production use when bot users are in different tenants.
Publish the app
In the Developer Portal, expand Publish in the left sidebar.
- Click Publish to org.
- Click Get started to open the Distribute your app popup.
- Your org (testing / single tenant): Select Publish to your organisation.
- Teams Store (production / multi-tenant): Select Publish to the Teams Store, complete the App submission checklist and submit it for Microsoft review. After approval, the app is in every tenant’s app catalog automatically.

Copy the Teams App Catalog ID
Go to the Teams Admin Center.
- In the left sidebar, expand Teams apps.
- Click Manage apps.
- Your org: Find and approve the published app, then copy its App ID into your Connector Profile as the Teams App Catalog ID.
- Teams Store: Copy the app’s App ID into your Connector Profile as the Teams App Catalog ID. It is the global Teams App Catalog ID that works across all tenants.

Find your Bot Service URL
The Bot Service URL is the endpoint your bot uses to send messages to Teams. Enter https://smba.trafficmanager.net/teams in your Connector Profile, which works for most commercial tenants. Government and sovereign clouds use a different URL, listed in the Microsoft docs.
Create the StackOne Connector Profile
Create a Connector Profile
Link an Account