UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

147 lines (137 loc) • 14.5 kB
--- summary: "Microsoft Teams bot support status, capabilities, and configuration" read_when: - Working on Microsoft Teams channel features title: "Microsoft Teams" --- Status: text + DM attachments are supported; channel/group file sending requires `sharePointSiteId` + Graph permissions (see [Sending files in group chats](/channels/msteams/messaging#sending-files-in-group-chats)). Polls and approval prompts are sent via Adaptive Cards. Message actions expose explicit `upload-file` for file-first sends. <CardGroup cols={3}> <Card title="Setup" icon="rocket" href="/channels/msteams/setup"> Register the bot and install the Teams app. </Card> <Card title="Pairing" icon="link" href="/channels/pairing"> Teams DMs default to pairing mode. </Card> <Card title="Channel troubleshooting" icon="wrench" href="/channels/troubleshooting"> Cross-channel diagnostics and repair playbooks. </Card> </CardGroup> ## What each page covers - [Microsoft Teams setup](/channels/msteams/setup) — install the plugin, register the bot and Teams app, and run against a dev tunnel. - [Microsoft Teams access control](/channels/msteams/access-control) — DM and group policy, team and channel allowlists, and conversation IDs. - [Microsoft Teams authentication](/channels/msteams/authentication) — certificate and managed identity auth instead of a client secret. - [Microsoft Teams manifest and permissions](/channels/msteams/manifest-and-permissions) — the app manifest, RSC permissions, and the Graph permissions each capability needs. - [Microsoft Teams configuration](/channels/msteams/configuration) — `channels.msteams` keys, environment variables, and history limits. - [Microsoft Teams message behavior](/channels/msteams/messaging) — session routing, reply style, attachments, and file sending. - [Microsoft Teams cards and actions](/channels/msteams/cards-and-actions) — approvals, polls, presentation cards, member info, and target formats. - [Microsoft Teams troubleshooting](/channels/msteams/troubleshooting) — known limitations, common failures, and reference links. ## Where each section moved Every section heading from the previous single-page version keeps its anchor here, so an existing link such as `/channels/msteams#reply-style-threads-vs-posts` still resolves. Each entry points at the page that now holds the content. - <a id="bundled-plugin" />[Bundled plugin](/channels/msteams/setup#bundled-plugin) - <a id="quick-setup" />[Quick setup](/channels/msteams/setup#quick-setup) - <a id="goals" />[Goals](/channels/msteams/setup#goals) - <a id="config-writes" />[Config writes](/channels/msteams/access-control#config-writes) - <a id="access-control-(dms-%2B-groups)" />[Access control (DMs + groups)](</channels/msteams/access-control#access-control-(dms-%2B-groups)>) - <a id="access-control-dms-+-groups" />[Access control (DMs + groups)](/channels/msteams/access-control#access-control-dms-+-groups) - <a id="how-it-works" />[How it works](/channels/msteams/setup#how-it-works) - <a id="step-1%3A-create-azure-bot" />[Step 1: Create Azure Bot](/channels/msteams/setup#step-1%3A-create-azure-bot) - <a id="step-1-create-azure-bot" />[Step 1: Create Azure Bot](/channels/msteams/setup#step-1-create-azure-bot) - <a id="step-2%3A-get-credentials" />[Step 2: Get credentials](/channels/msteams/setup#step-2%3A-get-credentials) - <a id="step-2-get-credentials" />[Step 2: Get credentials](/channels/msteams/setup#step-2-get-credentials) - <a id="step-3%3A-configure-messaging-endpoint" />[Step 3: Configure messaging endpoint](/channels/msteams/setup#step-3%3A-configure-messaging-endpoint) - <a id="step-3-configure-messaging-endpoint" />[Step 3: Configure messaging endpoint](/channels/msteams/setup#step-3-configure-messaging-endpoint) - <a id="step-4%3A-enable-teams-channel" />[Step 4: Enable Teams channel](/channels/msteams/setup#step-4%3A-enable-teams-channel) - <a id="step-4-enable-teams-channel" />[Step 4: Enable Teams channel](/channels/msteams/setup#step-4-enable-teams-channel) - <a id="step-5%3A-build-teams-app-manifest" />[Step 5: Build Teams app manifest](/channels/msteams/setup#step-5%3A-build-teams-app-manifest) - <a id="step-5-build-teams-app-manifest" />[Step 5: Build Teams app manifest](/channels/msteams/setup#step-5-build-teams-app-manifest) - <a id="step-6%3A-configure-openclaw" />[Step 6: Configure OpenClaw](/channels/msteams/setup#step-6%3A-configure-openclaw) - <a id="step-6-configure-openclaw" />[Step 6: Configure OpenClaw](/channels/msteams/setup#step-6-configure-openclaw) - <a id="step-7%3A-run-the-gateway" />[Step 7: Run the gateway](/channels/msteams/setup#step-7%3A-run-the-gateway) - <a id="step-7-run-the-gateway" />[Step 7: Run the gateway](/channels/msteams/setup#step-7-run-the-gateway) - <a id="federated-authentication-(certificate-plus-managed-identity)" />[Federated authentication (certificate plus managed identity)](</channels/msteams/authentication#federated-authentication-(certificate-plus-managed-identity)>) - <a id="federated-authentication-certificate-plus-managed-identity" />[Federated authentication (certificate plus managed identity)](/channels/msteams/authentication#federated-authentication-certificate-plus-managed-identity) - <a id="option-a%3A-certificate-based-authentication" />[Option A: Certificate-based authentication](/channels/msteams/authentication#option-a%3A-certificate-based-authentication) - <a id="option-a-certificate-based-authentication" />[Option A: Certificate-based authentication](/channels/msteams/authentication#option-a-certificate-based-authentication) - <a id="option-b%3A-azure-managed-identity" />[Option B: Azure Managed Identity](/channels/msteams/authentication#option-b%3A-azure-managed-identity) - <a id="option-b-azure-managed-identity" />[Option B: Azure Managed Identity](/channels/msteams/authentication#option-b-azure-managed-identity) - <a id="aks-workload-identity-setup" />[AKS Workload Identity setup](/channels/msteams/authentication#aks-workload-identity-setup) - <a id="auth-type-comparison" />[Auth type comparison](/channels/msteams/authentication#auth-type-comparison) - <a id="local-development-(tunneling)" />[Local development (tunneling)](</channels/msteams/setup#local-development-(tunneling)>) - <a id="local-development-tunneling" />[Local development (tunneling)](/channels/msteams/setup#local-development-tunneling) - <a id="testing-the-bot" />[Testing the bot](/channels/msteams/setup#testing-the-bot) - <a id="environment-variables" />[Environment variables](/channels/msteams/configuration#environment-variables) - <a id="member-info-action" />[Member info action](/channels/msteams/cards-and-actions#member-info-action) - <a id="history-context" />[History context](/channels/msteams/configuration#history-context) - <a id="current-teams-rsc-permissions-(manifest)" />[Current Teams RSC permissions (manifest)](</channels/msteams/manifest-and-permissions#current-teams-rsc-permissions-(manifest)>) - <a id="current-teams-rsc-permissions-manifest" />[Current Teams RSC permissions (manifest)](/channels/msteams/manifest-and-permissions#current-teams-rsc-permissions-manifest) - <a id="example-teams-manifest-(redacted)" />[Example Teams manifest (redacted)](</channels/msteams/manifest-and-permissions#example-teams-manifest-(redacted)>) - <a id="example-teams-manifest-redacted" />[Example Teams manifest (redacted)](/channels/msteams/manifest-and-permissions#example-teams-manifest-redacted) - <a id="manifest-caveats-(must-have-fields)" />[Manifest caveats (must-have fields)](</channels/msteams/manifest-and-permissions#manifest-caveats-(must-have-fields)>) - <a id="manifest-caveats-must-have-fields" />[Manifest caveats (must-have fields)](/channels/msteams/manifest-and-permissions#manifest-caveats-must-have-fields) - <a id="updating-an-existing-app" />[Updating an existing app](/channels/msteams/manifest-and-permissions#updating-an-existing-app) - <a id="capabilities%3A-rsc-only-vs-graph" />[Capabilities: RSC only vs Graph](/channels/msteams/manifest-and-permissions#capabilities%3A-rsc-only-vs-graph) - <a id="capabilities-rsc-only-vs-graph" />[Capabilities: RSC only vs Graph](/channels/msteams/manifest-and-permissions#capabilities-rsc-only-vs-graph) - <a id="with-teams-rsc-only-(app-installed%2C-no-graph-api-permissions)" />[With **Teams RSC only** (app installed, no Graph API permissions)](</channels/msteams/manifest-and-permissions#with-teams-rsc-only-(app-installed%2C-no-graph-api-permissions)>) - <a id="with-teams-rsc-only-app-installed-no-graph-api-permissions" />[With **Teams RSC only** (app installed, no Graph API permissions)](/channels/msteams/manifest-and-permissions#with-teams-rsc-only-app-installed-no-graph-api-permissions) - <a id="with-teams-rsc-%2B-microsoft-graph-application-permissions" />[With **Teams RSC + Microsoft Graph Application permissions**](/channels/msteams/manifest-and-permissions#with-teams-rsc-%2B-microsoft-graph-application-permissions) - <a id="with-teams-rsc-+-microsoft-graph-application-permissions" />[With **Teams RSC + Microsoft Graph Application permissions**](/channels/msteams/manifest-and-permissions#with-teams-rsc-+-microsoft-graph-application-permissions) - <a id="rsc-vs-graph-api" />[RSC vs Graph API](/channels/msteams/manifest-and-permissions#rsc-vs-graph-api) - <a id="graph-enabled-media-%2B-history" />[Graph-enabled media + history](/channels/msteams/manifest-and-permissions#graph-enabled-media-%2B-history) - <a id="graph-enabled-media-+-history" />[Graph-enabled media + history](/channels/msteams/manifest-and-permissions#graph-enabled-media-+-history) - <a id="channel%2Fgroup-file-recovery-(graphmediafallback)" />[Channel/group file recovery (`graphMediaFallback`)](</channels/msteams/manifest-and-permissions#channel%2Fgroup-file-recovery-(graphmediafallback)>) - <a id="channel/group-file-recovery-graphmediafallback" />[Channel/group file recovery (`graphMediaFallback`)](/channels/msteams/manifest-and-permissions#channel/group-file-recovery-graphmediafallback) - <a id="known-limitations" />[Known limitations](/channels/msteams/troubleshooting#known-limitations) - <a id="webhook-timeouts" />[Webhook timeouts](/channels/msteams/troubleshooting#webhook-timeouts) - <a id="teams-cloud-and-service-url-support" />[Teams cloud and service URL support](/channels/msteams/troubleshooting#teams-cloud-and-service-url-support) - <a id="formatting" />[Formatting](/channels/msteams/troubleshooting#formatting) - <a id="configuration" />[Configuration](/channels/msteams/configuration#configuration) - <a id="routing-and-sessions" />[Routing and sessions](/channels/msteams/messaging#routing-and-sessions) - <a id="reply-style%3A-threads-vs-posts" />[Reply style: threads vs posts](/channels/msteams/messaging#reply-style%3A-threads-vs-posts) - <a id="reply-style-threads-vs-posts" />[Reply style: threads vs posts](/channels/msteams/messaging#reply-style-threads-vs-posts) - <a id="resolution-precedence" />[Resolution precedence](/channels/msteams/messaging#resolution-precedence) - <a id="thread-context-preservation" />[Thread context preservation](/channels/msteams/messaging#thread-context-preservation) - <a id="attachments-and-images" />[Attachments and images](/channels/msteams/messaging#attachments-and-images) - <a id="sending-files-in-group-chats" />[Sending files in group chats](/channels/msteams/messaging#sending-files-in-group-chats) - <a id="why-group-chats-need-sharepoint" />[Why group chats need SharePoint](/channels/msteams/messaging#why-group-chats-need-sharepoint) - <a id="setup" />[Setup](/channels/msteams/messaging#setup) - <a id="sharing-behavior" />[Sharing behavior](/channels/msteams/messaging#sharing-behavior) - <a id="fallback-behavior" />[Fallback behavior](/channels/msteams/messaging#fallback-behavior) - <a id="files-stored-location" />[Files stored location](/channels/msteams/messaging#files-stored-location) - <a id="native-approval-cards" />[Native approval cards](/channels/msteams/cards-and-actions#native-approval-cards) - <a id="polls-(adaptive-cards)" />[Polls (Adaptive Cards)](</channels/msteams/cards-and-actions#polls-(adaptive-cards)>) - <a id="polls-adaptive-cards" />[Polls (Adaptive Cards)](/channels/msteams/cards-and-actions#polls-adaptive-cards) - <a id="presentation-cards" />[Presentation cards](/channels/msteams/cards-and-actions#presentation-cards) - <a id="target-formats" />[Target formats](/channels/msteams/cards-and-actions#target-formats) - <a id="proactive-messaging" />[Proactive messaging](/channels/msteams/cards-and-actions#proactive-messaging) - <a id="team-and-channel-ids-(common-gotcha)" />[Team and Channel IDs (Common Gotcha)](</channels/msteams/access-control#team-and-channel-ids-(common-gotcha)>) - <a id="team-and-channel-ids-common-gotcha" />[Team and Channel IDs (Common Gotcha)](/channels/msteams/access-control#team-and-channel-ids-common-gotcha) - <a id="private-channels" />[Private channels](/channels/msteams/access-control#private-channels) - <a id="troubleshooting" />[Troubleshooting](/channels/msteams/troubleshooting#troubleshooting) - <a id="common-issues" />[Common issues](/channels/msteams/troubleshooting#common-issues) - <a id="manifest-upload-errors" />[Manifest upload errors](/channels/msteams/troubleshooting#manifest-upload-errors) - <a id="rsc-permissions-not-working" />[RSC permissions not working](/channels/msteams/troubleshooting#rsc-permissions-not-working) - <a id="references" />[References](/channels/msteams/troubleshooting#references) ## Related <CardGroup cols={2}> <Card title="Channels Overview" icon="list" href="/channels"> All supported channels. </Card> <Card title="Pairing" icon="link" href="/channels/pairing"> DM authentication and pairing flow. </Card> <Card title="Groups" icon="users" href="/channels/groups"> Group chat behavior and mention gating. </Card> <Card title="Channel routing" icon="route" href="/channels/channel-routing"> Session routing for messages. </Card> <Card title="Configuration reference" icon="sliders" href="/gateway/config-channels/workplace-chat"> Teams fields in the channel configuration reference. </Card> <Card title="Security" icon="shield" href="/gateway/security"> Access model and hardening. </Card> <Card title="Microsoft Teams meetings plugin" icon="video" href="/plugins/teams-meetings"> Joining Teams meetings as a guest. </Card> </CardGroup>