Skip to main content
The Microsoft Teams integration lets users message or mention Sofie using their linked Sofie accounts. You configure the Microsoft app and Azure Bot, then distribute the Teams app package generated by Sofie. Users complete a separate Teams identity link in a personal chat. Microsoft 365 email, calendar, and file connections have their own setup guide.

Before you start

You need:
  • Access to Sofie Organization Settings > Integrations, with permission to edit integrations.
  • Access to manage a Microsoft Entra app registration and an Azure Bot resource.
  • Teams administrator access to distribute a custom app and make it available to your test users.
  • Your Microsoft tenant ID and public Sofie HTTPS domain.
  • Slack and Teams messaging integrations enabled for your Sofie deployment.
If the Teams section is missing, check availability with your Sofie administrator or TransferAI contact.

Configure the Microsoft app and bot

1

Choose the Microsoft app registration

Use an app registration in the Microsoft tenant where you will install Sofie. Record its application client ID and directory tenant ID. Create a client secret and retain its Value for the Sofie settings field.The organization Teams setup uses the Client ID, Client Secret, and Tenant ID from Sofie’s Microsoft integration card. If that card already supports Microsoft 365, coordinate changes with its owner because Teams reuses those credentials.
2

Register a single-tenant Azure Bot

Create an Azure Bot resource using the existing Microsoft app registration. Choose Single Tenant and use the same client ID and tenant ID that you will save in Sofie.Follow Microsoft’s Azure Bot registration guide for the resource creation flow.
3

Set the messaging endpoint

In the Azure Bot configuration, set the messaging endpoint to the URL below, using your public Sofie domain.
4

Enable the Microsoft Teams channel

In the Azure Bot’s Channels, select Microsoft Teams, review the terms and messaging settings, and apply the configuration. See Microsoft’s Teams channel guide.
5

Save the configuration in Sofie

Open Organization Settings > Integrations. In the Microsoft integration card, click Show Details under OAuth Configuration. Select Use Organization OAuth App for your organization-owned credentials. Enter Client ID, Client Secret, and Tenant ID.Turn on Enable Microsoft Teams and click Save Changes. Although the tenant field is labeled optional for Microsoft integrations, Teams requires a tenant ID.
Enter the client secret value, not its secret ID. Store it in the settings field and keep it out of chat, shared Workspaces, and training screenshots.

Download and distribute the Teams app

1

Download the package

After saving the Microsoft app details, click Download Teams app. Sofie generates a ZIP package with the app manifest and icons for the saved app ID and your Sofie domain.
2

Upload it to Teams

In the Teams admin center, open Teams apps > Manage apps. Use Upload new app, which may appear under Actions, and select the downloaded ZIP.Follow Microsoft’s custom app distribution guide. Make the app available to your test users under your organization’s app policies.
3

Install it in the intended conversations

Add Sofie for personal use and to the team or group chat you want to test. The package supports personal chats, teams, and group chats.Review the conversation-message permissions during installation. Installing the app for personal use alone does not add it to a team or group chat.
4

Verify user linking and replies

Have a test user message Sofie in a personal chat and complete their account link. Send a request, then mention @Sofie in a test channel and follow up in the same thread.Check that the tenant appears in Sofie under Workspace and tenant connections. Run Test connection. Test actual replies as well as credentials.

Review conversation-message permissions

Sofie’s package requests resource-specific permissions to read messages in the team or chat where it is installed: These permissions are included in the Teams app package. Microsoft describes their scope and consent process in its resource-specific consent guide. Tell users that Sofie receives conversation messages in installed teams and group chats to support follow-ups without repeated mentions. Users still need their own Sofie account links. Replies in shared conversations are visible to other participants.

Update the package for attachments

Teams app packages at version 1.2 or later enable attachments in personal chats. Save any configuration changes, download the current package, and upload it as an update to the existing Teams app. In the Teams admin center, open the existing app’s details and use Upload file to upload the updated ZIP. See Microsoft’s custom app update instructions. Test a supported attachment in a personal chat after the update. Teams channel and group-chat file access is not included yet.

Allow automated posts

Sofie discovers destinations from installation activity and conversations. Destinations start inactive for outbound automation. Use Messaging destinations and connection health to activate the intended destination, allow your automations, and test delivery.

Troubleshooting

Enable Teams and save the Microsoft client ID, client secret, and tenant ID first. Check the Not configured status and any Setup incomplete items.
Check the app’s availability and your Teams custom app policies. Organization catalog changes can take time to appear. See Microsoft’s custom app settings guide.
Confirm that the Azure Bot and Sofie use the same app ID and tenant ID. Check the client secret value and expiration, messaging endpoint, and enabled Teams channel. Confirm that the app is installed in the conversation you are testing.
Check that the installed package includes the conversation-message permissions. Update the existing app and review the required consent. Test a reply in the same thread after mentioning Sofie.
Confirm that the installed package is version 1.2 or later. Download the current package from Sofie and update the existing app. Test in a personal chat rather than a channel or group chat.