Microsoft Teams Integration
Automate Microsoft Teams messaging, meetings, channels, and workflow integrations
You manually post updates to five Teams channels every morning, copy-paste meeting summaries into chats, and create the same recurring meeting agenda every week. Teams has automation capabilities you've never configured because the Graph API docs are overwhelming.
Who it's for: IT administrators managing Teams environments for organizations, operations managers automating team communication workflows, project managers integrating Teams with project tracking tools, enterprise teams building custom Teams bots and connectors, internal comms leads automating company-wide announcements
Example
"Automate our daily standup workflow in Teams" → Automated standup bot that posts prompts at 9 AM, collects responses, summarizes blockers to the manager channel, creates follow-up tasks in Planner, and archives weekly summaries
New here? 3-minute setup guide → | Already set up? Copy the template below.
# Microsoft Teams Automation
Automate Microsoft Teams communication and collaboration workflows.
## Core Capabilities
### Channel Messaging
```yaml
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
```yaml
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
```yaml
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
```yaml
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
```yaml
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
```yaml
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 notificationsWhat This Does
Automate Microsoft Teams communication and collaboration workflows.
Quick Start
Step 1: Create a Project Folder
mkdir -p ~/Documents/MicrosoftTeams
Step 2: Download the Template
Click Download above, then:
mv ~/Downloads/CLAUDE.md ~/Documents/MicrosoftTeams/
Step 3: Start Working
cd ~/Documents/MicrosoftTeams
claude
Best Practices
- Rate Limits: Respect Microsoft Graph limits
- Adaptive Cards: Use for rich interactions
- Permissions: Request minimal scopes
- Threading: Reply in threads for context
- Mentions: Use @mentions sparingly
- Webhooks: Use for one-way notifications