Overview
As a reseller, you can create your own Microsoft Teams app and bot for nudging. Subaccounts can install your Teams app in their Microsoft Teams client and sync their Teams teams as groups in Portal.
This article explains how to create the bot, gather the required Microsoft Entra credentials, configure the Teams app in the Microsoft Teams Developer Portal, grant the required Microsoft Graph permissions in Entra ID, download the finished Teams app package, and deploy the app to users with a Teams app setup policy.
Use the links below to jump to a section:
- Before you begin
- Create the bot
- Get your credentials to use
- Create the Teams app
- Settings to configure tracking in the Teams Developer Portal
- Settings to configure in Entra ID
- Download your finished Teams app
- Deploy the Teams app to users
- Related articles
- Troubleshooting
Before you begin
Confirm that you have access to the following Microsoft and Portal resources before creating the app:
- Access to the Microsoft Teams Developer Portal.
- Access to the Microsoft Entra admin center.
- Access to the Microsoft Teams admin center, if you will deploy the app to users.
- Permission to create or manage app registrations in Microsoft Entra ID.
- The whitelabeled Portal domain used to access the reseller portal.
- Branding assets for the Teams app, including the color icon and outline icon.
- A Microsoft administrator who can grant admin consent for application permissions, if your organization requires it.
- A Teams administrator who can allow, install, pin, and assign the app in Microsoft Teams, if the app will be deployed through a setup policy.
Important: Keep the client secret secure. The secret is used as the Client Secret when configuring the Teams integration in Portal.
Create the bot
- Visit https://dev.teams.microsoft.com/.
- In the left navigation menu, select Tools, and then select Bot management.
- Select + New bot.
- Enter a name for the bot, and then select Add. The Teams Developer Portal opens the configuration screen for the new bot.
- Enter the endpoint address using the following format:
https://<whitelabeled_portal_domain>/teams_controller.php
Replace<whitelabeled_portal_domain>with the domain used to access your reseller portal. - In the bot's menu, select Client secrets.
- Select Add a client secret for your bot.
- Copy the generated client secret. This value will be used as the Client Secret when setting up the Teams integration in Portal.
Creating the bot also creates an app in Microsoft Entra ID and ties the client secret to that app.
Get your credentials to use
Before configuring the Teams integration in Portal, gather the Microsoft application identifiers from Entra ID.
- Visit https://entra.microsoft.com/.
- In the left navigation menu, select App registrations.
- Select the app that shares the name of the bot you created.
- On the app's Overview page, copy the following values:
- Application (client) ID: Use this value as the Client ID when setting up the Teams integration in Portal.
- Directory (tenant) ID: Use this value as the Tenant ID when setting up the Teams integration in Portal.
Create the Teams app
- Visit https://dev.teams.microsoft.com/.
- In the left navigation menu, select Apps.
- Select + New app.
- Enter a name for the app, leave the manifest version at its default value, and then select Add.
- On the next screen, enter the required basic information for the app.
- In Application (client) ID, enter the Application (client) ID copied from Entra ID.
- Save your changes.
- In the left navigation menu, select Branding, and then upload the icons you want to use for the Teams app.
- Go to Configure > Permissions.
- In Chat/Meeting permissions, expand Application.
- Locate ChatMessageReadReceipt.Read.Chat, select the checkbox to the left of the permission, and save your changes.
- In the left navigation menu, select App features.
- Select Bot.
- In Identify your bot, choose Select an existing bot if it is not already selected, and then select the bot you created.
- In Select the scopes where people can use your bot, select Personal.
- Save your changes.
- Go to Configure > Single sign-on.
- Set Application ID URL using the following format:
api://<your-whitelabeled-domain-here>/<entra_client_id>
Replace<your-whitelabeled-domain-here>with your whitelabeled Portal domain and replace<entra_client_id>with the Application (client) ID copied from Entra ID. - To make the app available to users, go to Publish > Publish to org.
- Submit the app.
Settings to configure tracking in the Teams Developer Portal
Complete these settings so Portal can track when a user reads a bot message sent from a campaign configured to send nudging messages.
- Visit https://dev.teams.microsoft.com/apps.
- Select your app.
- Go to Configure > Permissions.
- In Chat/Meeting permissions, expand Application.
- Locate ChatMessageReadReceipt.Read.Chat, select the checkbox to the left of the permission, and save your changes.
Settings to configure in Entra ID
Configure Microsoft Graph permissions in Entra ID so the app can find users by email in Microsoft Teams.
- Visit https://entra.microsoft.com/.
- Navigate to App registrations.
- In the Owned applications tab, find your app and select its name.
- In the secondary navigation menu, select API permissions.
- Select Add a permission.
- In the panel that opens, select Microsoft Graph from the Microsoft APIs tab.
- Select Application permissions.
- Search for User.Read.All.
- Under User, select User.Read.All.
- Repeat the previous search and selection steps to add Group.Read.All and TeamMember.Read.All.
- Grant admin consent for the permissions if your organization requires administrator approval.
- In the secondary navigation menu, select Authentication.
- Select Add a platform or Add Redirect URI, depending on the Entra ID interface shown.
- Choose Web.
- In Redirect URI, enter the following URL:
https://<your-whitelabeled-domain-here>/authorize_teams.php
Replace<your-whitelabeled-domain-here>with your whitelabeled Portal domain.
Download your finished Teams app
- Visit https://dev.teams.microsoft.com/.
- In the left navigation menu, select Apps, and then select your Teams app.
- Select Configure > App package editor.
- Select Download to download the Teams app package.
Upload the downloaded Teams app package when configuring the Teams integration in Portal.
Deploy the Teams app to users
Use a Teams app setup policy when the Teams app should be installed automatically for assigned users. For Microsoft guidance, see Manage app setup policies in Microsoft Teams.
- Visit https://dev.teams.microsoft.com/
- Go to Teams apps > Setup policies.
- Edit the Global org-wide default policy, or create a new policy.
- Under Installed apps, select Add apps.
- Search for the Teams app, select it, and then select Add.
- Optional: Under Pinned apps, add the app so users can access it from the Teams left rail.
- Save the policy.
- Assign the policy to the applicable users by going to Users, selecting the users, opening Policies, and assigning the app setup policy. If the tenant supports group policy assignment, assign the policy to the applicable groups instead.
Related articles
- After creating the app package, see Configure Microsoft Teams Nudging for Subaccounts (Resellers) for steps to enter the Client ID, Client Secret, Tenant ID, and Teams app package in Portal.
- For subaccount setup and branding behavior, see Configure and Brand Microsoft Teams Nudging (Subaccounts).
Troubleshooting
The Teams integration test fails in Portal
Confirm that the Client ID, Client Secret, and Tenant ID all belong to the same Microsoft application and tenant. Also confirm that the required Microsoft Graph application permissions were added and granted admin consent.
The Teams app package cannot be installed
Confirm that the package was downloaded as a ZIP file from the Microsoft Teams Developer Portal and that the app's required basic information, bot configuration, branding, permissions, and single sign-on values are complete.
The app is not available in the Teams admin center
If the app is blocked, go to Teams apps > Manage apps and allow the app. For custom or internal apps, confirm that custom app upload and organization app permissions are configured correctly before assigning the setup policy.
The app does not appear for assigned users
Confirm that the correct app setup policy is assigned to the users or groups. Policy changes can take several hours to apply and may take up to 24 hours.
The redirect URI does not work
Confirm that the redirect URI uses the correct whitelabeled Portal domain and follows this format: https://<your-whitelabeled-domain-here>/authorize_teams.php.
The app cannot find users by email
Confirm that User.Read.All, Group.Read.All, and TeamMember.Read.All were added as Microsoft Graph application permissions in Entra ID and approved by an administrator if required.