【Teams 通知】舊版 Webhook 淘汰!Power Automate / Workflow 轉換教學 (完整版)

更新 發佈閱讀 12 分鐘

🪄 前言:為什麼要改?

raw-image

微軟在 2025 年底確定淘汰舊的 Microsoft Teams Incoming Webhook (O365 Connector),並將通知機制整合進 Power Automate / Teams Workflow

這代表以前那條

https://company.webhook.office.com/webhookb2/...

的 URL 將不再維護,你需要改成新的:

https://environment.api.powerplatform.com/powerautomate/automations/direct/workflows/...

幸好,轉換並不難。

目前通知機制的流程為: GCP Pub/Sub ⇒ Cloud Function(Python ) ⇒ Webhook(URL) ⇒ Teams

需要修改的部分為:

✔️ Cloud Function(Python ):調整腳本程式碼

✔️ Webhook(URL) : 改為 從 Teams 中的 Power Automate / Workflow產生的URL

raw-image

⚙️ 教學步驟:完整版 Payload 實作(含顏色、粗體與連結樣式)

這邊實作完整版的方式有兩種,因為完整版涵蓋的功能有(含顏色、粗體與連結樣式)等,因此會

  1. Python 傳簡單資料、Flow 用 RichTextBlock 組樣式卡
  2. Python 傳簡單資料+RichTextBlock 組樣式卡、Flow 不用特別設定

我目前示範的是第1種

Step 1. 在 Python 端修改程式碼

這裡的核心是把舊 webhook 換成 Workflow URL

Workflow URL 要先到Teams Workflow設定才能取得, 詳見[Step 2. 建立 Teams Workflow]

並將原本 "text": "..." 的結構改為 "text": [ {...}, {...} ] 陣列格式。

import requests

# 🆕 新 Workflow Webhook URL
webhook_url = "https://environment.api.powerplatform.com/powerautomate/automations/direct/workflows/..."

headers = {'Content-Type': 'application/json'}

payload = {
#原本的text格式為以下內容
#"text": f"<b style='color:red;'>【{log_level}】</b> <b>[{project_id}]</b> - {service_name} <br><br> <b>錯誤訊息</b> : {error_msg}<br> <b>詳細資訊</b>:<a href='{url}' style='color:red;'>{url}</a>"

#修改text為以下的資料結構
"text": [
{
"log_level": log_level,
"project_id": project_id,
"service_name": service_name,
"error_msg": error_msg,
"url": url
}
]
}

response = requests.post(webhook_url, headers=headers, json=payload)
print(response.status_code, response.text)

💡 為什麼用陣列?

因為 Workflow 可以使用「Apply to each」自動對每筆資料重複貼出一張卡片。

這對 Pub/Sub 一次推多筆事件特別實用。

Step 2. 建立 Teams Workflow

下圖是Workflow的工作流程示意圖

┌──────────────────────────────────────┐
│ When a Teams webhook request received│
(接收 Python 發送的 JSON)
└──────────────┬───────────────────────┘

┌──────────────▼──────────────┐
│ Apply to each │
│ Items = @triggerBody()?['text']
└──────────────┬──────────────┘

┌──────────────▼──────────────┐
│ Post adaptive card in Teams │
(使用 Flow bot 發送)
└─────────────────────────────┘

1️⃣ 打開 Microsoft Teams → Workflows

raw-image

2️⃣ 點選上方[建立]欄位後,點選[收到webhook要求時發布在頻道中(Post to a channel when a webhook request is received)]的範本

raw-image

3️⃣填入該通知設定的流程名稱

raw-image

4️⃣設定要通知的團隊(Teams)與頻道(Channel),這是階層的關係(團隊內的某個頻道)

raw-image

5️⃣儲存後複製 HTTP POST URL → 貼回 Python 的 webhook_url

raw-image

Step 3. Workflow 動作設定

1️⃣回到Microsoft Teams → Workflows → 首頁,選取剛建立的工作流程並編輯

raw-image

