Ask me anything
Ithy Logo
Sign in to save

Power Automate 自動流程設定與管理

一份完整指南說明如何從 Outlook 郵件中獲取並檢查日期欄位

office automation workflow

Highlights

  • 郵件觸發及過濾: 設定 Outlook 郵件觸發器,精確過濾主旨為 "ECAPP 海外複委託交易日" 的郵件。
  • 內容解析與日期比對: 提取郵件中的 "目前交易日期" 欄位,並逐一判斷其是否為今天的日期。
  • 通知與流程運作: 若任意日期不符,則透過 Teams 發送通知,確保流程自動監控與及時反饋。

流程概述

在這篇指南中,我們詳細介紹使用 Power Automate 從 Outlook 郵件中自動化收集、解析和監控指定筆資料日期的流程。具體目標是提取主旨為 "ECAPP 海外複委託交易日" 的郵件內容,針對欄位名稱 "目前交易日期" 下的所有日期進行檢查,比對是否皆為今天(例如2025-02-20)的日期。當發現任何一筆資料不是今天的日期時,系統會自動通過 Teams 發送通知。

以下內容將分為多個部分,從建立流程、設定觸發器、解析郵件內容,到進行日期檢查及發送通知,每一步我們都會提供詳細的操作步驟、範例代碼以及注意事項,幫助您充分理解整個流程設定過程。


步驟一:建立新的自動化雲端流程

流程初始化

首先,您需要在 Power Automate 平台上建立一個新的自動化雲端流程,以便定義後續的各項操作。以下是具體步驟:

1. 登入與建立流程

  • 開啟瀏覽器並登入 Power Automate 平台(通常通過 Office 365 賬戶登錄)。
  • 在左側菜單中,選擇 "我的流程",然後點擊 "新增流程" 按鈕,選擇 "自動化雲端流程"。
  • 為流程命名,例如「監控交易日期郵件」,並選擇合適的觸發器(後續步驟中將具體介紹)。

2. 流程簡介

由於本流程旨在從 Outlook 郵件中取得特定主旨的郵件,然後解析其內容並逐一驗證指定日期,流程需要結合多個動作,包括郵件觸發器、內容解析、條件判斷迴圈、日期比對,以及發送 Teams 通知的動作。


步驟二:設定觸發器以獲取指定郵件

配置 Outlook 郵件過濾器

為確保流程只啟動於主旨為 "ECAPP 海外複委託交易日" 的郵件到達時,我們需要設置符合條件的郵件觸發器。這裡推薦使用 Office 365 Outlook 的 “當新郵件到達 (V3)” 觸發器。

1. 選擇正確的觸發器

在流程編輯器中,選擇 "當新郵件到達 (V3)" 動作。這動作允許您配置多個篩選選項,例如發件人、資料夾與主旨等。

2. 配置篩選條件

  • 在 主旨過濾 欄位中,輸入 "ECAPP 海外複委託交易日"。這樣,只有當收到主旨包含此字樣的郵件時,流程才會啟動。
  • 確認選擇正確的資料夾(如預設的收件箱或指定資料夾)。

這一設置可有效降低錯誤觸發次數,並提高流程資源利用效率。


步驟三:解析郵件內容與提取日期資料

解析與數據處理

郵件內容的解析是一個關鍵步驟,必須精確獲取 "目前交易日期" 欄位下的所有日期值。接下來,我們介紹該步驟如何實現:

1. 轉換郵件內容格式

郵件內容通常以 HTML 格式傳送,直接解析 HTML 可能會比較複雜,因此建議先使用 “HTML to Text” 動作將內容轉換為純文本。操作步驟如下:

  • 在觸發器的後續動作中,加入 "HTML to Text" 動作,並指定來源為郵件的 Body 欄位。
  • 這樣可以將 HTML 格式轉換為可讀文本,從而更方便進行後續文本解析。

2. 提取 "目前交易日期" 欄位的數據

