Complete AI Training
Sign inBecome a member

Your job's AI kit

Get your AI kit

Tell us who you are and what you do. We show you your kit right away and email you the link: skills, prompts, AI agents, MCP servers and courses for your job.

500+ jobs ready, and we make a kit for any other job. No payment needed to look.

Share

Skill ยท Communication

Microsoft Teams Automation

Automate Microsoft Teams messaging, meetings, channels, and workflow integrations

Claude Office SkillsLicense: MITAdded Sep 29, 2026
Use it in my AI

How to use it

  1. Start your plan and connect your AI once
  2. Add the skill to your AI, one time only: press Copy skill and paste it into your AI's instructions: a project in ChatGPT, Claude or Grok, a Gem in Gemini, an agent in Microsoft 365 Copilot, or a rule in Cursor. It stays there for every new chat. In Kimi, paste it at the start of a new chat.
  3. Ask for the task in your own words, or say it directly:
Use the Microsoft Teams Automation skill to help me with this.
SKILL.md

Microsoft Teams Automation

Automate Microsoft Teams communication and collaboration workflows.

Core Capabilities

Channel Messaging

message_types:
  simple_message:
    channel_id: "channel_xxx"
    message: "Hello, Team!"
    
  formatted_message:
    channel_id: "channel_xxx"
    content_type: "html"
    message: |
      <h1>Weekly Update</h1>
      <ul>
        <li>Item 1</li>
        <li>Item 2</li>
      </ul>
      
  adaptive_card:
    channel_id: "channel_xxx"
    card:
      type: "AdaptiveCard"
      body:
        - type: "TextBlock"
          text: "Approval Required"
          weight: "bolder"
        - type: "Input.Text"
          id: "comment"
          placeholder: "Add comment"
      actions:
        - type: "Action.Submit"
          title: "Approve"
          data:
            action: "approve"

Meeting Automation

meeting_creation:
  subject: "Weekly Standup"
  start: "2024-01-20T09:00:00"
  end: "2024-01-20T09:30:00"
  attendees:
    - "user1@company.com"
    - "user2@company.com"
  is_online_meeting: true
  settings:
    allow_new_time_proposals: true
    lobby_bypass: "organization"
    record_automatically: false

Incoming Webhooks

webhook_message:
  url: "https://outlook.webhook.office.com/..."
  payload:
    "@type": "MessageCard"
    themeColor: "0076D7"
    summary: "Deployment Complete"
    sections:
      - activityTitle: "Production Deployment"
        activitySubtitle: "v2.1.0 deployed successfully"
        facts:
          - name: "Environment"
            value: "Production"
          - name: "Duration"
            value: "5 minutes"
        markdown: true
    potentialAction:
      - "@type": "OpenUri"
        name: "View Dashboard"
        targets:
          - os: "default"
            uri: "https://dashboard.example.com"

Bot Workflows

bot_commands:
  /status:
    description: "Check system status"
    response:
      type: adaptive_card
      template: status_card
      
  /create-ticket:
    description: "Create support ticket"
    parameters:
      - title: required
      - priority: optional
    action: create_jira_issue
    
  /approve {id}:
    description: "Approve request"
    action: process_approval
    response: "Request {{id}} approved โœ“"

Integration Workflows

CI/CD Notifications

pipeline_notifications:
  on_build_start:
    channel: "#deployments"
    card:
      title: "๐Ÿš€ Build Started"
      fields:
        - Branch: "{{branch}}"
        - Triggered by: "{{user}}"
        
  on_build_complete:
    channel: "#deployments"
    card:
      title: "{{#if success}}โœ…{{else}}โŒ{{/if}} Build {{status}}"
      fields:
        - Duration: "{{duration}}"
        - Tests: "{{tests_passed}}/{{tests_total}}"
      actions:
        - title: "View Logs"
          url: "{{logs_url}}"

Approval Workflows

approval_flow:
  trigger: expense_submitted
  actions:
    - send_adaptive_card:
        channel: "#approvals"
        card:
          title: "Expense Approval"
          body: "{{employee}} submitted ${{amount}}"
          actions:
            - Approve
            - Reject
    - wait_for_response:
        timeout: 48_hours
    - process_decision:
        approved: update_expense_status
        rejected: notify_submitter

Best Practices

  1. Rate Limits: Respect Microsoft Graph limits
  2. Adaptive Cards: Use for rich interactions
  3. Permissions: Request minimal scopes
  4. Threading: Reply in threads for context
  5. Mentions: Use @mentions sparingly
  6. Webhooks: Use for one-way notifications