[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-22bae815-a361-4159-8299-d39a4620f7bd":3,"$fObGhOHiS-oGjX4NiRmmxtDeu5SNPMwQP_rzDwuSrEnk":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"22bae815-a361-4159-8299-d39a4620f7bd","microsoft-teams-automation","通过Rube MCP（Composio）自动化Microsoft Teams任务：发送消息、管理频道、创建会议、处理聊天、搜索消息。始终首先搜索当前架构的工具。","cat_prod_automation","mod_productivity","sickn33,productivity","---\nname: microsoft-teams-automation\ndescription: \"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.\"\nrisk: critical\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Microsoft Teams Automation via Rube MCP\n\nAutomate Microsoft Teams operations through Composio's Microsoft Teams toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Microsoft Teams connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `microsoft_teams`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `microsoft_teams`\n3. If connection is not ACTIVE, follow the returned auth link to complete Microsoft OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Send Channel Messages\n\n**When to use**: User wants to post a message to a Teams channel\n\n**Tool sequence**:\n1. `MICROSOFT_TEAMS_TEAMS_LIST` - List teams to find target team [Prerequisite]\n2. `MICROSOFT_TEAMS_TEAMS_LIST_CHANNELS` - List channels in the team [Prerequisite]\n3. `MICROSOFT_TEAMS_TEAMS_POST_CHANNEL_MESSAGE` - Post the message [Required]\n\n**Key parameters**:\n- `team_id`: UUID of the team (from TEAMS_LIST)\n- `channel_id`: Channel ID (from LIST_CHANNELS, format: '19:...@thread.tacv2')\n- `content`: Message text or HTML\n- `content_type`: 'text' or 'html'\n\n**Pitfalls**:\n- team_id must be a valid UUID format\n- channel_id must be in thread format (e.g., '19:abc@thread.tacv2')\n- TEAMS_LIST may paginate (~100 items\u002Fpage); follow @odata.nextLink to find all teams\n- LIST_CHANNELS can return 403 if user lacks access to the team\n- Messages over ~28KB can trigger 400\u002F413 errors; split long content\n- Throttling may return 429; use exponential backoff (1s\u002F2s\u002F4s)\n\n### 2. Send Chat Messages\n\n**When to use**: User wants to send a direct or group chat message\n\n**Tool sequence**:\n1. `MICROSOFT_TEAMS_CHATS_GET_ALL_CHATS` - List existing chats [Optional]\n2. `MICROSOFT_TEAMS_LIST_USERS` - Find users for new chats [Optional]\n3. `MICROSOFT_TEAMS_TEAMS_CREATE_CHAT` - Create a new chat [Optional]\n4. `MICROSOFT_TEAMS_TEAMS_POST_CHAT_MESSAGE` - Send the message [Required]\n\n**Key parameters**:\n- `chat_id`: Chat ID (from GET_ALL_CHATS or CREATE_CHAT)\n- `content`: Message content\n- `content_type`: 'text' or 'html'\n- `chatType`: 'oneOnOne' or 'group' (for CREATE_CHAT)\n- `members`: Array of member objects (for CREATE_CHAT)\n\n**Pitfalls**:\n- CREATE_CHAT requires the authenticated user as one of the members\n- oneOnOne chats return existing chat if one already exists between the two users\n- group chats require at least one member with 'owner' role\n- member user_odata_bind must use full Microsoft Graph URL format\n- Chat filter support is very limited; filter client-side when needed\n\n### 3. Create Online Meetings\n\n**When to use**: User wants to schedule a Microsoft Teams meeting\n\n**Tool sequence**:\n1. `MICROSOFT_TEAMS_LIST_USERS` - Find participant user IDs [Optional]\n2. `MICROSOFT_TEAMS_CREATE_MEETING` - Create the meeting [Required]\n\n**Key parameters**:\n- `subject`: Meeting title\n- `start_date_time`: ISO 8601 start time (e.g., '2024-08-15T10:00:00Z')\n- `end_date_time`: ISO 8601 end time (must be after start)\n- `participants`: Array of user objects with user_id and role\n\n**Pitfalls**:\n- end_date_time must be strictly after start_date_time\n- Participants require valid Microsoft user_id (GUID) values, not emails\n- This creates a standalone meeting not linked to a calendar event\n- For calendar-linked meetings, use OUTLOOK_CALENDAR_CREATE_EVENT with is_online_meeting=true\n\n### 4. Manage Teams and Channels\n\n**When to use**: User wants to list, create, or manage teams and channels\n\n**Tool sequence**:\n1. `MICROSOFT_TEAMS_TEAMS_LIST` - List all accessible teams [Required]\n2. `MICROSOFT_TEAMS_GET_TEAM` - Get details for a specific team [Optional]\n3. `MICROSOFT_TEAMS_TEAMS_LIST_CHANNELS` - List channels in a team [Optional]\n4. `MICROSOFT_TEAMS_GET_CHANNEL` - Get channel details [Optional]\n5. `MICROSOFT_TEAMS_TEAMS_CREATE_CHANNEL` - Create a new channel [Optional]\n6. `MICROSOFT_TEAMS_LIST_TEAM_MEMBERS` - List team members [Optional]\n7. `MICROSOFT_TEAMS_ADD_MEMBER_TO_TEAM` - Add a member to the team [Optional]\n\n**Key parameters**:\n- `team_id`: Team UUID\n- `channel_id`: Channel ID in thread format\n- `filter`: OData filter string (e.g., \"startsWith(displayName,'Project')\")\n- `select`: Comma-separated properties to return\n\n**Pitfalls**:\n- TEAMS_LIST pagination: follow @odata.nextLink in large tenants\n- Private\u002Fshared channels may be omitted unless permissions align\n- GET_CHANNEL returns 404 if team_id or channel_id is wrong\n- Always source IDs from list operations; do not guess ID formats\n\n### 5. Search Messages\n\n**When to use**: User wants to find messages across Teams chats and channels\n\n**Tool sequence**:\n1. `MICROSOFT_TEAMS_SEARCH_MESSAGES` - Search with KQL syntax [Required]\n\n**Key parameters**:\n- `query`: KQL search query (supports from:, sent:, attachments, boolean logic)\n\n**Pitfalls**:\n- Newly posted messages may take 30-60 seconds to appear in search\n- Search is eventually consistent; do not rely on it for immediate delivery confirmation\n- Use message listing tools for real-time message verification\n\n## Common Patterns\n\n### Team and Channel ID Resolution\n\n```\n1. Call MICROSOFT_TEAMS_TEAMS_LIST\n2. Find team by displayName\n3. Extract team id (UUID format)\n4. Call MICROSOFT_TEAMS_TEAMS_LIST_CHANNELS with team_id\n5. Find channel by displayName\n6. Extract channel id (19:...@thread.tacv2 format)\n```\n\n### User Resolution\n\n```\n1. Call MICROSOFT_TEAMS_LIST_USERS\n2. Filter by displayName or email\n3. Extract user id (UUID format)\n4. Use for meeting participants, chat members, or team operations\n```\n\n### Pagination\n\n- Teams\u002FUsers: Follow @odata.nextLink URL for next page\n- Chats: Auto-paginates up to limit; use top for page size (max 50)\n- Use `top` parameter to control page size\n- Continue until @odata.nextLink is absent\n\n## Known Pitfalls\n\n**Authentication and Permissions**:\n- Different operations require different Microsoft Graph permissions\n- 403 errors indicate insufficient permissions or team access\n- Some operations require admin consent in the Azure AD tenant\n\n**ID Formats**:\n- Team IDs: UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707')\n- Channel IDs: Thread format (e.g., '19:abc123@thread.tacv2')\n- Chat IDs: Various formats (e.g., '19:meeting_xxx@thread.v2')\n- User IDs: UUID format\n- Never guess IDs; always resolve from list operations\n\n**Rate Limits**:\n- Microsoft Graph enforces throttling\n- 429 responses include Retry-After header\n- Keep requests to a few per second\n- Batch operations help reduce total request count\n\n**Message Formatting**:\n- HTML content_type supports rich formatting\n- Adaptive cards require additional handling\n- Message size limit is approximately 28KB\n- Split long content into multiple messages\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| List teams | MICROSOFT_TEAMS_TEAMS_LIST | filter, select, top |\n| Get team details | MICROSOFT_TEAMS_GET_TEAM | team_id |\n| List channels | MICROSOFT_TEAMS_TEAMS_LIST_CHANNELS | team_id, filter |\n| Get channel | MICROSOFT_TEAMS_GET_CHANNEL | team_id, channel_id |\n| Create channel | MICROSOFT_TEAMS_TEAMS_CREATE_CHANNEL | team_id, displayName |\n| Post to channel | MICROSOFT_TEAMS_TEAMS_POST_CHANNEL_MESSAGE | team_id, channel_id, content |\n| List chats | MICROSOFT_TEAMS_CHATS_GET_ALL_CHATS | user_id, limit |\n| Create chat | MICROSOFT_TEAMS_TEAMS_CREATE_CHAT | chatType, members, topic |\n| Post to chat | MICROSOFT_TEAMS_TEAMS_POST_CHAT_MESSAGE | chat_id, content |\n| Create meeting | MICROSOFT_TEAMS_CREATE_MEETING | subject, start_date_time, end_date_time |\n| List users | MICROSOFT_TEAMS_LIST_USERS | filter, select, top |\n| List team members | MICROSOFT_TEAMS_LIST_TEAM_MEMBERS | team_id |\n| Add team member | MICROSOFT_TEAMS_ADD_MEMBER_TO_TEAM | team_id, user_id |\n| Search messages | MICROSOFT_TEAMS_SEARCH_MESSAGES | query |\n| Get chat message | MICROSOFT_TEAMS_GET_CHAT_MESSAGE | chat_id, message_id |\n| List joined teams | MICROSOFT_TEAMS_LIST_USER_JOINED_TEAMS | (none) |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,215,896,"2026-05-16 13:28:45",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"效率工具","productivity","mdi-lightning-bolt-outline","文档处理、数据分析、自动化工作流",4,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"自动化","automation","mdi-robot-outline","工作流自动化、批处理",3,101,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"11829f60-9db0-4194-8791-656ea1583e31","1.0.0","microsoft-teams-automation.zip",3495,"uploads\u002Fskills\u002F22bae815-a361-4159-8299-d39a4620f7bd\u002Fmicrosoft-teams-automation.zip","31a7e52dc4b41d69716fb225eded5a5ba409cc9b74984d262ed389f18a74db27","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":8972}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]