轉換完成後,使用“Compose”或“初始化變數”動作進行文本處理。這裡將介紹一種常見的方法:

  • 使用 “Compose” 動作將轉換后的文本存入一個變數。
  • 利用內建字符串提取函數或正則表達式,尋找 "目前交易日期:" 之後的部分。通常該欄位後會跟隨一系列日期。
  • 如果郵件格式固定,可以根據預定義的分隔符號(例如冒號、空格或換行符)拆分字串,並將結果存儲為一個數組。

例如,流程中可以使用 “Split” 動作將字串以逗號、換行或其他指定字符分隔,生成一個包含所有日期的陣列。

3. 示例流程圖

以下是一個簡單的示意圖,描述了解析郵件內容的主要步驟:

步驟 動作描述 目的
1 使用 "當新郵件到達 (V3)" 觸發器 指定過濾主旨為 "ECAPP 海外複委託交易日" 的郵件
2 "HTML to Text" 將郵件內容轉換成可處理的文本格式
3 "Compose" 與 "Split" 動作 提取並轉換 "目前交易日期" 欄位中的日期數據成數組

確保根據您的實際郵件格式調整解析方式,特別是如果日期數據排列或符號有所不同。


步驟四:逐筆檢查日期與比對

日期比對機制

在將郵件中的日期數組成功提取後,接下來就需要進行日期比對。目標是檢查所有抽取出的日期是否與今天的日期相符。此步驟涉及到對陣列中每一項進行迴圈處理,並使用條件判斷進行比對。

1. 建立迴圈進行檢查

  • 使用 “Apply to each” 動作,設定輸入為先前解析出的日期數組。
  • 在每一次迴圈中,利用條件判斷動作對每個日期進行檢查。

2. 日期格式轉換

為避免格式錯誤,必須確保比對前日期數據格式一致。通常可使用 Power Automate 的 formatDateTime() 函數將系統日期(使用 utcNow())和郵件中提取的日期都轉換為 "yyyy-MM-dd" 格式進行比對。示例表達式:

formatDateTime(utcNow(), 'yyyy-MM-dd')

將抽取的日期也轉換至相同格式後,進行逐一比對。例如:

  • 如果比對結果一致,則繼續檢查下一筆數據。
  • 如果某筆日期不匹配當前日期,則設置一個旗標變量(例如 isNotToday = true),並可停止進一步檢查或持續累積異常資訊。

3. 條件範例

在 “Apply to each” 內加入條件動作,其邏輯大致如下:

  • 如果 formatDateTime(抽取的日期, 'yyyy-MM-dd') 不等於 formatDateTime(utcNow(), 'yyyy-MM-dd'), 則將變數 isNotToday 設置為 true。

此設置保證,每次只要有一筆日期不符,後續的通知動作即會啟動。


步驟五:發送通知至 Teams

自動化通知機制

在完成日期比對後,需要根據結果控制後續的通知流程。如果檢查後發現至少有一筆日期不是今天,我們就要透過 Teams 的通知功能發送警示消息。此步驟確保即時反饋,讓相關用戶能夠採取必要措施。

1. 條件判斷

  • 在 “Apply to each” 迴圈結束後,使用一個條件動作來檢查旗標變量(例如 isNotToday)是否為 true。
  • 如果該變量為 true,則執行後續的 Teams 通知。

2. 配置 Teams 通知動作

使用 Power Automate 的 Teams 連接器,例如 "發送訊息 (Preview)" 或 "在 Teams 頻道張貼訊息" 的動作,根據需要設置消息內容。消息內容可以包含:

  • 郵件主旨(例如 "ECAPP 海外複委託交易日")
  • 錯誤提示與異常日期具體信息
  • 提醒進一步檢查或聯繫相關人員

例如,通知訊息可寫為:"注意:郵件 'ECAPP 海外複委託交易日' 中發現一筆或多筆 '目前交易日期' 資料非當天日期,請及時查看!"


整體流程回顧與最佳實踐

流程設計考量

基於以上介紹的步驟,我們可以總結出以下幾個流程設計的要點:

穩定與效能

