Set Up Microsoft Teams

View as Markdown

Microsoft Teams support is experimental and uses a public Bot Framework webhook that forwards to the sandbox.

Configure the Webhook

Create or configure a Teams app whose messaging endpoint is a public HTTPS URL ending in /api/messages. Point that URL at the host port NemoClaw forwards for the sandbox.

The default local webhook port is 3978. Set MSTEAMS_PORT or TEAMS_PORT before onboarding or channels add teams when you need another port.

No two active Teams sandboxes can share the same local webhook port.

Configure Credentials and Access

Set MSTEAMS_APP_ID, MSTEAMS_APP_PASSWORD, and MSTEAMS_TENANT_ID. NemoClaw also accepts TEAMS_CLIENT_ID, TEAMS_CLIENT_SECRET, and TEAMS_TENANT_ID as aliases. The client secret is stored as the <sandbox>-teams-bridge OpenShell provider and reaches the sandbox as an OpenShell placeholder instead of a raw value baked into the image.

Use TEAMS_ALLOWED_USERS or MSTEAMS_ALLOWED_USERS to list comma-separated Microsoft Entra ID object IDs that may direct-message the bot.

Enable Microsoft Teams

$export MSTEAMS_APP_ID="<your-teams-app-id>"
$export MSTEAMS_APP_PASSWORD="<your-teams-client-secret>"
$export MSTEAMS_TENANT_ID="<your-teams-tenant-id>"
$export TEAMS_ALLOWED_USERS="<your-entra-object-id>"
$export MSTEAMS_PORT=3978

Continue with Enable Channels During Onboarding or Add Channels After Onboarding.