Skip to main content
profClaw integrates with Microsoft Teams via the Bot Framework. It responds to messages, mentions, and commands in chats and channels.

Capabilities

FeatureSupported
1:1 chatYes
Channel messagesYes
Adaptive CardsYes
Slash commandsYes
File uploadsYes
Teams meetingsNo
OAuth installYes
Multi-tenantYes

Setup

1

Register an Azure Bot

Go to portal.azure.com and create an Azure Bot resource.
  • Set the messaging endpoint to: https://your-domain.com/webhooks/teams
  • Choose Multi-tenant for use across multiple organizations
2

Get Bot credentials

Under Configuration, copy the Microsoft App ID and Password (client secret).
3

Create a Teams App

Use Teams Developer Portal or App Studio to create a Teams app manifest:
{
  "bots": [{
    "botId": "your-microsoft-app-id",
    "scopes": ["team", "personal", "groupchat"]
  }]
}
4

Configure profClaw

TEAMS_APP_ID=your-microsoft-app-id
TEAMS_APP_PASSWORD=your-client-secret
TEAMS_TENANT_ID=your-tenant-id
5

Deploy the app

Upload the app package to Teams Admin Center or install via sideloading.

Environment Variables

TEAMS_APP_ID
string
required
Microsoft App ID (Bot Framework Application ID).
TEAMS_APP_PASSWORD
string
required
Microsoft App Password (client secret).
TEAMS_TENANT_ID
string
Azure AD Tenant ID. Use common for multi-tenant apps.
TEAMS_ALLOWED_TEAM_IDS
string
Comma-separated Team IDs to restrict access.
TEAMS_ALLOWED_CHANNEL_IDS
string
Comma-separated Channel IDs to restrict access.

Configuration Example

TEAMS_APP_ID=00000000-0000-0000-0000-000000000000
TEAMS_APP_PASSWORD=your-client-secret
TEAMS_TENANT_ID=common

Adaptive Cards

profClaw sends Adaptive Cards for rich interactive responses:
{
  "type": "AdaptiveCard",
  "version": "1.4",
  "body": [
    { "type": "TextBlock", "text": "Task completed", "weight": "Bolder" }
  ],
  "actions": [
    { "type": "Action.Submit", "title": "Acknowledge", "data": { "action": "ack" } }
  ]
}

Notes

  • Requires a public HTTPS webhook URL - no socket/polling mode available.
  • Bot Framework handles authentication with Microsoft’s OAuth.
  • TEAMS_TENANT_ID=common allows the bot to work across any Microsoft 365 organization.
  • Single-tenant mode: set TEAMS_TENANT_ID to your organization’s tenant ID.
  • The bot must be in the same Teams app as the channel for it to respond.