Connect the Microsoft Teams bot
Create the Azure bot, install the plugin, enter the bot credentials and link the Microsoft identities that should use it.
Before you start
- Chetty 0.30.47 or newer, with shared API version 16 and web API version 73.
- A Microsoft Entra tenant where you can register applications, and an Azure subscription where you can create a bot.
- A public HTTPS address for Chetty. Teams sends the bot's messages there, and nothing works behind a plain HTTP address.
- A tenant administrator for the consent steps. Delegated Microsoft 365 scopes and Graph application permissions both need that consent.
Install the plugin
- Open Settings → Available plugins and install Microsoft Teams.
- Enable it. Chetty asks you to grant the access that outlives a single reply — here, changing users — and the plugin detail lists the shared data and Project files it reads.
- Accept the restart. Enabling, disabling or saving settings requests one, and it may wait for active turns. Changes are saved first; if a restart cannot be requested, they apply on the next start.
Create the bot in Azure
- In the Entra admin center, create a single-tenant app registration and copy its Application (client) ID and Directory (tenant) ID.
- Under Certificates & secrets, create a client secret and copy its value. Chetty shows the secret only once; so does Microsoft.
- In the Azure portal, create an Azure Bot of type Single Tenant with that application ID, and enable the Microsoft Teams channel.
- Set the bot's Messaging endpoint to
https://<your-domain>/hooks/msteams/messages, where the domain is the public address of your Chetty instance. Your reverse proxy must route/hooks/to Chetty. - On the MS Teams page, select Download app package, then upload the file in Teams admin center → Manage apps and add the app to a chat or team.
Tip: Microsoft Teams walks through the same Azure and Teams steps with the tenant-side details.
Enter the credentials
- Open Settings → Access → Microsoft Teams.
- Enter the Microsoft App ID, the Client secret and the Tenant ID.
- Save. The bot does not connect until all three values are set.
| Setting | Default | What it does |
|---|---|---|
| Microsoft App ID | Not set | Client ID of the single-tenant bot app. |
| Client secret | Not set | Secret the bot uses to authenticate with Microsoft. |
| Tenant ID | Not set | Entra tenant of the bot app. |
| Personal-chat Microsoft sign-in | Off | Lets enabled tenant members sign in from a personal chat and use their linked account's access. |
| OAuth connection name | Not set | Shown when sign-in is on. The exact name of the OAuth connection you add to the Azure bot. |
The client secret is write-only: Chetty stores the encrypted value and shows only whether one is set.
Turn on Microsoft 365 tools
The Microsoft 365 tools need a delegated Microsoft sign-in, which is separate from the bot's own credentials.
- Create a second single-tenant Entra app registration and add the delegated Microsoft 365 scopes the tools should use.
- On the Azure bot, add an OAuth connection that uses the Microsoft Entra ID v2 provider and that app registration. Microsoft Teams lists a practical scope set.
- Copy the connection's exact name into OAuth connection name and turn on Personal-chat Microsoft sign-in.
- Ask a tenant administrator to consent to the delegated scopes in Microsoft.
Microsoft 365 access then appears in the plugin settings. It is Read only by default; Read and write still previews each change until the agent commits that exact operation.
Link Microsoft identities
- Ask the person to open the bot in a personal Teams chat and sign in with Microsoft. Their Teams identity is then linked to their Chetty account.
- Or, as an administrator, open the MS Teams page → People & access, choose the person and select Link Chetty account.
The link uses the immutable Entra object ID, never a name or an e-mail address. Project access and tool permissions always come from the linked Chetty account.
If the bot does not connect
- Nothing answers in Teams. Check that all three credentials are set, then look at the app package: the bot must be added to the chat or team where you write.
- The bot loads but sends nothing. Re-download the app package after changing App name in Teams, Publisher name in Teams, App icon in Teams or Read every channel message, and upload it again.
- Microsoft 365 tools refuse every call. Check that personal-chat sign-in is on, that the OAuth connection name matches exactly, and that the tenant administrator consented to the delegated scopes.
- The app-package download fails. An app icon must be a 192 × 192 PNG at the path you configured; an empty icon setting uses a plain coloured square.
Related guides
- Microsoft Teams & Microsoft 365
- Choose who may talk to the bot
- Replies, app package and notifications
- Microsoft Teams — commands and everyday use.