Microsoft Teams Integration
Bring OpenClaw AI to Microsoft Teams
Meet your workforce where they work. Microsoft Teams hosts over 320 million monthly active users, and now OpenClaw brings intelligent AI assistance to this enterprise collaboration platform. Integrate with Microsoft 365 apps, search SharePoint, automate Power Automate flows, and provide organization-wide AI assistance - all within the Teams interface your employees already use daily.
Setup Guide
Create Azure AD Application
Register an application in Azure Active Directory to establish your bot's identity. This is the foundation for authentication and authorization within Microsoft's ecosystem.
# Azure Portal: https://portal.azure.com
# 1. Navigate to Azure Active Directory > App registrations
# 2. Click 'New registration'
# 3. Configure:
# - Name: OpenClaw AI Bot
# - Supported account types: Accounts in this org directory
# - Redirect URI: https://token.botframework.com/.auth/web/redirect
# 4. After creation, note:
# - Application (client) ID
# - Directory (tenant) ID
# 5. Create client secret:
# - Certificates & secrets > New client secret
# - Save the secret value immediately (shown only once) Configure API Permissions
Grant the necessary permissions for your bot to access Teams and Microsoft 365 APIs. These determine what data and actions your OpenClaw bot can access.
# In Azure AD > App registrations > Your App > API permissions
# Required permissions:
# Microsoft Graph:
# - User.Read (Delegated) - Sign in and read user profile
# - Chat.ReadWrite (Delegated) - Read/write user chats
# - ChannelMessage.Send (Delegated) - Send channel messages
# - Files.Read.All (Delegated) - Read files user can access
# - Calendars.ReadWrite (Delegated) - Access calendars
# - Mail.Read (Delegated) - Read user mail
# For admin functions (optional):
# - Directory.Read.All (Application) - Read directory data
# - Sites.Read.All (Application) - Read SharePoint sites
# Click 'Grant admin consent' after adding permissions Create Azure Bot
Register your bot in the Azure Bot Service. This connects your OpenClaw instance to Microsoft's bot infrastructure and enables communication with Teams.
# Azure Portal > Create Resource > Azure Bot
# Configuration:
# Bot handle: openclaw-ai-bot
# Subscription: Your subscription
# Resource group: Create new or select existing
# Pricing tier: S1 Standard (or F0 Free for testing)
# App type: Multi Tenant
# App ID: Use existing app (your Azure AD app ID)
# After creation:
# 1. Go to Configuration
# 2. Set Messaging endpoint:
# https://yourdomain.com/api/messages
# 3. Note the Microsoft App ID
# 4. Add Microsoft App Password (from Azure AD client secret) Install Teams Bridge Module
Add the Teams bridge to your OpenClaw installation. The bridge uses the Bot Framework SDK for Node.js and handles all Teams-specific communication.
# Using OpenClaw CLI
openclaw install teams-bridge
# Or manual installation
cd /path/to/openclaw
npm install @openclaw/teams-bridge
# This installs Bot Framework packages:
npm install botbuilder botbuilder-dialogs
npm install @microsoft/teams-js @microsoft/microsoft-graph-client Configure Teams Connection
Create your Teams configuration file with Azure credentials and behavior settings. Configure how OpenClaw handles different Teams interaction patterns.
# config/teams.yaml
teams:
enabled: true
# Azure credentials
app_id: "YOUR_APP_ID"
app_password: "YOUR_APP_PASSWORD"
tenant_id: "YOUR_TENANT_ID"
# Bot Framework settings
bot_framework:
endpoint: "/api/messages"
port: 3978
# Microsoft Graph settings
graph:
enabled: true
scopes:
- "User.Read"
- "Files.Read.All"
- "Calendars.ReadWrite"
# Response settings
response:
use_adaptive_cards: true
typing_indicator: true
mention_user: true Create Teams App Manifest
Build the Teams app package that defines your bot's capabilities and appearance in Teams. The manifest specifies scopes, permissions, and UI elements.
// manifest.json
{
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.16/MicrosoftTeams.schema.json",
"manifestVersion": "1.16",
"version": "1.0.0",
"id": "YOUR_APP_ID",
"packageName": "com.yourcompany.openclaw",
"developer": {
"name": "Your Company",
"websiteUrl": "https://yourcompany.com",
"privacyUrl": "https://yourcompany.com/privacy",
"termsOfUseUrl": "https://yourcompany.com/terms"
},
"name": {
"short": "OpenClaw AI",
"full": "OpenClaw AI Assistant"
},
"description": {
"short": "AI-powered assistant for Teams",
"full": "Get intelligent AI assistance directly in Microsoft Teams..."
},
"icons": {
"outline": "outline.png",
"color": "color.png"
},
"bots": [
{
"botId": "YOUR_BOT_ID",
"scopes": ["personal", "team", "groupchat"],
"supportsFiles": true,
"isNotificationOnly": false
}
],
"permissions": ["identity", "messageTeamMembers"],
"validDomains": ["yourdomain.com"]
} Configure Adaptive Cards
Set up Adaptive Card templates for rich bot responses. Cards can include interactive elements, data visualization, and action buttons.
# config/teams-cards.yaml
adaptive_cards:
templates:
# AI response card
ai_response:
type: AdaptiveCard
body:
- type: TextBlock
text: "${response}"
wrap: true
- type: ActionSet
actions:
- type: Action.Submit
title: "Helpful"
data: {"feedback": "helpful"}
- type: Action.Submit
title: "Not Helpful"
data: {"feedback": "not_helpful"}
# Search results card
search_results:
type: AdaptiveCard
body:
- type: Container
items:
- type: TextBlock
text: "Search Results"
weight: bolder
size: large
- type: ColumnSet
columns:
- type: Column
items: "${results}" Deploy and Test
Upload your app to Teams and test all functionality. Start with sideloading for development, then publish to your org's app catalog.
# Package the app
cd /path/to/manifest
zip -r openclaw-teams.zip manifest.json color.png outline.png
# Sideload for testing:
# 1. Go to Teams > Apps > Manage your apps
# 2. Click 'Upload a custom app'
# 3. Select openclaw-teams.zip
# Or use Teams Toolkit in VS Code for easier development
# Start the bot server
openclaw teams start
# Check status
openclaw teams status
# View logs
openclaw logs teams --follow
# Test by messaging the bot in Teams What You Can Do
IT Helpdesk Automation
Provide instant IT support through Teams. Answer common questions, guide users through troubleshooting, reset passwords, and create tickets. Escalate complex issues to human support while handling routine queries automatically.
Knowledge Management
Surface organizational knowledge instantly. Search SharePoint, documentation wikis, and past communications to find answers. OpenClaw becomes your organization's memory, making institutional knowledge accessible to everyone.
Meeting Companion
Enhance Teams meetings with AI assistance. Take notes, capture action items, answer questions with real-time research, and schedule follow-ups. Post-meeting, summarize discussions and track commitments.
HR Assistant
Answer employee questions about policies, benefits, time off, and procedures. Guide users through HR processes, help with form completion, and provide personalized information based on employee data.
Project Coordination
Track project status, update tasks, coordinate team members, and provide project insights. Integrate with Planner, Project, and other tools for unified project intelligence.
Sales Enablement
Provide sales teams with instant access to product information, pricing, competitive intelligence, and customer data from CRM. Help prepare for calls, generate proposals, and track opportunities.
Onboarding Guide
Welcome new employees with personalized onboarding. Answer questions, guide through required training, introduce team members, and provide resources. Make new hire integration smooth and consistent.
Report Generation
Generate reports by querying data across Microsoft 365. 'Show me sales figures for Q3' triggers data retrieval, analysis, and formatted presentation - all through conversational AI.
Workflow Automation
Trigger Power Automate flows through natural language. 'Approve this expense report' or 'Create a ticket for server issue' initiates automated workflows without users learning complex interfaces.
Known Limitations
- Azure AD app registration requires administrator access to your Microsoft 365 tenant
- Some Microsoft Graph APIs require admin consent for organization-wide access
- Bot Framework has rate limits for message processing
- Adaptive Cards have size limits (~28KB) for complex interactions
- File access depends on user permissions - bot can only access what the user can access
- Real-time meeting integration requires additional APIs and permissions
- Message history access in channels requires appropriate permissions and may be limited
- Publishing to the Microsoft Teams store requires review and approval
- Multi-tenant bots require additional security considerations
- GCC/GCC High/DoD environments have different requirements and limitations
- Our team can help you work around these limitations with custom configurations
Related Content
Bring OpenClaw AI Power to Your Discord Server
Deploy OpenClaw as a Discord bot for your server. Automate moderation, answer questions, manage communities, run games, and provide AI assistance to all your members with slash commands and rich embeds.
Supercharge Your Gmail with OpenClaw AI
Connect OpenClaw to Gmail for intelligent email management. Automatically summarize messages, draft responses, organize your inbox, and manage emails through natural language commands.
Connect OpenClaw to LINE Messenger
Deploy OpenClaw on LINE messenger to reach 200 million users across Japan, Taiwan, Thailand, and Indonesia. Build powerful AI chatbots with rich messaging, LIFF apps, and LINE ecosystem integration.
OpenClaw on Matrix: Decentralized AI for a Decentralized World
Deploy OpenClaw on the Matrix protocol for a truly decentralized AI assistant. Self-host everything, federate with others, and maintain complete sovereignty over your AI interactions.