Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.profclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

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.