Skip to main content

Set up Microsoft Teams for background agents

Microsoft Teams is the second messaging channel for background agents, next to Slack. Your organization registers one Azure Bot, and you store its credentials in Willow once, at the org level.

Beta feature

The Microsoft Teams row appears only when the Microsoft Teams Agent Channel flag is on under Beta Features. The flag isn't in the customer list yet, so ask your Willow contact to turn it on for your organization.

Preview: configuration only

Willow stores the bot registration, but background agents don't receive or answer Teams messages yet. Setting this up now means the bot is ready when message handling ships. Nothing is sent to Teams in the meantime.

How it differs from Slack​

SlackMicrosoft Teams
Bot identityOne Slack app per agent, created by WillowOne Azure Bot per organization, created by you in Azure
Where you set it upOrg tokens in Channels configurations, then a Slackbot App section on each agentChannels configurations only
How messages reach WillowSocket Mode or the HTTP Events APIAn HTTPS messaging endpoint that Teams calls

Because every agent shares the organization's bot, routing a Teams message to the right agent will be driven by triggers on each agent, the same way Slack channel triggers work.

Before you start​

You need:

  • An Azure subscription where you can create an Azure Bot resource.
  • Permission in Microsoft Entra ID to create an app registration and a client secret for it. Creating the bot usually creates the app registration for you.
  • A Willow admin role that can edit organization settings, which is needed to save the configuration.

Step 1: Create the Azure Bot​

  1. In the Azure portal, create an Azure Bot resource. Microsoft's walkthrough is Create an Azure Bot resource.
  2. For Type of App, choose Single Tenant.
  3. For Creation type, let Azure create a new Microsoft App ID, or pick an existing app registration in your tenant.
  4. Leave the Messaging endpoint empty for now. Willow doesn't provide one until message handling ships.
  5. Open the bot's Channels page and add Microsoft Teams.

Step 2: Collect the credentials​

Willow needs three values from the bot's app registration:

ValueWhere to find it
Microsoft App IDThe bot's Configuration page, or Application (client) ID on the app registration's Overview page.
Directory (tenant) IDThe app registration's Overview page.
Client secretOn the app registration, open Certificates & secrets and select New client secret. Copy the Value right away, because Azure only shows it once.

Both IDs are GUIDs, for example 00000000-0000-0000-0000-000000000000.

Step 3: Save them in Willow​

  1. Open Manage > Machine Users > Background Agents and select the gear icon (Settings). The page lives at /manage/background-agents/settings.
  2. In the Channels configurations card, find the Microsoft Teams row and select Set up.
  3. Enter the Microsoft App ID, the Directory (tenant) ID, and the Client secret.
  4. Select Save.

The row shows Configured once all three are stored. Willow encrypts the client secret. Afterwards the dialog shows only its first few characters, never the whole value.

Rotate or remove the credentials​

  • Rotate the client secret: create a new secret in Azure, open Manage on the Microsoft Teams row, paste the new value into Client secret, and select Save. The App ID and tenant ID stay as they are. Azure client secrets expire, so plan to do this before the expiry date you chose in Azure.
  • Change the bot: replace the App ID, tenant ID, and client secret together, then save.
  • Remove everything: select Clear in the dialog. The row goes back to Not connected.

Troubleshooting​

SymptomWhat to check
No Microsoft Teams row in Channels configurationsThe Microsoft Teams Agent Channel beta flag is off for your organization. Ask your Willow contact to turn it on.
App ID must be a GUID or Tenant ID must be a GUIDPaste the ID itself, not the bot's resource name or your tenant's domain name.
Client secret is requiredThe first save needs a client secret. Later saves can leave the field empty to keep the stored one.
Row shows Partially configuredOne of the three values is missing. Open Manage and fill in the empty field.
Agents don't answer in TeamsExpected during the preview. Willow stores the configuration but doesn't handle Teams messages yet.

What to do next​