Andrejones92

microsoft-teams

2
0
# Install this skill:
npx skills add Andrejones92/canifi-life-os --skill "microsoft-teams"

Install specific skill from multi-skill repository

# Description

Enables Claude to send messages, manage channels, and schedule meetings in Microsoft Teams via Playwright MCP

# SKILL.md


name: microsoft-teams
description: Enables Claude to send messages, manage channels, and schedule meetings in Microsoft Teams via Playwright MCP
category: microsoft


Microsoft Teams Skill

Overview

Claude can interact with Microsoft Teams to send messages, manage channels, schedule meetings, and collaborate with team members. Supports chat, channels, file sharing, and meeting management.

Quick Install

curl -sSL https://canifi.com/skills/microsoft-teams/install.sh | bash

Or manually:

cp -r skills/microsoft-teams ~/.canifi/skills/

Setup

Configure via canifi-env:

# First, ensure canifi-env is installed:
# curl -sSL https://canifi.com/install.sh | bash

canifi-env set MICROSOFT_EMAIL "[email protected]"

Privacy & Authentication

Your credentials, your choice. Canifi LifeOS respects your privacy.

If you prefer not to share credentials with Claude Code:
1. Complete the Browser Automation Setup using CDP mode
2. Login to the service manually in the Playwright-controlled Chrome window
3. Claude will use your authenticated session without ever seeing your password

Option 2: Environment Variables

If you're comfortable sharing credentials, you can store them locally:

canifi-env set SERVICE_EMAIL "your-email"
canifi-env set SERVICE_PASSWORD "your-password"

Note: Credentials stored in canifi-env are only accessible locally on your machine and are never transmitted.

Capabilities

  • Send and read chat messages
  • Post in team channels
  • Create and manage channels
  • Schedule and join meetings
  • Share files in conversations
  • Mention team members
  • React to messages
  • Create and manage teams
  • Search messages and files
  • Set status and availability
  • Create meeting notes
  • Manage team membership

Usage Examples

Example 1: Send Message

User: "Send a message to the Marketing channel about the campaign launch"
Claude: Opens Teams, navigates to Marketing channel, posts message.
        Confirms: "Message posted to Marketing channel"

Example 2: Schedule Meeting

User: "Schedule a team meeting for tomorrow at 2pm"
Claude: Creates meeting invite for tomorrow 2pm,
        adds team members, sends invitation.
        Returns: "Meeting scheduled, invite sent to team"

Example 3: Read Channel

User: "What's new in the Engineering channel?"
Claude: Opens Engineering channel, reads recent messages.
        Reports: "Recent updates:
        1. John posted about API changes
        2. Sarah shared test results..."

Example 4: Direct Message

User: "Send Mike a message about the deadline extension"
Claude: Opens chat with Mike, sends message about deadline.
        Confirms: "Message sent to Mike"

Authentication Flow

  1. Claude navigates to teams.microsoft.com via Playwright MCP
  2. Authenticates with MICROSOFT_EMAIL if needed
  3. Handles 2FA if prompted (notifies user via iMessage)
  4. Maintains session for Teams operations

Selectors Reference

// Teams list
'[aria-label="Teams and Channels"]'

// Channel list
'.channel-list'

// Chat list
'[aria-label="Chats"]'

// Message compose
'[aria-label="Type a new message"]'

// Send button
'[aria-label="Send"]'

// New meeting
'[aria-label="New meeting"]'

// Calendar
'[aria-label="Calendar"]'

// Search
'[aria-label="Search"]'

// New team
'[aria-label="Create a new team"]'

// Add member
'[aria-label="Add member"]'

// Files tab
'[aria-label="Files"]'

Error Handling

  • Login Failed: Retry 3 times, notify user via iMessage
  • Session Expired: Re-authenticate automatically
  • Channel Not Found: List available channels, ask for clarification
  • Message Send Failed: Retry, save as draft
  • Meeting Create Failed: Check calendar conflicts, retry
  • Team Not Accessible: Notify user of permission issue

Self-Improvement Instructions

When you learn a better way to accomplish a task with Teams:
1. Document the improvement in your response
2. Suggest updating this skill file with the new approach
3. Include specific navigation patterns that work better
4. Note any new features or integrations

Notes

  • Teams web app has most desktop features
  • Notifications may require permissions
  • File sharing integrates with OneDrive/SharePoint
  • Meeting recordings saved to OneDrive or SharePoint
  • @mentions notify specific users
  • Status syncs with Outlook calendar
  • Loop components enable collaborative content
  • Keyboard shortcuts available for navigation

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.