[基本] Power Automate 自動化通知到期範例

內文主要是分享如何使用 Power Automate 自動化根據 OneDrive for Business 內的 Excel 資料發送即將到期的警示給負責人。

概述

在日常工作中, 我們可能需要通知負責人某公司購買商品即將到期。

若沒有系統協助我們記錄與自動通知,我們往往最直接的做法可能是在 ERP 系統下載資料後,再根據即將到期日的資訊手動一一通知負責人。

可是若剛好我們具有 Microsoft 365 服務與 Power Automate 功能, 我們將可以使我們的工作更為輕鬆,更簡便。

以下是我的範例,分享給大家。

範例資料

在 OneDrive for Business 準備一個 Excel, 並且輸入簡易資料(序號,公司名稱,商品,到期日,剩餘時間,負責人)。 

針對資料使用資料表格式,並且命名表為資料表。

剩餘時間是使用工時計算, [@到期日] 是直接選擇前方的到期日後的變數:

=[@到期日]-TODAY()

備註:剩餘時間格式需修改為數字, 否則可能會變成日期格式(01/01/1990)。

範例圖

完成後, 我們即可開始我們 Power Automate 設計。

Power Automate 流程

開始 Power Automate 時, 我們可以根據我們的情景使用 Scheduled 自動觸發 Trigger 或手動點擊按鈕作為觸發 Trigger。

手動點擊按鈕觸發

手動點擊觸發

Scheduled 自動觸發

Scheduled 自動觸發

手動通知是我們有需要時, 再依賴手動的方式點擊按鈕開始流程。 

若是依賴 Scheduled, 我們只需要設定我們所需觸發週期(如每天,每週或每月), 流程將會定時觸發。

若我們可以設定每天早上 9 點自動 Trigger 流程, 流程將會自動協助我們通知負責人。

備註:以上我們為了方便, 我們將使用手動的方式進行觸發。


以上 Trigger 選擇後, 我們將開始我們的第一個 Action: 列出 Excel 內的 Table 的資料。

連接器在 Excel Online (Business) - Action 的 List rows present in a table

點擊後, 位置選擇 OneDrive for Business 與文件庫選擇 OneDrive, 我們即可在 FIle 與 Table 選擇上方我準備的範例資料(檔案位置在自動處理下的商品記錄表,  Table 名稱為資料表)

備註:檔案將是使用選擇的方式選擇至相關檔案,並且敞開進階設定將 DateTime 修改為 ISO 8601。

若不修改 DateTime 格式, 後續使用的日期將會變成數字

Excel 連接器

Excel 關聯完成後, 我們需設定兩個變數: 一個將變數命名為文字剩餘時間, 另一個將變數命名為數字剩餘時間

文字剩餘時間格式為 String, 預設為 0; 數字剩餘時間格式為 Integer, 預設也為 0.

使用變數原因有三:

  1. Excel Table 傳數字至 Power Automate 會變成文字, 故後續在數字判斷上會發生錯誤
  2. 我發現無法在 Condition 的邏輯處理器內直接將文字資料轉換為數字資料, 故需要使用變數
  3. 迴圈內是無法建立變數的, 故需要在迴圈前建立變數後供迴圈內使用
變數連接器

完成變數設定後, 新增 Apply to each 連接器(該連接器為迴圈連接器)

新增後, 選擇 Excel 的 value, 連接器將會依賴 Excel Table 的資料一步一步執行。

Apply to each 連接器

設定好 Apply to each 後, 在 Apply to each 內新增兩個設定變數連接器(Set variable)。

一個是設定文字剩餘時間的變數為 Excel 的剩餘時間,另一個是使用公式將文字剩餘時間轉為數字, 公式為:

int(variables('文字剩餘時間'))

備註:可以在 Expression 內輸入 int() 後點擊 Dynamic content 使用選擇的方式將 Excel 的剩餘時間變數塞進公式。

設定變數連接器

完成變數轉換後, 我們即可使用 Condition 連接器進行條件判斷。

我們在變數內選擇我們設定好的數字剩餘時間,然後中間判斷選擇少於或等於,最後判斷值為 10。


完成 Condition 後,我們將可以在若判斷是的情況下設定通知。

一般通知使用 Email, 在 Power Automate 內是使用 Outlook 的 Send an email 連接器進行發信, 但為了更好的整合 Microsoft Teams , 我們可以使用 Microsoft Team 的機器人通知。

Office 365 Outlook - Send an email 連接器

To 的欄位可以直接使用我們在 Excel 內的負責人 Email,該負責人在執行流程後也將會收到 Email。

使用分號可達至發送至多人。

Office 365 Outlook 連接器

Microsoft Teams - Post message in a chat or channel (我使用這個作為範例)

我是將資訊依賴 Flow bot 發佈到 Flow bot 的 Chat 內。 

除此之外, 為了方便, 我在收件人使用了點擊按鈕的 User Email 作為收到資訊的目的地。 實際情景可使用 Excel Table 內的負責人作為收取資訊者

最後,我們可以在資訊內輸入我們想要提供的資訊。


完成後, 我們即可進行測試我們流程是否正常。

根據我們的資料,少於一天的公司為 A, 故我們在 Microsoft Teams 的 Flow bot 收到的資訊如下:

剩餘時間
流程結果
設計內容

完整流程

完整流程

補充

以下是我使用 Compose 連接器輸出取得 Excel 內剩餘天數的格式, 我們會發現該資料是純文字。

文字格式

若是數字將會沒有引號包覆。

數字格式無引號

除此之外, 若不想事前使用 Excel 格式計算出剩餘天數, 可考慮參考我另一篇文章( [Power Automate] 日期相減 ) 在流程內計算剩餘時間。

最後, 若需要更美觀發送資訊至 Microsoft Teams, 可使用卡片的方式(Microsoft Teams - Post message in a chat or channel)進行設計與發佈至 Flow Bot 的 Chat 內。 

可是該方式將會因需要輸入一些 Code 而顯得更加複雜與麻煩, 之後有機會再介紹 Microsoft Teams 的 Card 設計。

總結

根據以上範例,我們後續將可以僅考慮如何更新 Excel 內的資料即可。 這樣一來也解除了我們日常工作中不斷重複通知的作業, 也使得我們工作上更有效率與輕鬆。

最後, 若我們真的想要達至全自動化, 除了可依賴系統外, 我們還能依賴 Power Automate RPA 自動下載更新資料。

 

以上內容為我個人的見解, 並感謝您的閱讀, 謝謝

分級: 入門是認識, 基本是運用, 進階是混合結合
範本是已可下載或可使用的範例, 至於教程當然是學習的結晶