Skip to main content
Technical Preview

Overview

A client-mode connector for a curated messaging slice of Microsoft Graph Teams and Workflows Incoming Webhooks: Default BASE_ADDRESS is https://graph.microsoft.com/v1.0. Topics use messaging/microsoft-teams/<object>/<verb>.
Workflows Incoming Webhooks are not on graph.microsoft.com. When calling Postwebhookadaptivecard, set connector BASE_ADDRESS to the webhook origin (scheme + host + port) and put path + query in webhook_path. Auth for the webhook is embedded in the URL; do not send an Authorization header.
Prefer Hub secrets for Entra access tokens. Channel/chat send usually needs a delegated token (ChannelMessage.Send, Chat.ReadWrite). This template has not been verified against a live Teams tenant. Status remains blocked until an authenticated live smoke succeeds.

Basic Syntax

Events

Auth

Microsoft Graph (channel / chat):
  1. Register an Entra ID app (or use an existing one) and obtain an access token for https://graph.microsoft.com.
  2. Prefer delegated permissions: ChannelMessage.Send, Chat.ReadWrite / ChatMessage.Send.
  3. Set connector BASE_ADDRESS to https://graph.microsoft.com/v1.0.
  4. Pass access_token on the MQTT request payload so headers resolve: Authorization: Bearer {value.json.access_token}.
  5. Store the token in Hub secrets / GET SECRET "TEAMS_GRAPH_TOKEN". Never commit real credentials.
  6. Successful send returns HTTP 201.
Workflows Incoming Webhook (Adaptive Card):
  1. In Teams, create a Workflow from a webhook template (or Power Automate “When a Teams webhook request is received”).
  2. Copy the HTTP POST URL. Split into origin → BASE_ADDRESS and path+query → webhook_path.
  3. POST an Adaptive Card wrapper (type: message, attachments[].contentType: application/vnd.microsoft.card.adaptive).
  4. No Authorization header. Expect HTTP 200/202 depending on the connector.

Example payloads

Channel message:
Chat message:
Webhook Adaptive Card (BASE_ADDRESS = webhook origin):

Deploy notes

Last modified on October 21, 2026