How to integrate OpenClaw with Microsoft Teams?

Clawpedia · For Humans

Deploy OpenClaw as a Microsoft Teams bot for enterprise AI assistance and workflow automation.

How to Integrate OpenClaw with Microsoft Teams

OpenClaw connects to Microsoft Teams as a bot, giving your team access to an AI assistant directly inside their workspace. Team members can interact via direct messages, channel mentions, and even adaptive cards.

Prerequisites

RequirementDetails
Microsoft 365 accountBusiness or Enterprise plan
Azure AD accessTo register the bot application
OpenClaw runningGateway must be accessible from the internet

Step 1: Register a Bot in Azure

HTTPS endpointRequired by Microsoft (use ngrok for testing)

Step 2: Configure the Bot Channel

Step 3: Configure OpenClaw


# Install the Teams skill
openclaw skill install teams-integration

# Configure with Azure credentials
openclaw skill setup teams-integration
# → Application ID: ****-****-****
# → Client Secret: ****
# → Tenant ID: ****-****-****
# → Bot name: OpenClaw Bot

# ~/.openclaw/skills/teams-integration/config.yaml
teams:
  app_id: ${TEAMS_APP_ID}
  client_secret: ${TEAMS_CLIENT_SECRET}
  tenant_id: ${TEAMS_TENANT_ID}
  
  bot:
    name: OpenClaw Bot
    description: AI assistant powered by OpenClaw
    
  behavior:
    trigger_mode: mention          # mention, all, keyword
    respond_in_thread: true
    typing_indicator: true
    max_response_length: 4000     # Teams message limit
    
  permissions:
    direct_messages: true
    group_channels: true
    private_channels: false
    
  adaptive_cards:
    enabled: true                  # Rich interactive cards
    theme: default

Step 4: Create the Teams App Package


# Generate the Teams app manifest
openclaw teams manifest generate
# → Created manifest.json and icon files
# → Package: openclaw-teams-app.zip

# Upload to Teams Admin Center
# Teams Admin Center → Manage apps → Upload custom app

Using OpenClaw in Teams

Direct Messages


You: What meetings do I have today?
OpenClaw Bot: You have 3 meetings today:
  📅 09:00 - Standup (15 min) - Teams
  📅 11:00 - Product Review (1h) - Room 4B
  📅 14:00 - 1:1 with Manager (30 min) - Teams

Channel Mentions


You: @OpenClaw Bot summarize the last 20 messages in this channel
OpenClaw Bot: Here's a summary of recent discussion:
  • Team agreed to postpone the release to next Thursday
  • Alice found a critical bug in the payment module (#PROJ-891)
  • New design mockups are ready for review in Figma

Adaptive Cards

OpenClaw can send rich interactive cards in Teams:


# Enable specific card types
adaptive_cards:
  templates:
    - task_card         # Interactive task management
    - poll_card         # Quick team polls
    - approval_card     # Approval workflows
    - summary_card      # Formatted summaries

Security Configuration


teams:
  security:
    allowed_users: []             # Empty = all org users
    blocked_users:
      - external-contractor@partner.com
    
    data_retention:
      log_conversations: false    # Don't log Teams messages
      
    compliance:
      dlp_enabled: true           # Data Loss Prevention
      audit_logging: true

Advanced Features

FeatureConfigurationDescription
Meeting transcriptsmeetings.transcribe: trueSummarize Teams meetings
File sharingfiles.enabled: trueAnalyze shared documents
Status updatespresence.sync: trueSync with Teams presence

Troubleshooting

Proactive messagesproactive.enabled: trueSend scheduled messages
ProblemSolution
Bot not appearing in TeamsVerify app is approved in Teams Admin Center
"Unauthorized" errorsCheck client secret expiry in Azure AD
Bot not respondingVerify messaging endpoint is reachable (HTTPS)
Messages truncatedReduce max_response_length in config
Adaptive cards not renderingUpdate Teams desktop client to latest version
Bot works in DM but not channelsCheck group_channels: true in config

Tip: Start with direct messages only before enabling channel access. This lets you test the bot privately and fine-tune its behavior before the whole team starts interacting with it.

Related Articles