Microsoft Teams for AI agents
Microsoft Teams combines chat, video meetings, and file sharing inside Microsoft 365 for distributed team collaboration and company-wide communication across departments. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.
What agents do in Microsoft Teams.
Post a message to a channel
Send an update to a team channel after a task or milestone completes.
Check a chat's recent messages
Read recent messages in a chat to catch up before replying, read-only.
Approve before archiving a team
Require approval before archiving a team, since it locks the channel for all members.
174 Microsoft Teams actions, graded by risk.
Every Microsoft Teams action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.
read
72Look things up. Allowed by default.
- microsoft_teams.get_tabGet channel tab
- microsoft_teams.get_chatGet chat
- microsoft_teams.get_shiftGet shift
- microsoft_teams.list_chatList chats (Deprecated)
- microsoft_teams.list_usersList users
- microsoft_teams.get_channelGet team channel
- microsoft_teams.list_peopleList People
- microsoft_teams.list_shiftsList shifts
- microsoft_teams.get_day_noteGet day note
- microsoft_teams.get_presenceGet User Presence
- microsoft_teams.get_scheduleGet schedule
- microsoft_teams.get_time_offGet time off by ID
- microsoft_teams.search_filesSearch Teams files
- microsoft_teams.get_user_chatGet user chat
- microsoft_teams.list_time_offList team time off entries
- microsoft_teams.get_my_profileGet User Profile
write
76Create and change things. Allow, or ask the user first.
- microsoft_teams.add_tabAdd tab to channel
- microsoft_teams.update_tabUpdate Teams channel tab
- microsoft_teams.create_teamCreate Team
- microsoft_teams.update_callUpdate Call
- microsoft_teams.update_chatUpdate Chat
- microsoft_teams.update_teamUpdate Team
- microsoft_teams.create_shiftCreate team schedule shift
- microsoft_teams.create_channelCreate a channel
- microsoft_teams.create_meetingCreate online meeting
- microsoft_teams.update_channelUpdate Teams channel
- microsoft_teams.add_chat_memberAdd chat member
- microsoft_teams.add_team_memberAdd member to team
- microsoft_teams.create_time_offCreate time off
- microsoft_teams.update_day_noteUpdate schedule day note
- microsoft_teams.update_time_offUpdate time off
- microsoft_teams.create_open_shiftCreate open shifts
destructive
26Delete, cancel or archive. Ask first, or deny outright.
- microsoft_teams.delete_tabDelete channel tab
- microsoft_teams.delete_teamDelete Teams team
- microsoft_teams.archive_teamArchive Teams team
- microsoft_teams.delete_shiftDelete team schedule shift
- microsoft_teams.delete_channelDelete team channel
- microsoft_teams.archive_channelArchive channel
- microsoft_teams.delete_day_noteDelete team schedule day note
- microsoft_teams.delete_time_offDelete time off
- microsoft_teams.delete_open_shiftDelete open shift
- microsoft_teams.remove_chat_memberRemove chat member
- microsoft_teams.remove_team_memberRemove team member
- microsoft_teams.delete_soft_messageSoft-delete Teams channel message
- microsoft_teams.remove_team_membersRemove team members
- microsoft_teams.remove_channel_emailRemove channel email address
- microsoft_teams.delete_call_operationDelete Call Operation
- microsoft_teams.delete_time_off_reasonDelete time off reason
Microsoft Teams in three steps.
- 01Your users connect Microsoft TeamsThey sign in to Microsoft Teams on Arc0 Connect, under your brand, and approve the access you ask for.
- 02You set the rulesReads run, writes like “create Team” can wait for the user, and “delete channel tab” can be denied outright.
- 03Any agent can actYour agent calls Microsoft Teams through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
await arc0.policies.set('microsoft_teams', { read: 'allow', write: 'ask', // create_team destructive: 'deny', // delete_tab }) # Claude Code: the same connection, one URL $ claude mcp add --transport http arc0 \ https://mcp.arc0.ai/u/u_8f2
How Microsoft Teams connects.
Users sign in to Microsoft Teams on Arc0 Connect and approve the scopes you request. Build with Arc0’s Microsoft Teams OAuth app, or bring your own so the Microsoft Teams consent screen names you. Tokens refresh automatically, and you can export them whenever you want.
The same Microsoft Teams connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →
- AUTH
- OAuth 2.0 · OAuth 2.0 client credentials
- CREDENTIALS
- Per-tenant encrypted vault
- MODEL SEES
- Results only, never credentials
- AUDIT LOG
- Every call, on every plan
Use Microsoft Teams from any agent.
Microsoft Teams and Arc0, answered.
Can I use Microsoft Teams with Claude, ChatGPT or Cursor?
Yes. Connect Microsoft Teams to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Microsoft Teams actions you allow.
How do users connect Microsoft Teams?
Users sign in to Microsoft Teams on Arc0 Connect and approve the scopes you request. Build with Arc0’s Microsoft Teams OAuth app, or bring your own so the Microsoft Teams consent screen names you. Tokens refresh automatically, and you can export them whenever you want.
Which Microsoft Teams actions can my agent take?
174 in total: 72 read, 76 write and 26 destructive, such as “create Team”. Your policies decide which of them each agent may call.
Can I stop my agent from deleting things in Microsoft Teams?
Yes. Actions like “delete channel tab” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.
Can my own backend call Microsoft Teams too?
Yes. The same Microsoft Teams connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.
Plug Microsoft Teams into your agent.
Your users connect Microsoft Teams once, under your brand. Your agent gets 174 actions behind your policies, with every call on the record.
Free to build · MCP + REST · Audit log on every plan