diff --git a/website/docs/reference/environment-variables.md b/website/docs/reference/environment-variables.md index 8ff9a5cbf4..ff4ad11a2e 100644 --- a/website/docs/reference/environment-variables.md +++ b/website/docs/reference/environment-variables.md @@ -430,6 +430,19 @@ Inbound change-notification listener for Graph events (Teams meetings, calendar, | `MSGRAPH_WEBHOOK_ACCEPTED_RESOURCES` | Comma-separated allowlist of Graph resource paths/patterns (e.g. `communications/onlineMeetings,chats/*/messages`). Trailing `*` is prefix-matching. Empty = accept all. | | `MSGRAPH_WEBHOOK_ALLOWED_SOURCE_CIDRS` | Comma-separated CIDR ranges allowed to POST to the listener (e.g. `52.96.0.0/14,52.104.0.0/14`). Empty = allow all (default). Restrict to Microsoft Graph's published egress ranges in production. | +### Teams Meeting Summary Delivery + +Only used when the [`teams_pipeline` plugin](/docs/user-guide/messaging/msgraph-webhook) is enabled. Settings are also configurable under `platforms.teams.extra` in `config.yaml` — env vars take priority when both are set. See [Microsoft Teams → Meeting Summary Delivery](/docs/user-guide/messaging/teams#meeting-summary-delivery-teams-meeting-pipeline). + +| Variable | Description | +|----------|-------------| +| `TEAMS_DELIVERY_MODE` | `graph` or `incoming_webhook`. | +| `TEAMS_INCOMING_WEBHOOK_URL` | Teams-generated webhook URL; required when `TEAMS_DELIVERY_MODE=incoming_webhook`. | +| `TEAMS_GRAPH_ACCESS_TOKEN` | Pre-acquired delegated access token for Graph delivery. Rarely needed — the writer falls back to the `MSGRAPH_*` app credentials when unset. | +| `TEAMS_TEAM_ID` | Target Team ID for channel delivery (`graph` mode). | +| `TEAMS_CHANNEL_ID` | Target channel ID (paired with `TEAMS_TEAM_ID`). | +| `TEAMS_CHAT_ID` | Target 1:1 or group chat ID (alternative to team+channel for `graph` mode). | + ### Advanced Messaging Tuning Advanced per-platform knobs for throttling the outbound message batcher. Most users never need to touch these; defaults are set to respect each platform's rate limits without feeling sluggish. diff --git a/website/docs/user-guide/messaging/teams.md b/website/docs/user-guide/messaging/teams.md index c3dfa4f63d..d37c9704cd 100644 --- a/website/docs/user-guide/messaging/teams.md +++ b/website/docs/user-guide/messaging/teams.md @@ -164,6 +164,37 @@ When the agent needs to run a potentially dangerous command, it sends an Adaptiv Clicking a button resolves the approval inline and replaces the card with the decision. +### Meeting Summary Delivery (Teams Meeting Pipeline) + +When the [Teams meeting pipeline plugin](/docs/user-guide/messaging/msgraph-webhook) is enabled, this adapter also handles outbound delivery of meeting summaries — one Teams integration surface, not two. After a meeting's transcript is summarized, the writer posts the summary into your chosen Teams target. + +Pipeline summary delivery is configured under the `teams` platform entry alongside the bot config: + +```yaml +platforms: + teams: + enabled: true + extra: + # existing bot config (client_id, client_secret, tenant_id, port) ... + + # Meeting summary delivery (only used when the teams_pipeline plugin is enabled) + delivery_mode: "graph" # or "incoming_webhook" + # For delivery_mode: graph — pick ONE of: + chat_id: "19:meeting_..." # post into a Teams chat + # team_id: "..." # OR post into a channel + # channel_id: "..." + # access_token: "..." # optional; falls back to MSGRAPH_* app credentials + # For delivery_mode: incoming_webhook: + # incoming_webhook_url: "https://outlook.office.com/webhook/..." +``` + +| Mode | Use when | Trade-off | +|------|----------|-----------| +| `incoming_webhook` | Simple "post a summary into this channel" with a static Teams-generated URL. | No reply threading, no reactions, shows as the webhook's configured identity. | +| `graph` | Threaded channel posts or 1:1/group chat posts under the bot's identity via Microsoft Graph. | Requires the [Graph app registration](/docs/guides/microsoft-graph-app-registration) with `ChannelMessage.Send` (channel) or `Chat.ReadWrite.All` (chat) application permissions. | + +If the `teams_pipeline` plugin is **not** enabled, these settings are inert — they only wire up when the pipeline runtime binds to the Graph webhook ingress. + --- ## Production Deployment