packages/pieces/community/microsoft-teams-bot/teams-app/README.md
This piece sends messages to a Teams channel as a bot (not as a signed-in user). That requires you to register your own Azure Bot, package a Teams app, and install it into your team.
Free (F0).Single Tenant.Create new Microsoft App ID.botId).Bot resource → Channels → add Microsoft Teams → accept the terms → Apply.
Skipping this makes app installation fail with
BadRequest ... BulkMembershipRequest.
Bot resource → Configuration → Messaging endpoint:
https://<your-activepieces-url>/api/v1/app-events/microsoft-teams-bot
e.g. https://cloud.activepieces.com/api/v1/app-events/microsoft-teams-bot, or your tunnel URL when developing locally. Azure requires a messaging endpoint to be set; Activepieces acknowledges the activities Teams delivers here and does not need them to send messages.
App Registration (link from the bot's Configuration page) → Certificates & secrets → New client secret → copy the Value (not the Secret ID; the Value is shown only once).
The Team and Channel dropdowns read from Microsoft Graph, so the app needs application permissions:
App Registration → API permissions → Add a permission → Microsoft Graph → Application permissions → add:
Team.ReadBasic.AllChannel.ReadBasic.AllThen click Grant admin consent for <your org>. Both must show a green ✓.
This folder contains everything you need:
manifest.json: the Teams app manifestcolor.png: 192×192 full-color iconoutline.png: 32×32 transparent outline iconIn manifest.json, replace the <TEAMS_BOT_APP_ID> placeholder (it appears in both id and bots[0].botId) with your Microsoft App ID from step 1. Then zip the three files (zip the files directly, not the folder):
cd teams-app
zip activepieces-teams-bot.zip manifest.json color.png outline.png
The bot must be installed in a team before you can post to its channels. Sending to a team the bot is not a member of fails with 403 The bot is not part of the conversation roster.
Create a connection on the Microsoft Teams Bot piece with:
| Field | Value |
|---|---|
| Bot App ID | the Microsoft App ID from step 1 |
| Bot App Secret | the client secret Value from step 4 |
| Tenant ID | your Directory (tenant) ID (Entra ID → Overview) |
| Symptom | Cause & fix |
|---|---|
| Connection fails / dropdowns empty | Graph application permissions not added or admin consent not granted (step 5). Delegated permissions do not work here. |
Send fails: Authorization has been denied for this request | The Tenant ID (or the bot) is a different tenant than your Teams. Bot and Teams must be the same tenant. |
Install fails: BulkMembershipRequest | The Microsoft Teams channel isn't enabled on the bot (step 2). |
Send fails: Incorrect conversation creation parameters | The bot isn't installed in that team, or the channel id is wrong; reinstall the app (step 7). |
Activepieces Bot is not installed in this team | Install the app into the team (step 7) so the bot's endpoint gets registered. |