How to
How to connect Claude to Microsoft Teams
Teams is where the conversation already lives, and Claude can often read a slice of it. The question is what happens when you want the update posted into the right channel, the reply landed in the thread, and every outbound message gated on your approval.
Connect Claude to Microsoft Teams either with the available connector, which can often search and summarize messages, or with a custom MCP connector when you need write access. A custom build lets Claude post to a specific channel, reply inside a thread, send direct or group chats, and react or mention people, each outbound action gated on your approval.
Key takeaways
- The available Microsoft Teams connector tends to be read-leaning or covers a thin slice: searching and summarizing messages, but typically not posting, replying in threads, or managing chats.
- A custom connector adds write actions through the Microsoft Graph API with tools like `post_message`, `reply_in_thread`, `send_chat`, and `add_reaction`.
- Claude authenticates as your own Microsoft account through OAuth 2.0, so it only sees the teams, channels, and chats you can already see.
- Every outbound action, posting, replying, or sending a chat, runs only after you approve it, so nothing reaches your teammates unreviewed.
Can Claude connect to Microsoft Teams today?
Yes, but the available connector tends to be read-leaning or covers a thin slice. Claude can often search and summarize messages, which answers questions about what happened in a channel. Posting to channels, replying in threads, and managing chats are typically limited, which is the half that keeps conversations moving.
Start with the honest version: if what you want is a digest, what did the project channel decide this week, what is the thread about, the available connection may carry you. Connect it and try it first.
The friction shows up when Claude's output has to land back in Teams. The status update it drafted still gets pasted into the channel by you, the thread reply still means switching apps, and nothing gets reacted to or flagged on its own. A custom connector, built on the Microsoft Graph API, closes that gap so the drafting and follow-up happen where the conversation already lives.
The wider pattern holds beyond this one tool: in our June 2026 review of 264 business tools, 77 percent had no Claude connector at all, and none shipped full read-write out of the box.
How do I set up a custom Microsoft Teams connector for Claude?
A custom Teams connector is built for you as a small MCP server that authenticates through the Microsoft Graph API with OAuth 2.0, using the narrowest scopes the work needs. Read tools and write tools are separated, Claude acts as your own Microsoft account, and outbound actions run only after you confirm them.
The path from request to working connector:
- 1Describe the Teams work Claude should handle: which channels it posts to, which threads it follows, and what kinds of updates it drafts.
- 2We build a small MCP server on the Microsoft Graph API, with read tools (search, read messages) separated from write tools (post, reply, send chat).
- 3You authenticate through OAuth 2.0 as your own Microsoft account, so Claude only sees the teams, channels, and chats you can already see.
- 4Claude starts drafting in conversation, and every outbound action, a channel post, a thread reply, a chat, runs only after you approve it.
Access is revocable at any time, and the connector never holds broader Graph scopes than the work requires.
What can Claude do in Microsoft Teams with write access?
With full read-write access, Claude posts a message to a specific channel, replies inside an existing thread so the conversation stays intact, sends direct or group chat messages, adds reactions or mentions people to flag a message, and shares links or short updates into the right channel, each after your approval.
The tool set maps to the app-switching most updates cost today:
post_messageto post to the specific channel you choose, after you approve it.reply_in_threadto answer inside an existing channel thread, preserving the conversation.send_chatto message a teammate or group directly.add_reactionto react or mention people and flag a message for attention.
Claude can also search recent messages and propose a drafted summary to post back, which is how a standup recap or weekly digest goes from ten minutes of scrolling to one approval.
Will Claude post to Teams without my approval?
No. Posting to a channel, replying in a thread, and sending a chat are all gated write actions. Claude can search, read, and prepare the message, but it reaches your teammates only after you approve it. You decide which actions are automatic and which require a confirmation step.
In practice, most teams let searching and reading flow freely and gate everything outbound, because a message in a channel is public to the team the moment it lands.
Claude only sees what you can see
The connector authenticates as your account through OAuth and the Microsoft Graph API, inheriting your existing permissions. It can only see the teams, channels, and chats you can already see, and it never grants Claude more access to Teams than you already have.
When is the default Teams connector enough, and when is it not?
The default is enough when you want summaries: what a channel decided, what a thread is about, what came in while you were out. It stops being enough when Claude's output belongs back in Teams: posts in the right channel, replies in the thread, chats to teammates, all gated on your approval.
A quick self-test: count how often you paste something Claude wrote into a Teams message box. If the answer is rarely, the read-leaning default is fine. If Claude already writes your standup recaps, status updates, and thread replies and you are just the courier between windows, a purpose-built connector removes the courier step and keeps your approval as the only gate.
