Building, integrating, or customizing apps and workflows within Microsoft Teams using developer tools and APIs
Please note that we're not Microsoft support, this is a user-to-user support forum. Moderators here don’t have backend access to Microsoft systems, so we can only provide technical guidance based on the public resources.
Since your webhook was working previously and now returns HTTP 403 even for a minimal payload, the suggestion from Ahmed Karkar is directionally correct.
According to Retirement of Office 365 connectors within Microsoft Teams, Microsoft is in the process of retiring Office 365 connectors which include Teams Incoming Webhooks, and there have been ongoing changes to webhook infrastructure and URL handling.
As also noted in Create an Incoming Webhook - Teams | Microsoft Learn, Microsoft 365 connectors are nearing deprecation, and users are encouraged to transition to newer approaches such as Workflows-based webhooks.
While deprecation does not necessarily mean existing webhooks stop working immediately, these platform changes may result in older or previously configured webhook URLs becoming invalid or rejected. This can explain why your webhook suddenly started returning 403, and even a minimal curl test fails regardless of the payload.
To resolve the issue, you should:
- recreate the incoming webhook URL in the Teams channel and test again
- verify that the connector is still active and allowed in your tenant
You may also consider migrating to a Workflows-based webhook for long-term reliability.
Reference: Send messages in Teams using incoming webhooks | Microsoft Support
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.