1. 準確觸發: 利用 Outlook 郵件觸發器中的主旨過濾來減少不必要的觸發,確保流程僅響應指定郵件。
2. 內容解析: 轉換 HTML 到純文本後再解析能夠減少格式間的衝突,您可以根據郵件的格式調整提取邏輯,不論使用正則表達式或原生分割函數。
3. 日期一致性: 在所有日期比對前統一格式非常關鍵,不論您是面對國際日期格式還是地區性格式,建議使用 formatDateTime 函數確保格式一致。
4. 判斷邏輯: 透過有效的迴圈與條件判斷,及時檢測有問題的數據,並使用旗標變量累積狀況,大幅提升檢測準確性。
5. 自動通知: 若檢查中發現異常,立即透過 Teams 發送通知,保障系統監控的即時性和準確性。

錯誤處理與日誌記錄

在業務流程中,錯誤處理機制是必備的。您可以考慮在流程中添加額外的“條件”或“記錄”動作,當數據解析或日期比對失敗時,將相關錯誤信息記錄到 SharePoint 或發送一封郵件給管理者。

此外,建議定期審查流程執行記錄,從中發現可能需要調整的環節,譬如郵件格式變更或日期表示方式改變,從而不斷提升整個自動化流程的穩定性。


進一步延伸:進階功能的應用

自動化與通知細節優化

除了上述基本流程外,Power Automate 提供了更多進階功能,您可以進一步考慮以下擴展:

1. 多層通知配置

對於不同層級的通知,您可以根據錯誤嚴重程度選擇不同的 Teams 頻道或消息格式。例如,當發現錯誤但僅涉及少量數據時,僅向小組發送簡訊;而當錯誤涉及敏感操作時,可同時發送電子郵件、Teams 通知,甚至整合 SMS 發送等措施。

2. 動態內容與內容記錄

對於每一筆解析的日期,您可以將錯誤的日期記錄到日志系統中,或在 Teams 消息中列出所有數據不符的日期。這有助於後續追蹤並及時調整數據來源或郵件格式。

3. 使用組合動作與條件分支

Power Automate 支援多條件層級與並行動作配置。您可以設計“分支”邏輯,當郵件數據規模較大時,並行處理不同區塊的解析,從而提升整體執行效率。

4. 日誌與監控儀表板

進一步可以將錯誤及通知狀態記錄在集中控制的監控儀表板上,利用 Power BI 將流程執行結果進行可視化展示,幫助管理者隨時掌握運行情況。


示例流程總結與圖表

流程組件與整體架構

綜合以上步驟,我們的自動化流程整體可劃分為以下四個模塊:

  1. 觸發器模塊: 使用 Outlook 的 “當新郵件到達 (V3)” 觸發器過濾指定主旨郵件。
  2. 解析模塊: 將郵件 HTML 內容轉換為純文本,提取出 "目前交易日期" 數據。
  3. 檢查模塊: 透過 Apply to each 與條件判斷,逐筆比對提取的日期與今天的日期,並設定相應標誌。
  4. 通知模塊: 當檢查模塊發現日期異常時,通過 Teams 發送通知,並可配置進一步的多層通知。

下表概述了每個模塊的主要動作與其功能:

模塊 主要動作 功能描述
觸發器 當新郵件到達 (V3) 監控並篩選主旨為 "ECAPP 海外複委託交易日" 的郵件
解析 HTML to Text、Compose、Split 轉換郵件格式並提取 "目前交易日期" 內的所有日期
檢查 Apply to each、Condition 逐筆比對日期是否為今天並設置檢查標誌
通知 Teams 發送訊息 在發現日期異常時自動發送警示通知

實戰範例:建立流程的具體動作

具體流程描述與示例

以下是一個基於實際需求設計的示例流程,包含各個動作對應的主要參數與設定:

1. 郵件觸發動作

  • 選擇 Outlook“當新郵件到達 (V3)” 觸發器。
  • 在進階選項中設定 Subject Filter 為 "ECAPP 海外複委託交易日"。
  • 指定監控的資料夾(預設收件箱或特定資料夾)。

