Teams incident updates
Connect a Teams Workflow, verify its destination, then opt in to incident cards.
Create the workflow
- In Teams Workflows, create a workflow using When a Teams webhook request is received. Choose Anyone for trigger authentication. Its signed URL is the credential; keep it private.
- Select the destination channel. Add a co-owner so the workflow can continue when its original owner leaves. Use a current URL on
environment.api.powerplatform.com; legacy connector andlogic.azure.comURLs are unsupported. - For each element of the trigger body's
attachmentsarray, use Post card in a chat or channel with the chosen channel and the current item'scontentas its Adaptive Card. Use the posting action that completes after posting, without waiting for a human response. - After the posting scope succeeds, add an HTTP action with the success receipt below. Configure a separate failure path to send the failure receipt when posting fails or times out. Confirm your tenant allows this HTTP action; licensing and policy can differ from the base webhook template.
- Keep the webhook's normal acceptance response. Do not return a rate rejection after posting a card. Disable automatic retries on the card-posting action if a repeated card would be unacceptable; an uncertain Teams result needs investigation before resending.
Microsoft documents the incoming webhook template and Workflows ownership and card support. Availability depends on your tenant and channel.
Report completion
Use the fixed Transmit origin below and the request's delivery identifier and token. The top-level transmit object accompanies the standard card payload; retain it in the trigger body. The token authorizes one delivery outcome for thirty minutes. It cannot acknowledge or resolve an incident.
Method: POST
URI expression:
concat('https://www.transmit.dev/api/webhooks/incident-teams/',
triggerBody()?['transmit']?['delivery_id'])
Headers:
Content-Type: application/json
Authorization expression:
concat('Bearer ', triggerBody()?['transmit']?['callback']?['token'])
Success body:
{ "status": "posted" }
Failure body:
{ "status": "failed", "errorCode": "teams_post_failed" }An optional messageUrl may contain the Teams message link returned by the posting action. It must match the configured channel and tenant. Omit it if unavailable; Transmit still links to the configured channel. A repeated identical receipt is safe. A conflicting receipt is rejected. Do not expose the signed webhook URL or completion token in logs or chat messages; restrict workflow run history and secure HTTP inputs and outputs.
Verify and enable in Transmit
- As a workspace owner or administrator, open an on-call configuration. Under Microsoft Teams, save a name, the Teams channel link and the workflow URL with incident updates disabled.
- Choose Send verification card. Read its code in the intended Teams channel and paste it into Transmit within fifteen minutes. The same administrator must confirm it.
- Check that the verification delivery becomes
postedafter the workflow receipt. Confirm the card was posted exactly once and that its destination is correct. - Enable incident updates and save. Changing the channel link or webhook URL requires verification again. Existing cards remain in Teams after disabling or disconnecting.
Understand delivery and discussion
Opening, acknowledging and resolving incidents posts cards. Optional discussion announcements link to Transmit; message bodies and revision history stay there. Teams replies remain in Teams. Response links require current Transmit workspace access.
accepted awaits the workflow's completion receipt. posted means the configured workflow reported successful posting. unknown means acceptance or completion is uncertain; Transmit does not automatically resend it. Check workflow run history and the channel before any manual recovery. Missing completion receipts become unknown after thirty minutes. Only an explicit HTTP 429 rate rejection is automatically retried, within a bounded budget.