有在使用MAKE建立自動化流程的人應該都有遇過一個問題
正常運行的工作流程突然報錯,整個自動化場景就停下來了
MAKE會發送一個郵件給使用者,使用者收到後必須親自登入MAKE後台重啟場景
有時候錯誤不是因為流程設計的關係,而可能網路問題或連線錯誤而導致整個場景出現錯誤而停下
所以這時候就希望有一個簡單又快速可以幫助自己重啟的方法
之前有做過LINE@小秘書,這次我們也使用LINE@當啟動器
使用關鍵字來「重新啟動」我們指定的MAKE場景

文章大鋼
建立LINE@與串接
具體的方法可以參考我們的教學影片
從建立LINE@到MAKE串接都有完整說明
只要完成與LINE@的串接,接下來就是MAKE流程的設計了
建立MAKE工具的連結
我們要使用的工具是MAKE的官方小工具:List scenarios
這個工具可以幫我們列出指定資料夾內的所有scenario
串接方式很簡單,點擊左下角的頭像 > 「Profile」 > 上方的「API/MCP ACCESS」> 點擊「Add token」
直接把所有權限勾選,然後取好這個token的名稱就可以了


最後先把Key複製好,等一下會用到
接下來回到工作流內,找到MAKE的「List scenarios」

在「Connection」點擊「Add」
類型選擇「Make (API key)」
「Environment URL」填寫自己MAKE後台的URL連結,例如我的帳號就是「us1.make.com」
同時也要記得前面要加https,所以我的是填寫 https://us1.make.com,根據自己的帳號連結調整
「API key」則是填寫剛剛在Profile那邊新增的key

另外在「List scenarios」可以做一個判斷,例如指定關鍵字
本次範例我使用的關鍵字是「重啟」
當我的LINE@收到這個關鍵字時,就會去運行這個工作流程


取得所需的資料
接下來使用「Array aggergator」取得我們需要的資訊
配合「Repeater」,當我們資料夾內有多個scenario時,到時候可以取得多個scenario的資訊
「Array aggergator」包裹「List scenarios」並勾選
- Scenario ID
- Name
- Hook Id
- isActive

刪除佇列資料
如果手動從MAKE後台重新啟動場景時,MAKE都會詢問我們要不要刪除舊資料
所以我們也要把刪除舊的佇列資料設定在這個流程內
刪除舊資料佇列的方式,是透過發送API讓MAKE知道我們要把它刪除
如果對於MAKE的API有興趣的話,可以參考 Make API documentation
使用的工具是「Make an API call」,中間我們還會做判定
- 確認hook id是否存在
- 確認啟動狀態是否為false

接下來就按照我圖片的內容輸入
URL:/v2/hooks/ {{array [i] .hookId}} /incomings?confirmed=true
Method:DELETE
Header Key:Content-Type
Header Value:application/json
Body:{“all”:true}

URL欄位內的{{array [i] .hookId}},就是選取前面「Array aggergator」與「Repeater」
最後放一個error handler:Ignore

重啟場景
最後一步了,我們要使用MAKE的「Turn a scenario’s scheduling on/off」
一樣在前方我們要進行判斷場景是否真的停止了
確認停止後,才能進行後方的重啟

「Turn a scenario’s scheduling on/off」的設定很簡單
「Method」選擇on
然後下放輸入 {{array [i].id}} 也就是前面取得場景ID的資料
這樣指定的場景就完成重啟了
