microsoft-teams-automation
Lets your agent automate tasks in Microsoft Teams. It can send messages, manage channels, and create meetings, saving you time.
What it does
This tool automates tasks in Microsoft Teams. You can send messages to channels or chats, create online meetings, manage teams and channels, and search for messages.
When to use it
- ✓Send an important announcement to a specific channel.
- ✓Schedule a quick meeting with colleagues.
- ✓Find an old conversation in a chat.
Example of what to ask your AI
“Send a message to the 'Projects' channel in the 'Development' team saying 'Planning meeting tomorrow at 10 AM'.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool connects to Microsoft Teams and uses specific commands to perform the actions you request. It first retrieves necessary information, like team and channel IDs, before executing the task.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill microsoft-teams-automationOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/microsoft-teams-automation/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Microsoft Teams Automation via Rube MCP
Automate Microsoft Teams operations through Composio's Microsoft Teams toolkit via Rube MCP.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Microsoft Teams connection via
RUBE_MANAGE_CONNECTIONSwith toolkitmicrosoft_teams - Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - Call
RUBE_MANAGE_CONNECTIONSwith toolkitmicrosoft_teams - If connection is not ACTIVE, follow the returned auth link to complete Microsoft OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Send Channel Messages
When to use: User wants to post a message to a Teams channel
Tool sequence:
MICROSOFT_TEAMS_TEAMS_LIST- List teams to find target team [Prerequisite]MICROSOFT_TEAMS_TEAMS_LIST_CHANNELS- List channels in the team [Prerequisite]MICROSOFT_TEAMS_TEAMS_POST_CHANNEL_MESSAGE- Post the message [Required]
Key parameters:
team_id: UUID of the team (from TEAMS_LIST)channel_id: Channel ID (from LIST_CHANNELS, format: '19:...@thread.tacv2')content: Message text or HTMLcontent_type: 'text' or 'html'
Pitfalls:
- team_id must be a valid UUID format
- channel_id must be in thread format (e.g., '19:abc@thread.tacv2')
- TEAMS_LIST may paginate (~100 items/page); follow @odata.nextLink to find all teams
- LIST_CHANNELS can return 403 if user lacks access to the team
- Messages over ~28KB can trigger 400/413 errors; split long content
- Throttling may return 429; use exponential backoff (1s/2s/4s)
2. Send Chat Messages
When to use: User wants to send a direct or group chat message
Tool sequence:
MICROSOFT_TEAMS_CHATS_GET_ALL_CHATS- List existing chats [Optional]MICROSOFT_TEAMS_LIST_USERS- Find users for new chats [Optional]MICROSOFT_TEAMS_TEAMS_CREATE_CHAT- Create a new chat [Optional]MICROSOFT_TEAMS_TEAMS_POST_CHAT_MESSAGE- Send the message [Required]
Key parameters:
chat_id: Chat ID (from GET_ALL_CHATS or CREATE_CHAT)content: Message contentcontent_type: 'text' or 'html'chatType: 'oneOnOne' or 'group' (for CREATE_CHAT)members: Array of member objects (for CREATE_CHAT)
Pitfalls:
- CREATE_CHAT requires the authenticated user as one of the members
- oneOnOne chats return existing chat if one already exists between the two users
- group chats require at least one member with 'owner' role
- member user_odata_bind must use full Microsoft Graph URL format
- Chat filter support is very limited; filter client-side when needed
3. Create Online Meetings
When to use: User wants to schedule a Microsoft Teams meeting
Tool sequence:
MICROSOFT_TEAMS_LIST_USERS- Find participant user IDs [Optional]MICROSOFT_TEAMS_CREATE_MEETING- Create the meeting [Required]
Key parameters:
subject: Meeting titlestart_date_time: ISO 8601 start time (e.g., '2024-08-15T10:00:00Z')end_date_time: ISO 8601 end time (must be after start)participants: Array of user objects with user_id and role
Pitfalls:
- end_date_time must be strictly after start_date_time
- Participants require valid Microsoft user_id (GUID) values, not emails
- This creates a standalone meeting not linked to a calendar event
- For calendar-linked meetings, use OUTLOOK_CALENDAR_CREATE_EVENT with is_online_meeting=true
4. Manage Teams and Channels
When to use: User wants to list, create, or manage teams and channels
Tool sequence:
MICROSOFT_TEAMS_TEAMS_LIST- List all accessible teams [Required]MICROSOFT_TEAMS_GET_TEAM- Get details for a specific team [Optional]MICROSOFT_TEAMS_TEAMS_LIST_CHANNELS- List channels in a team [Optional]MICROSOFT_TEAMS_GET_CHANNEL- Get channel details [Optional]MICROSOFT_TEAMS_TEAMS_CREATE_CHANNEL- Create a new channel [Optional]MICROSOFT_TEAMS_LIST_TEAM_MEMBERS- List team members [Optional]MICROSOFT_TEAMS_ADD_MEMBER_TO_TEAM- Add a member to the team [Optional]
Key parameters:
team_id: Team UUIDchannel_id: Channel ID in thread formatfilter: OData filter string (e.g., "startsWith(displayName,'Project')")
…
FAQ
Do I need to have Microsoft Teams installed?
No, you just need an active Microsoft Teams account and to authorize the connection with this tool.
How does the tool find teams and channels?
It uses commands to list all teams and channels you have access to and asks you to choose or identifies them by the name you provide.
Can I send messages to anyone?
You can send messages to channels or chats where you are a member. To create new chats, you need to specify the participants.
Details
Original description by the author
Automate Microsoft Teams tasks via Rube MCP (Composio): send messages, manage channels, create meetings, handle chats, and search messages. Always search tools first for current schemas.
Popularity
- GitHub stars
- 48k
- Ranking position
- #3593
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
benchmark
Helps your agent measure code speed and performance. It's useful for ensuring things are fast and finding slowness issues.
affaan-m/ECC
content-hash-cache-pattern
Lets your agent use content hashes to cache file processing results. This avoids repeated processing and auto-invalidates the cache when content changes. Useful for speeding up slow tasks.
affaan-m/ECC
parallel-execution-optimizer
Makes your agent speed up complex tasks by breaking them into smaller parts and running them in parallel. It ensures everything is verified at the end.
affaan-m/ECC