Overview
This guide shows you how to connect Ollama to Microsoft Teams using OpenClaw. You'll configure the messaging channel, set up AI provider authentication, and deploy your assistant.
Microsoft Teams Capabilities
- Direct messages
- Group chats
- Media support
- Reactions
- Thread support
- Native commands
Ollama Features
- Completely local
- No API costs
- Privacy-focused
- Many model options
Step 1: Configure Microsoft Teams
- Register an app in Azure Portal
- Create a Bot Channel Registration
- Configure Teams channel in Azure
- Set app credentials in openclaw.json
- Deploy and add bot to Teams
Step 2: Configure Ollama
No authentication required for local instance
- Install Ollama from ollama.ai
- Run 'ollama pull llama3.3'
- Start Ollama service
- Configure baseUrl in OpenClaw
Step 3: Combined Configuration
Add both configurations to your openclaw.json:
{
"agents": {
"defaults": {
"model": {
"primary": "ollama/llama3.3"
}
}
},
"models": {
"providers": {
"ollama": {
"models": {
"providers": {
"ollama": {
"baseUrl": "http://localhost:11434"
}
}
},
"channels": {
"msteams": {
"appId": "${MSTEAMS_APP_ID}",
"appPassword": "${MSTEAMS_APP_PASSWORD}"
}
}
}
} Step 4: Start and Test
# Start the gateway
openclaw gateway start
# Check connection status
openclaw status
# View real-time logs
openclaw logs --follow Access Control
Microsoft Teams supports the following access control policies:
DM Policies
| Policy | Description |
|---|---|
allowlist | Only senders in allowFrom list are processed |
open | All DMs are processed (requires allowFrom: ["*"]) |
Group Policies
| Policy | Description |
|---|---|
allowlist | Only groups in groupAllowFrom are processed |
open | All groups are processed |
Deploy Options
Choose how to deploy your Microsoft Teams + Ollama setup:
Local Deployment
Run on your personal machine with local-only access
View Guide →VPS Deployment
Always-on deployment on a Linux VPS
View Guide →Cloud Deployment
Managed container deployment on Fly.io or similar
View Guide →Docker Deployment
Containerized deployment with Docker
View Guide →