2️⃣執行以下步驟

  1. [選取先前步驟的輸出] (標記1)中輸入:@triggerBody()?['text']
  2. 在 Adaptive Card 欄位中(標記2)貼上
{
"type": "AdaptiveCard",
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.5",
"body": [
{
"type": "RichTextBlock",
"inlines": [
{
"type": "TextRun",
"text": "【@{items('Send_each_adaptive_card')?['log_level']}】",
"color": "Attention",
"weight": "Bolder"
},
{
"type": "TextRun",
"text": " [@{items('Send_each_adaptive_card')?['project_id']}] - @{items('Send_each_adaptive_card')?['service_name']}",
"weight": "Bolder"
}
]
},
{
"type": "TextBlock",
"text": "",
"spacing": "Small"
},
{
"type": "RichTextBlock",
"inlines": [
{
"type": "TextRun",
"text": "錯誤訊息: ",
"weight": "Bolder"
},
{
"type": "TextRun",
"text": "@{items('Send_each_adaptive_card')?['error_msg']}",
"wrap": true
}
]
},
{
"type": "RichTextBlock",
"inlines": [
{
"type": "TextRun",
"text": "詳細資訊: ",
"weight": "Bolder"
},
{
"type": "TextRun",
"text": "@{items('Send_each_adaptive_card')?['url']}",
"color": "Attention",
"selectAction": {
"type": "Action.OpenUrl",
"url": "@{items('Send_each_adaptive_card')?['url']}"
}
}
]
}
]
}

📎 小技巧:

若拿到的程式碼中拿到預設的內容是items('Apply_to_each') 在存檔時應該會出現Flow 報錯 Apply_to_each 不存在,

這時請將items('Apply_to_each')把上面 JSON 改成items('Send_each_adaptive_card')

3️⃣正確填完應該為以下結果,就可以按存檔完成流程建立

raw-image

4️⃣測試後會在Teams指定的接收通知頻道收到以下結果

raw-image

這樣就能同時:

  • 維持原有 payload 架構(你不用改 Python 程式太多)
  • 又能在 Teams 呈現紅字、粗體、超連結效果

💬 結語:適合誰用?

這個完整版本最適合:

  • 想快速替換舊 webhook 的告警機制與通知流程的系統
  • 需要自訂或維持原本卡片樣式
  • 使用 Pub/Sub、CI/CD job、排程系統做提醒









