所屬模組: Automation(可選)
Wireframe: 開啟互動原型 → 側邊欄「自動化」(含流程編輯器、Dry-Run、排程、範本庫、執行歷史)
密碼重設、VPN 開通、帳號建立——這些 IT 任務的步驟是固定的,但每次都要人工執行。沒有自動化等於用最貴的資源(人)做最便宜的事。
拖拉式畫布,把 IT 流程變成可重複執行的自動化。不用寫程式碼,拖幾個節點、連幾條線就完成。
參數編輯行為:點選畫布上的節點 → 畫布右側展開「節點參數面板」,依節點類型顯示對應欄位。MVP Wireframe 提供 3 種最常用節點(HTTP / Script / 條件)的完整面板 demo;其他節點類型沿用同類設計模式。
| 節點 | 做什麼 | 可設定參數 |
|---|---|---|
| 觸發器 | 流程起點,定義觸發來源 | 觸發方式(服務目錄 / Webhook / 排程 / 手動) |
| HTTP 呼叫 | 打外部 API(AD、VPN Gateway、SCCM...) | URL、Method、Headers、Body、Auth(API Key / Bearer Token / Basic)、重試次數(0-5)、逾時秒數 |
| 腳本執行 | 跑 Python / Shell 腳本(沙箱隔離) | 語言(Python / Shell)、腳本內容、輸入變數、逾時秒數 |
| 條件判斷 | 走不同分支(IF/ELSE) | 條件表達式(語法:欄位 運算子 值,支援 == != > < >= <= contains,多條件用 AND / OR 連接) |
| 人工簽核 | 暫停等主管核准,呼叫核心簽核引擎 | 簽核人(指定使用者 / 依角色)、逾時時間、逾時動作(自動核准 or 自動退回,可逐節點設定) |
| 發通知 | Email / Slack / Webhook | 通道、收件人、範本、變數替換 |
| 工單操作 | 更新狀態、指派、加留言 | 目標工單(觸發來源工單 / 指定 ID)、操作類型、內容 |
| 等待 | 延遲指定時間後繼續 | 等待秒數 / 分鐘數 |
| 迴圈 | 對清單中每個項目重複執行子流程 | 迴圈來源(上一節點輸出的 array)、平行或序列 |
| AI 呼叫 | 用 Prompt 範本問 AI,結果傳給下一個節點 | Prompt 範本 ID、輸入變數、輸出格式 |
正式執行前可以模擬跑一遍,看每個節點的輸入輸出,不會真的呼叫外部系統。
結果面板呈現:按下 Dry-Run 按鈕後,畫布右側展開「Dry-Run 結果」面板:
| 區塊 | 內容 |
|---|---|
| 頂部摘要 | 整體結果 icon + 文字(✓ 全部節點通過 / ✗ Node-N 失敗 · 已中止)、預估執行時間、時間戳記 |
| 每節點一列 | 狀態 icon(✅/❌/⏭)、節點名稱、模擬 input、模擬 output(HTTP 節點標註「(模擬)」前綴)、耗時 |
| 底部操作 | 「關閉面板」+「重新 Dry-Run」按鈕(重新執行保留輸入變數) |
失敗處理:某節點失敗時,後續節點標為「⏭ 跳過」,摘要顯示失敗節點名稱與錯誤原因。
| 操作 | 行為 |
|---|---|
| 儲存 | 覆蓋目前草稿版本,不建立新版號。自動儲存每 30 秒觸發一次 |
| 發布 | 建立新版本號(v1 → v2 → v3),已發布版本不可修改。正在執行的流程使用舊版本不受影響 |
| Dry-Run | 模擬執行所有節點,HTTP 呼叫改為紀錄 request 但不實際發送,顯示每個節點的輸入/輸出 |
| 回滾 | 在版本歷史中選擇舊版本 →「恢復此版本」→ 建立為新草稿 |
| 唯讀模式 | 已發布版本預設以唯讀模式開啟:節點不可拖拉、不可新增或刪除、參數不可編輯。Toolbar 顯示「建立新版(草稿)」取代「儲存」「發布」按鈕。Page title 動態顯示狀態:(草稿) 或 (v3 · 唯讀)。點「建立新版(草稿)」後複製目前版本為新草稿並切換至編輯模式 |
每次發布建立新版本。正在跑的流程不受編輯影響,可以隨時回滾舊版本。
入口:執行追蹤頁(Workflow 詳情頁)的「版本歷史」按鈕,點擊後開啟版本歷史 Modal。
版本列表欄位:
| 欄位 | 說明 |
|---|---|
| 版號 | v1、v2、v3...,目前使用中的版本標記「(目前)」 |
| 發布時間 | 精確到分鐘 |
| 發布者 | 執行發布操作的使用者名稱 |
| 變更摘要 | 發布時系統自動產生(列出新增/修改/刪除的節點數量),使用者也可在發布時手動填寫摘要覆蓋 |
操作按鈕:
| 操作 | 行為 |
|---|---|
| 查看此版 | 以唯讀模式開啟該版本的流程編輯器,可瀏覽完整的節點結構和參數設定 |
| 恢復此版 | 將該版本複製為新草稿(不影響目前已發布版本),自動跳轉至編輯器,使用者可修改後重新發布 |
限制:已刪除的 Workflow 不保留版本歷史。版本歷史無上限,隨 Workflow 生命週期永久保留。
Cron 設定自動執行。介面提供人話翻譯——「每天凌晨 2 點」而非 0 2 * * *。
排程管理規格(6 欄整併 · 語意重複的欄位合併以降低視覺負擔):
| 欄位 | 說明 |
|---|---|
| 流程 | 已發布的 Workflow 名稱 |
| 排程 | 顯示人話翻譯(如「每天凌晨 2:00」);hover tooltip 顯示原始 cron 表達式(如 0 2 * * *) |
| 有效期間 | 開始日期~結束日期(皆為選填)。未設定則永久有效。開始前不觸發,結束後自動停止並標記「已到期」 |
| 狀態健康 | 單一 badge 吸收狀態與健康語意,優先順序:❗ 遺漏(紅)→ ⚠ 異常(橘)→ ⏸ 暫停中(灰)→ 🔲 已到期(灰)→ ✓ 正常(綠,預設) |
| 上次觸發 | 合欄呈現「時間 · 結果 icon + 文字」(如「今天 02:00 · ✓ 成功」);未觸發顯示「—」;失敗可附錯誤摘要 |
| 操作 | 情境化主按鈕:啟用中 → 暫停;暫停中 → 恢復;已到期 → 刪除;其他操作(編輯、刪除)MAY 於 ⋯ overflow |
健康狀態規則:
⚠ 異常❗ 遺漏✓ 正常備註:新增/編輯排程 Modal 中 cron 表達式與人話翻譯並列顯示(SC-001),便於編輯時驗證;列表檢視以人話為主,降低掃描負擔。
新增排程 Modal(SC-001 AC④ · modal-new-schedule):點「+ 新增排程」→ 展開 Modal,依序填寫:
| 欄位 | 說明 |
|---|---|
| 選 Workflow | 下拉選已發布 Workflow 清單(必填) |
| Cron 表達式 | 文字輸入(必填);輸入時即時顯示人話翻譯於欄位下方;無效格式顯示錯誤提示 |
| 有效期間 | 開始日期 / 結束日期(皆選填,未設為永久) |
| 預設輸入參數 | 動態欄位:所選 Workflow 觸發器定義了輸入變數時顯示(名稱、類型、預設值、必填、說明);無變數時顯示「此流程無需輸入參數」 |
Modal 底部按鈕:「儲存」+「取消」。儲存後 Modal 關閉,排程表格新增一行(狀態健康預設 ✓ 正常,上次觸發顯示「—」)。
排程觸發時需自動帶入預設參數,無需人工介入。新增或編輯排程時,如果所選 Workflow 的觸發器定義了輸入變數,系統顯示參數設定區塊(欄位結構複用手動執行的參數定義:名稱、類型、預設值、必填)。排程觸發時自動帶入此處設定的參數值。無輸入變數的 Workflow 不顯示此區塊。
每個流程有專屬 Webhook URL,外部系統 POST 過來就觸發執行。也支援 API 觸發。
每次 Workflow 執行都有完整的追蹤紀錄:
頁面 Actions 情境化(沿用 IN-034 模式):
| Workflow 狀態 | 主 CTA | 次要 | ⋯ Overflow |
|---|---|---|---|
| 已發布 | ▶ 執行(綠底強調) | 版本歷史 | 編輯、Webhook URL |
| 草稿 | 前往編輯 | 版本歷史(MAY 為空) | Webhook URL |
| 已停用 | 啟用 | 版本歷史 | 編輯、Webhook URL |
避免 4 按鈕平齊導致主次不分。
| 欄位 | 說明 |
|---|---|
| 執行 ID | 格式:RUN-YYYYMMDD-NNN(日期 + 當日序號) |
| 觸發方式 | 服務目錄 / 排程 / Webhook / 手動 / API |
| 開始時間 | 精確到秒 |
| 總耗時 | 最後一個節點完成時間 - 開始時間 |
| 整體狀態 | 執行中 / 完成 / 失敗 / 已終止 |
節點執行狀態:
| 狀態 | 圖示 | 說明 |
|---|---|---|
| 完成 | ✅ | 節點成功執行 |
| 執行中 | 🔄 | 節點正在處理(含等待外部回應) |
| 等待中 | ⏳ | 尚未到此節點 |
| 失敗 | ❌ | 節點執行錯誤(顯示錯誤訊息) |
| 等待簽核 | ✋ | 人工簽核節點,等待核准 |
每個節點顯示耗時(節點開始到完成的秒數)。
操作按鈕:
全域執行歷史(跨所有 Workflow):
| 欄位 | 說明 |
|---|---|
| 流程 | Workflow 名稱 |
| 執行 ID | RUN-YYYYMMDD-NNN |
| 觸發方式 | 服務目錄 / 排程 / Webhook / 手動 / API |
| 時間 | 執行開始時間 |
| 耗時 | 總耗時,失敗時顯示「—」 |
| 結果 | ✅ 成功 / ❌ 失敗(附錯誤摘要) |
篩選 Tab:全部 / 成功 / 失敗 / 執行中。點擊 tab 即時篩選列表。
紀錄保留:90 天。超過 90 天的紀錄自動清除,但統計數據(成功率、執行次數)永久保留在 Analytics。
六個開箱即用的範本:密碼重置、VPN 申請、軟體安裝、帳號解鎖、新人到職、法規合規比對。複製一份再改參數就能上線。
範本卡片欄位:名稱、描述(流程步驟摘要)、所需整合(AD/VPN Gateway/SCCM 等)。
按鈕佈局(AT-019 AC③):
兩種入口:
| 入口 | 使用場景 | 操作 |
|---|---|---|
主要:page-workflows 頂部「+ 新增流程」Modal |
99% 建流程場景 —— 建立時選範本或空白 | 點「+ 新增流程」→ Modal 展示 6 張範本 +「從空白開始」卡 → 點卡建立草稿 → 跳編輯器 |
次要:範本庫獨立頁(page-workflow-templates) |
瀏覽、閱讀完整說明、Demo 展示、Phase 2 社群範本預留 | 點頂部「範本庫」按鈕 → 進獨立頁 → 點範本「複製為新流程」 |
複製行為(兩種入口相同):點卡 → 建立草稿副本(名稱加「(副本)」後綴)→ 自動跳轉到編輯器。
| 狀態 | Badge | 說明 | 列表操作主按鈕 |
|---|---|---|---|
| 草稿 | 灰色「草稿」 | 尚未發布,僅建立者可見。可編輯、Dry-Run,但不會被觸發執行 | 編輯 |
| 已發布 | 綠色「已發布」 | 正式上線,可被排程、Webhook、API 或服務目錄觸發執行 | ▶ 執行 |
| 已停用 | 灰色「🔲 已停用」 | 曾發布但目前暫停。不會被觸發,但保留歷史執行紀錄。可隨時重新啟用 | 啟用 |
排序:列表預設依「已發布 → 草稿 → 已停用」排序(AT-001 AC⑥、AC⑩);同狀態內依上次執行時間降序。已停用列 MUST NOT 顯示「▶ 執行」或「編輯」按鈕。
呈現模式:流程列表頁頂部以單行 banner 呈現四項指標(沿用 AP-010 / IN-033 已驗證模式),取代舊 KPI 4 卡佈局,釋出列表視覺空間。
Banner 格式範例:
流程總數 8(5 已發布 / 3 草稿) · 本月執行 147 次(↑23%)· 成功率 96%(失敗 6 次)· 節省工時 38h
| 指標 | 計算方式 | delta 比較基準 |
|---|---|---|
| 流程總數 | count(所有 workflows),delta 顯示「N 已發布 / M 草稿」子狀態分布 | 靜態子狀態分布 |
| 本月執行 | 當月 1 日 00:00 起的所有 workflow 執行總次數(含成功和失敗) | vs 上月同期(上月 1 日至上月同日) |
| 成功率 | 本月最終狀態為「完成」的次數 ÷ 本月總執行次數 × 100%。「錯誤」或「逾時」算失敗 | delta 顯示失敗絕對次數 |
| 節省工時 | Σ(本月每次成功執行 × 該 Workflow 範本的手動處理基準時間)。管理員可在範本設定中調整基準時間 | 顯示「本月估算」 |
每個 Workflow 在列表頁以卡片形式呈現,顯示:
| 欄位 | 說明 |
|---|---|
| 狀態 badge | 已發布(綠色)/ 草稿(灰色)/ 已停用(灰色) |
| 版本號 | 最新發布版本(如 v3),草稿顯示「未發布」 |
| 名稱 | Workflow 名稱 + icon |
| 描述 | 簡述流程步驟 |
| 上次執行 | 相對時間(「2 小時前」「昨天」「3 天前」)。草稿顯示「尚未執行過」 |
| 上次結果 | 成功(綠色)/ 失敗(紅色) |
| 本月統計 | 「N 次 · 成功率 M%」 |
點擊行為:已發布卡片 → 進入執行追蹤頁;草稿卡片 → 進入流程編輯器。
搜尋:搜尋範圍為 Workflow 名稱和描述,即時篩選卡片和列表。
流程列表頁支援卡片式和列表式兩種檢視模式,透過右上角 icon toggle 切換。系統記憶使用者偏好(localStorage),下次進入自動套用。
列表模式欄位:
| 欄位 | 說明 |
|---|---|
| 名稱 | icon + Workflow 名稱 |
| 狀態 | badge:已發布(綠色)/ 草稿(灰色)/ 已停用(灰色) |
| 版本 | 最新版號(如 v3),草稿顯示「未發布」 |
| 描述 | 流程步驟摘要(截斷顯示,hover 展開完整內容) |
| 上次執行 | 相對時間。草稿顯示「—」 |
| 上次結果 | 成功(綠色)/ 失敗(紅色)。草稿顯示「—」 |
| 本月統計 | 「N 次 · 成功率 M%」。草稿顯示「—」 |
| 操作 | 已發布:▶ 執行 · 編輯 · 停用。草稿:編輯 · 刪除。已停用:啟用 · 刪除 |
排序:預設按狀態排序(已發布在前 → 草稿 → 已停用),同狀態內按上次執行時間降序。
點擊行為:與卡片模式一致——已發布 → 執行追蹤頁,草稿 → 流程編輯器。
Workflow 有四種觸發方式:
| 觸發方式 | 說明 | 範例 |
|---|---|---|
| 服務目錄綁定 | 管理員在服務目錄設定「簽核通過後自動觸發」指定 Workflow | VPN 申請簽核通過 → 自動執行 VPN 開通流程 |
| 排程 (Cron) | 按設定的時間自動執行 | 每天凌晨 2 點掃描即將過期的密碼 |
| Webhook | 外部系統 POST 到 Workflow 專屬 URL | Graylog 偵測異常 → 觸發 IP 封鎖流程 |
| 手動 / API | IT 人員在 Workflow 頁面手動觸發,或其他系統透過 API 呼叫 | 手動執行一次性清理任務 |
入口:
僅已發布(Published)狀態的 Workflow 顯示執行按鈕。草稿和已停用不可手動執行。
執行參數 Modal:
點擊「▶ 執行」後彈出 Modal,顯示該 Workflow 觸發器節點定義的所有輸入變數:
| 欄位 | 說明 |
|---|---|
| 參數名稱 | 觸發器定義的變數名稱 |
| 類型 | 文字 / 數字 / 選項(下拉)/ JSON |
| 預設值 | 觸發器設定的預設值(可覆寫) |
| 必填 | 紅色 * 標記,未填不可送出 |
| 說明 | 觸發器設定的參數說明文字 |
Modal 操作:
無參數情境:如果 Workflow 的觸發器沒有定義任何輸入變數,Modal 顯示「此流程無需輸入參數」+ 確認執行按鈕,一鍵即可啟動。
服務目錄綁定流程:
Workflow 執行失敗處理:
| 情境 | 系統行為 |
|---|---|
| 某個節點執行失敗 | 記錄錯誤到執行歷史,工單狀態不自動變更 |
| 通知 | 發送通知給 Workflow 負責人(Email + 站內)和工單處理人 |
| 工單狀態 | 保持「處理中」,不自動標為已解決(避免假完成) |
| 重試 | 從失敗節點重新開始(不重跑已成功節點) |
| 工單詳情顯示 | 「自動化執行」區塊顯示紅色「失敗」+ 錯誤原因摘要 |
| 自動建立追蹤工單 | 失敗的 Workflow 如果不是由工單觸發(如排程或 Webhook 觸發),系統自動建立一張追蹤工單,指派給 Workflow 負責人,確保失敗不會被忽略 |
Workflow 節點類型新增「合規檢查」——在自動化流程中加入合規規則比對步驟。例如:IT 請求 → 合規檢查 → 通過 → 自動執行 / 不通過 → 通知申請人。
IT 管理員老張要建立「VPN 申請自動化」流程:
- 開啟流程編輯器,從範本庫選「VPN 申請」
- 拖拉調整:觸發 → 主管簽核 → 呼叫 VPN API 開通 → 通知申請人
- Dry-Run 測試一次,確認每個節點都正常
- 發布為 v1,設定到服務目錄的「VPN 申請」服務
- 從此使用者提交 VPN 申請 → 主管一鍵核准 → 系統自動開通 → 零人工介入
| 版本 | 功能 |
|---|---|
| v0.1 MVP | 流程編輯器 + 核心節點 + Dry-Run + 版本控制(含版本歷史 UI + 唯讀模式)+ 排程 + 執行歷史 + 內建範本 + 重試 + 強制終止 + 列表/卡片雙檢視 + 手動執行(含自訂參數) |
| v0.2 | 執行歷史進階篩選 + 執行比較 + 批次重試 |
| v0.3 | AI 生成流程草稿 + AI 生成腳本 |
| v1.0 | Self-Healing Agent(自動修復已知故障) |