Introduction
Microsoft Teams integration URLs can point to different types of endpoints. Historically, many Teams integrations used classic Incoming Webhooks, but Microsoft changed their process so new integrations use Power Automate Workflows. In Kleene, this distinction matters because the URL type affects how it's configured.
Issue description
A Teams integration URL may look like a webhook, but it is not always a classic Teams Incoming Webhook. Some newer URLs are Power Automate Workflow HTTP trigger URLs. These workflows receive an HTTP request first, then run one or more steps before optionally posting a message into Teams.
This means that two Teams-related URLs can behave differently even if they are both used to send notifications into a Teams channel.
Signs
You may be dealing with this distinction if you are given a Teams integration URL and need to confirm what type of endpoint it is. The quickest sign is the domain and path structure of the URL.
Classic Teams Incoming Webhooks commonly contain:
webhook.office.com/.../IncomingWebhook/...Power Automate Workflow URLs commonly contain:
logic.azure.com/workflows/.../triggers/.../invokeIf the URL uses logic.azure.com, it is likely triggering a Power Automate workflow rather than posting directly to Teams through a classic Incoming Webhook.
Basic troubleshooting steps
Start with the following checks to identify the integration type:
- Inspect the domain of the URL.
- Check whether the URL contains
webhook.office.com. - Check whether the URL contains
logic.azure.com. - Look for
IncomingWebhookin the URL path. - Look for
workflows,triggers, orinvokein the URL path. - Confirm the endpoint posts directly to Teams.
- If testing the endpoint, verify whether the request format matches the expected receiver.
Common causes and how to fix them
Expecting direct Teams posting from a workflow URL
Classic Incoming Webhooks receive an HTTP request and post the message directly into a Teams channel. Power Automate Workflows receive the HTTP request first, then execute the configured workflow steps. Posting to Teams is only one possible action within that workflow.
How to fix it: review the workflow configuration and confirm what steps run after the HTTP trigger. If the workflow is expected to post to Teams, confirm that the Teams posting step exists and is configured correctly.
Payload format mismatch
A payload that works for a classic Teams Incoming Webhook may not work unchanged with a Power Automate Workflow. The workflow may expect a specific JSON structure defined by the HTTP trigger or by later workflow steps.
How to fix it: confirm the expected request body for the endpoint. For Power Automate, check the trigger schema and any parsing or validation steps. For classic webhooks, confirm the message card or connector payload format expected by Teams.
Additional information
The key difference is that a classic Incoming Webhook posts directly to a Teams channel, while a Power Automate Workflow URL triggers a workflow first. That workflow may validate, transform, enrich, or route the message before posting to Teams.