留言
avatar-img
留言分享你的想法!
avatar-img
DavidHi的沙龍
9會員
29內容數
此篇教學 : 使用GitHub架設免費的部落格網站,搭上Hexo靜態模板,在主題頁面中尋找屬於自己的風格套版,輕鬆擁有自己的Blog外,加上留言板/SEO等設定在記錄生活同時也增進與讀者的互動頻率。
DavidHi的沙龍的其他內容
2025/10/30
示範如何將舊的 Microsoft Teams Incoming Webhook 遷移至 Power Automate。 文章包含 Python Cloud Function 程式碼修改、Teams Workflow 設定,以及簡化版 Adaptive Card Payload 實作。
Thumbnail
2025/10/30
示範如何將舊的 Microsoft Teams Incoming Webhook 遷移至 Power Automate。 文章包含 Python Cloud Function 程式碼修改、Teams Workflow 設定,以及簡化版 Adaptive Card Payload 實作。
Thumbnail
2024/11/02
本文介紹了選擇排序演算法的基本邏輯與實作過程,透過範例分析陣列排序的交換步驟,以及相關的程式碼範例,幫助讀者理解選擇排序的時間與空間複雜度。選擇排序是一個簡單易懂的演算法,對於初學者來說是學習排序演算法的良好基礎。
Thumbnail
2024/11/02
本文介紹了選擇排序演算法的基本邏輯與實作過程,透過範例分析陣列排序的交換步驟,以及相關的程式碼範例,幫助讀者理解選擇排序的時間與空間複雜度。選擇排序是一個簡單易懂的演算法,對於初學者來說是學習排序演算法的良好基礎。
Thumbnail
2024/10/14
本文介紹插入排序演算法,透過與泡沫排序的比較,詳解其運作邏輯與時間、空間複雜度的分析。以撲克牌的整理為例,解釋如何逐步將數字插入已排序的序列中,並提供C#程式碼範例來幫助理解此演算法的實作過程,適合對基礎演算法有興趣的讀者。
Thumbnail
2024/10/14
本文介紹插入排序演算法,透過與泡沫排序的比較,詳解其運作邏輯與時間、空間複雜度的分析。以撲克牌的整理為例,解釋如何逐步將數字插入已排序的序列中,並提供C#程式碼範例來幫助理解此演算法的實作過程,適合對基礎演算法有興趣的讀者。
Thumbnail
看更多
你可能也想看
Thumbnail
嶄新的台灣獨立調香師品牌Sunkronizo ,這個名稱源自希臘語「同步」的意思。讓香氛不單純只是氣味調製,更是個人風格的展現與靈魂意志延伸的一種溝通語言。 很適合接下來年底聖誕佳節送禮的試香組,以一星期中的日子來為全系列香氛產品命名, 是品牌創立後首個推出全系列概念作品...
Thumbnail
嶄新的台灣獨立調香師品牌Sunkronizo ,這個名稱源自希臘語「同步」的意思。讓香氛不單純只是氣味調製,更是個人風格的展現與靈魂意志延伸的一種溝通語言。 很適合接下來年底聖誕佳節送禮的試香組,以一星期中的日子來為全系列香氛產品命名, 是品牌創立後首個推出全系列概念作品...
Thumbnail
根據美國電影協會(MPA)主辦的「串流服務如何推動臺灣創意經濟」論壇內容,深入探討串流平臺對臺灣影視產業的影響、數據分析、政府政策建議、內容國際化策略,以及臺灣與「韓流」的差距。文章提出 awwrated 在串流生態系中的潛在角色,強調數據、策略與自信是臺灣影視產業發展的關鍵。
Thumbnail
根據美國電影協會(MPA)主辦的「串流服務如何推動臺灣創意經濟」論壇內容,深入探討串流平臺對臺灣影視產業的影響、數據分析、政府政策建議、內容國際化策略,以及臺灣與「韓流」的差距。文章提出 awwrated 在串流生態系中的潛在角色,強調數據、策略與自信是臺灣影視產業發展的關鍵。
Thumbnail
本文探討串流平臺(VOD)如何徹底改變好萊塢和臺灣影視產業的生態。從美國電影協會(MPA)的數據報告,揭示串流服務在臺灣的驚人普及率與在地內容的消費趨勢。文章分析國際作品如何透過在地化元素開拓新市場。同時,作者也擔憂政府過度監管可能扼殺臺灣影視創新自由,以越南為鑑,呼籲以開放態度擁抱串流時代的新機遇
Thumbnail
本文探討串流平臺(VOD)如何徹底改變好萊塢和臺灣影視產業的生態。從美國電影協會(MPA)的數據報告,揭示串流服務在臺灣的驚人普及率與在地內容的消費趨勢。文章分析國際作品如何透過在地化元素開拓新市場。同時,作者也擔憂政府過度監管可能扼殺臺灣影視創新自由,以越南為鑑,呼籲以開放態度擁抱串流時代的新機遇
Thumbnail
本文介紹三款TG植物性切削液:TG2469、TG2121和TG3600,它們具有環保、高效的特性,能有效提升加工效率、延長刀具壽命並改善工作環境。文章詳細說明三款切削液的特性、適用材質和優勢,並強調其符合ESG、綠色供應鏈的標準,以及對提升臺灣傳統產業的意義。
Thumbnail
本文介紹三款TG植物性切削液:TG2469、TG2121和TG3600,它們具有環保、高效的特性,能有效提升加工效率、延長刀具壽命並改善工作環境。文章詳細說明三款切削液的特性、適用材質和優勢,並強調其符合ESG、綠色供應鏈的標準,以及對提升臺灣傳統產業的意義。
Thumbnail
本文探討永續發展與人與空間的關係,以植物性切削液為例,說明如何在工業生產中兼顧效率與環保。文章闡述傳統礦物性切削液的環境汙染問題,以及植物性切削液作為更永續替代品的優勢,呼籲企業和個人共同為永續未來努力。
Thumbnail
本文探討永續發展與人與空間的關係,以植物性切削液為例,說明如何在工業生產中兼顧效率與環保。文章闡述傳統礦物性切削液的環境汙染問題,以及植物性切削液作為更永續替代品的優勢,呼籲企業和個人共同為永續未來努力。
Thumbnail
創新講師  陳建銘老師分享AI教父 輝達執行長 黃仁勳,如何開一場有效的「創新思考會議」?
Thumbnail
創新講師  陳建銘老師分享AI教父 輝達執行長 黃仁勳,如何開一場有效的「創新思考會議」?
Thumbnail
[時事選讀]本週小選讀:薄瓜瓜、呂禮詩、11月颱風[2024-1110-1117] 本篇文章為每週定期專欄,提供目前戰術少女組四位編輯的選讀與看法,Yelena為政治時事觀察、Urica負責民防準備與求生知識、Nina專注於軍事觀察、Grace則是主攻本土歷史。
Thumbnail
[時事選讀]本週小選讀:薄瓜瓜、呂禮詩、11月颱風[2024-1110-1117] 本篇文章為每週定期專欄,提供目前戰術少女組四位編輯的選讀與看法,Yelena為政治時事觀察、Urica負責民防準備與求生知識、Nina專注於軍事觀察、Grace則是主攻本土歷史。
Thumbnail
雨從午夜一直下到上午還未停歇,令人擔憂;然而越接近遊行時刻,天空越漸明亮,雨不但離去,還換陽光登場!完美詮釋了Team Taiwan在這次世界棒球12強賽中的歷程。
Thumbnail
雨從午夜一直下到上午還未停歇,令人擔憂;然而越接近遊行時刻,天空越漸明亮,雨不但離去,還換陽光登場!完美詮釋了Team Taiwan在這次世界棒球12強賽中的歷程。
Thumbnail
CNC加工技術在現代製造業中扮演著至關重要的角色,本文詳細介紹了CNC加工的基本概念、主要特點、歷史發展以及在製造業中的重要性。此外,文章也重點推薦使用環保的植物性切削液,以提升機臺管理、保障員工健康並履行企業社會責任。
Thumbnail
CNC加工技術在現代製造業中扮演著至關重要的角色,本文詳細介紹了CNC加工的基本概念、主要特點、歷史發展以及在製造業中的重要性。此外,文章也重點推薦使用環保的植物性切削液,以提升機臺管理、保障員工健康並履行企業社會責任。
Thumbnail
在現今教育環境中,直播工具已成為教學不可或缺的一環。其中,專門為教學場景設計的OOOK LIVE作為優秀的直播工具,不僅在學習管理方面表現出色,更以高互動性和多樣的畫面布局,為學生和教師提供優質學習體驗。
Thumbnail
在現今教育環境中,直播工具已成為教學不可或缺的一環。其中,專門為教學場景設計的OOOK LIVE作為優秀的直播工具,不僅在學習管理方面表現出色,更以高互動性和多樣的畫面布局,為學生和教師提供優質學習體驗。
Thumbnail
聽完信宏跟我說的那些,我很絕望的回到教育中心,整個人好像被掏空了似的,不知道該怎麼辦才好。 他連道歉的話也沒跟我說,我想他連自己都搞不定了還能說什麼呢?只能怪我自己笨,為什麼被愛情沖昏了頭,沒有考慮到他過往的行為記錄,就傻傻相信他因為一時衝動想把我留在他身邊而說出來的不負責任的話。 而這樣的痛苦跟
Thumbnail
聽完信宏跟我說的那些,我很絕望的回到教育中心,整個人好像被掏空了似的,不知道該怎麼辦才好。 他連道歉的話也沒跟我說,我想他連自己都搞不定了還能說什麼呢?只能怪我自己笨,為什麼被愛情沖昏了頭,沒有考慮到他過往的行為記錄,就傻傻相信他因為一時衝動想把我留在他身邊而說出來的不負責任的話。 而這樣的痛苦跟
Thumbnail
文、圖/台灣微軟提供   【2021年5月19日,台北訊】全球新冠肺炎疫情仍在蔓延,台灣疫情近日亦急遽升溫,諸多企業與組織正重啟異地辦公、居家工作和遠距教學來防堵傳染擴散。為維持學生學習步伐並確保各企業與組織營運穩定,微軟免費提供Microsoft Teams教育版資源,讓全國250萬名國高
Thumbnail
文、圖/台灣微軟提供   【2021年5月19日,台北訊】全球新冠肺炎疫情仍在蔓延,台灣疫情近日亦急遽升溫,諸多企業與組織正重啟異地辦公、居家工作和遠距教學來防堵傳染擴散。為維持學生學習步伐並確保各企業與組織營運穩定,微軟免費提供Microsoft Teams教育版資源,讓全國250萬名國高
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News