2. HTML 轉換與資料解析

  • 新增 "HTML to Text" 動作,將郵件內容(Body)轉換為純文本。
  • 使用 "Compose" 動作提取包含 "目前交易日期" 的段落,例如通過正則表達式或子字串操作。
  • 如果格式固定,則可加入 "Split" 動作按常用分隔符(例如換行符或逗號)拆分文本成數組。

3. 日期比對與旗標設置

  • 添加 "Apply to each" 動作,輸入為先前拆分出的日期數組。
  • 在迴圈內部,使用 "Condition" 動作, 比較每筆數值:驗證 formatDateTime(抽取日期, 'yyyy-MM-dd') 是否等同於 formatDateTime(utcNow(), 'yyyy-MM-dd')。
  • 若任一筆數據不符,則透過 "Set Variable" 動作將布林變量(例如 isNotToday)更新為 true。

4. 發送 Teams 訊息

  • 在 Apply to each 除錯完成後,添加一個條件動作,根據變量 isNotToday 的狀態進行檢查。
  • 若條件成立(即變量為 true),使用 Teams 的 "發送訊息",配置頻道與消息文本,如 "注意:郵件 'ECAPP 海外複委託交易日' 中存在不符合今日日期的資料"。

該示例流程可根據實際情況調整,尤其是郵件內容的解析邏輯應根據郵件格式做適度更改,保證穩定的解析與正確比對。


補充建議與優化措施

強化流程的可維護性

在實際應用中,保留流程的靈活性與可維護性十分重要。下面提供一些補充性建議,幫助您優化該 自動化流程:

日誌與錯誤處理

當在處理郵件內容或解析日期時出現異常,可以考慮加入錯誤處理動作,例如使用 "Scope" 或 "Terminate" 動作,並將錯誤資訊記錄在一個獨立的日誌系統(如 SharePoint 列表或資料庫)中。

測試與驗證

建議在正式環境中部署前,先使用測試郵件進行充分的驗證。您可以創建模擬數據,並確認每個步驟(HTML 轉換、數據拆分、日期比對與通知)的結果都能正確反映。定期回顧流程執行記錄能夠及時發現潛在問題。

安全與權限管理

確保您在使用 Outlook 與 Teams 連接器時擁有相應的權限。特別是在處理敏感資料時,應嚴格按照企業安全政策設置權限,並定期審查 API 使用日誌,確保部署於安全與穩定的環境中。

自動化監控工具

可以配置自動化監控儀表板,定期檢查流程的運行狀況。利用 Power BI 或其他第三方監控系統,將通知狀態、失敗統計以及執行時長進行可視化展示。

這些措施能夠確保系統在面對郵件格式變更或臨時異常時,能及時反應並作出對應調整,從而保證整個流程的長期穩定運行。


結論與最後建議

本篇指南詳細介紹了如何使用 Power Automate 從 Outlook 中抓取特定主旨郵件、解析郵件內容中的 "目前交易日期" 欄位,並對所有日期進行比對。流程中,利用觸發器來篩選目標郵件,然後利用 HTML 轉換及正則表達式等技術提取數據,再通過逐筆比對確保日期皆為今日,最終根據檢查結果通過 Teams 通知相關用戶。

這種自動化解決方案能大幅節省人工檢查的時間,並即時捕捉日期異常情況,對於金融交易、供應鏈監控及其他需要嚴格數據比對的應用場景均十分適用。隨著流程逐步優化,應用範圍可進一步擴展為多重通知、多通道提示,並與其他企業系統進行整合,形成完整的數據監控與預警系統。

總之,利用 Power Automate 的強大功能,您不僅可以實現郵件自動化處理與數據比對,還能打造跨平台之間的無縫溝通,從而顯著提升業務操作效率與決策準確性。祝您在自動化設計中獲得更高的生產力!


參考資料


推薦探索的相關查詢


Last updated February 20, 2025

AI-assisted research. Sources, methodology and corrections · Source-checked guides and tools · Explore published answers

Ask Ithy AI