[GH-ISSUE #1024] teams webhook deprecation #711

Closed
opened 2026-02-25 23:43:20 +03:00 by kerem · 15 comments
Owner

Originally created by @Brandhor on GitHub (Jul 9, 2024).
Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/1024

microsoft is retiring the teams connectors and they should be replaced with workflows.

healthchecks right now uses the connector card message format but the workflow template requires a format like this one

Originally created by @Brandhor on GitHub (Jul 9, 2024). Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/1024 [microsoft is retiring the teams connectors](https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/) and they should be replaced with workflows. healthchecks right now uses the [connector card message format](https://learn.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/cards-reference#connector-card-for-microsoft-365-groups) but the workflow template requires a format like [this one](https://learn.microsoft.com/en-us/connectors/teams/?tabs=text1#microsoft-teams-webhook)
kerem closed this issue 2026-02-25 23:43:20 +03:00
Author
Owner

@kevincobain2000 commented on GitHub (Jul 9, 2024):

+1

<!-- gh-comment-id:2217323561 --> @kevincobain2000 commented on GitHub (Jul 9, 2024): +1
Author
Owner

@daviewales commented on GitHub (Jul 12, 2024):

Note the timeline:

  • Wave 1 – effective August 15th, 2024: All new Connector creation will be blocked within all clouds
  • Wave 2 – effective October 1st, 2024: All connectors within all clouds will stop working
<!-- gh-comment-id:2224138420 --> @daviewales commented on GitHub (Jul 12, 2024): Note the timeline: > - Wave 1 – effective August 15th, 2024: All new Connector creation will be blocked within all clouds > - Wave 2 – effective October 1st, 2024: All connectors within all clouds will stop working
Author
Owner

@cuu508 commented on GitHub (Jul 17, 2024):

Thanks Microsoft.

I commited an initial version of a new "msteamsw" integration which uses MS Teams Workflows to post notifications.

The "Add Integration" page:

image

An example notification:

image

The existing (now deprecated) MS Teams integrations will now be listed as "MS Teams O365 Connector":

image

Users of the existing (now deprecated) MS Teams integration will need to delete the old integration and create a Workflow-based integration.

This change is not yet deployed to healthchecks.io.

<!-- gh-comment-id:2233009148 --> @cuu508 commented on GitHub (Jul 17, 2024): Thanks Microsoft. I commited an initial version of a new "msteamsw" integration which uses MS Teams Workflows to post notifications. The "Add Integration" page: ![image](https://github.com/user-attachments/assets/99662c60-ab5e-427e-9d4c-efef6fea11ca) An example notification: ![image](https://github.com/user-attachments/assets/70d8d11d-d81e-4a12-9d9a-b04bacf541c0) The existing (now deprecated) MS Teams integrations will now be listed as "MS Teams O365 Connector": ![image](https://github.com/user-attachments/assets/1c0b8484-603d-4317-aef6-5eb601806350) Users of the existing (now deprecated) MS Teams integration will need to delete the old integration and create a Workflow-based integration. This change is not yet deployed to healthchecks.io.
Author
Owner

@cuu508 commented on GitHub (Jul 18, 2024):

Now deployed to healthchecks.io.

I will also look into adding some way to upgrade the existing MS Teams integrations to Workflows-based integrations, so users don't need to recreate check-integration mappings.

<!-- gh-comment-id:2235859504 --> @cuu508 commented on GitHub (Jul 18, 2024): Now deployed to healthchecks.io. I will also look into adding some way to upgrade the existing MS Teams integrations to Workflows-based integrations, so users don't need to recreate check-integration mappings.
Author
Owner

@kevincobain2000 commented on GitHub (Jul 19, 2024):

Warnings disappeared on the previous web hook. Has something changed? No official announcements from MS yet.

Disappeared for these users too: https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/comment-page-23/#comments

Official Feedback portal
https://feedbackportal.microsoft.com/feedback/idea/80ed6877-b642-ef11-b4ad-000d3a7aba8b

<!-- gh-comment-id:2237848130 --> @kevincobain2000 commented on GitHub (Jul 19, 2024): Warnings disappeared on the previous web hook. Has something changed? No official announcements from MS yet. Disappeared for these users too: https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/comment-page-23/#comments Official Feedback portal https://feedbackportal.microsoft.com/feedback/idea/80ed6877-b642-ef11-b4ad-000d3a7aba8b
Author
Owner

@Brandhor commented on GitHub (Jul 19, 2024):

Warnings disappeared on the previous web hook. Has something changed? No official announcements from MS yet.

Disappeared for these users too: https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/comment-page-23/#comments

Official Feedback portal https://feedbackportal.microsoft.com/feedback/idea/80ed6877-b642-ef11-b4ad-000d3a7aba8b

they only removed the warning

Update 07/17/2024: Due to customer feedback received around the footer message, it will be removed from the cards that are posted within Microsoft Teams.

<!-- gh-comment-id:2239338841 --> @Brandhor commented on GitHub (Jul 19, 2024): > Warnings disappeared on the previous web hook. Has something changed? No official announcements from MS yet. > > Disappeared for these users too: https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/comment-page-23/#comments > > Official Feedback portal https://feedbackportal.microsoft.com/feedback/idea/80ed6877-b642-ef11-b4ad-000d3a7aba8b they only removed the warning > Update 07/17/2024: Due to customer feedback received around the footer message, it will be removed from the cards that are posted within Microsoft Teams.
Author
Owner

@bbenouarets commented on GitHub (Jul 24, 2024):

If other system administrators are having difficulties locating the affected teams:
I have written a small tool in Golang that uses the Graph API to output the affected teams.

Teams Webhook Finder

This has helped us enormously, as Microsoft does not offer its own solution for reading the affected channels and teams. We have over 350 teams in our company, which we would otherwise have had to search through manually.

<!-- gh-comment-id:2248708055 --> @bbenouarets commented on GitHub (Jul 24, 2024): If other system administrators are having difficulties locating the affected teams: I have written a small tool in Golang that uses the Graph API to output the affected teams. [Teams Webhook Finder](https://github.com/SecNex/teams-webhook-finder) This has helped us enormously, as Microsoft does not offer its own solution for reading the affected channels and teams. We have over 350 teams in our company, which we would otherwise have had to search through manually.
Author
Owner

@daviewales commented on GitHub (Oct 20, 2024):

Microsoft have extended the deadline to 31st January 2025:
https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/

<!-- gh-comment-id:2425236595 --> @daviewales commented on GitHub (Oct 20, 2024): Microsoft have extended the deadline to 31st January 2025: https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/
Author
Owner

@cuu508 commented on GitHub (Oct 25, 2024):

Thanks for the tip, @daviewales, I've updated the deadline in Healthchecks UI

<!-- gh-comment-id:2437056240 --> @cuu508 commented on GitHub (Oct 25, 2024): Thanks for the tip, @daviewales, I've updated the deadline in Healthchecks UI
Author
Owner

@daviewales commented on GitHub (Jan 14, 2025):

@cuu508, any chance the new Workflow based integration could include the ping body, similar to the old integration?

<!-- gh-comment-id:2591213323 --> @daviewales commented on GitHub (Jan 14, 2025): @cuu508, any chance the new Workflow based integration could include the ping body, similar to the old integration?
Author
Owner

@cuu508 commented on GitHub (Jan 20, 2025):

@daviewales IIRC the new integration used a different payload format than the old one, and I did not figure out how to safely include a block of preformatted text, and make it look good. If you do figure it out, I'm happy to review and merge a PR.

<!-- gh-comment-id:2602622545 --> @cuu508 commented on GitHub (Jan 20, 2025): @daviewales IIRC the new integration used a different payload format than the old one, and I did not figure out how to safely include a block of preformatted text, and make it look good. If you do figure it out, I'm happy to review and merge a PR.
Author
Owner

@daviewales commented on GitHub (Jan 20, 2025):

I've found a way to include monospace text:
https://adaptivecards.io/explorer/RichTextBlock.html

It's not quite a code block, but is that close to what you were looking for?

<!-- gh-comment-id:2603232191 --> @daviewales commented on GitHub (Jan 20, 2025): I've found a way to include monospace text: https://adaptivecards.io/explorer/RichTextBlock.html It's not quite a code block, but is that close to what you were looking for?
Author
Owner

@daviewales commented on GitHub (Jan 20, 2025):

Apparently a CodeBlock was added in September 2024, so that's probably the way to go. You can specify newlines with \n. Literal \n can be escaped as \\n. For plaintext, use "language": "PlainText". The following example is adapted from the link above:

{
    "$schema": "https://adaptivecards.io/schemas/adaptive-card.json",
    "type": "AdaptiveCard",
    "version": "1.5",
    "body": [
        {
            "type": "CodeBlock",
            "codeSnippet": "This is an example.\nSpecify newlines with '\\n'.\n",
            "language": "PlainText"
        }
    ]
}

Edit:
I'm guessing the CodeBlock object would need to be added here?
github.com/healthchecks/healthchecks@b5d4f2aa74/hc/api/transports.py (L1263)

And we could adapt this code to get the ping body?
github.com/healthchecks/healthchecks@b5d4f2aa74/hc/api/transports.py (L468)

<!-- gh-comment-id:2603311577 --> @daviewales commented on GitHub (Jan 20, 2025): Apparently a [CodeBlock ](https://learn.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/cards-format?tabs=adaptive-md%2Cdesktop%2Cdesktop1%2Cdesktop2%2Cconnector-html#codeblock-in-adaptive-cards )was added in September 2024, so that's probably the way to go. You can specify newlines with `\n`. Literal `\n` can be escaped as `\\n`. For plaintext, use `"language": "PlainText"`. The following example is adapted from the link above: ``` json { "$schema": "https://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.5", "body": [ { "type": "CodeBlock", "codeSnippet": "This is an example.\nSpecify newlines with '\\n'.\n", "language": "PlainText" } ] } ``` **Edit**: I'm guessing the CodeBlock object would need to be added here? https://github.com/healthchecks/healthchecks/blob/b5d4f2aa74a50afefe3807354d07e97978a96eea/hc/api/transports.py#L1263 And we could adapt this code to get the ping body? https://github.com/healthchecks/healthchecks/blob/b5d4f2aa74a50afefe3807354d07e97978a96eea/hc/api/transports.py#L468
Author
Owner

@cuu508 commented on GitHub (Jan 23, 2025):

@daviewales thanks for the tip, implemented in github.com/healthchecks/healthchecks@bd7f658421

<!-- gh-comment-id:2609117438 --> @cuu508 commented on GitHub (Jan 23, 2025): @daviewales thanks for the tip, implemented in https://github.com/healthchecks/healthchecks/commit/bd7f6584219b1660221a8316e9b4aebacef2663e
Author
Owner

@daviewales commented on GitHub (Jan 30, 2025):

Legend, thanks!

<!-- gh-comment-id:2625661230 --> @daviewales commented on GitHub (Jan 30, 2025): Legend, thanks!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/healthchecks#711
No description provided.