# 觸發器與事件源

Source: https://openflow.run/zh-tw/docs/concepts/triggers/
Language: zh-TW
Product version: 0.1.0-beta.77

選擇執行入口，並瞭解自動執行需要哪些設定。

每次執行都從一個觸發器開始。工作流程可以有多個入口，但一次執行不會同時啟動所有入口。

## 入口型別

| 觸發器 | 啟動來源 |
| --- | --- |
| 開始 | 顯式呼叫，傳入宣告的工作流程輸入。 |
| Webhook | 已接受的 HTTP 請求。 |
| 定時觸發 | 到達某個計畫時間。 |
| 工作流程錯誤 | 所選上游工作流程中符合條件的正式環境執行失敗。 |
| 應用事件 | 從應用目錄選擇的具體事件，例如 Gmail 收到新郵件或 Slack 提及。 |

草稿測試可以模擬觸發器。正式環境自動執行要求工作流程已成功發布並啟用。

定時觸發器在工作日 UTC 09:00 啟動正式環境執行，回傳固定的報告訊息。

**輸入**
Cron：0 9 * * 1-5；時區：UTC。

**預期結果**
{"message":"Daily report is ready"}

**執行前準備**
在執行了排程器的部署環境中，發布並啟用工作流程。

[下載工作流程](https://openflow.run/docs/examples/daily-schedule.openflow.json)

## 應用觸發器定義

「觸發器」頁籤將內建入口和應用事件分開顯示。先選擇應用，再從部署端目錄選擇具體事件；選取的定義提供設定欄位和輸出。詳見[應用觸發器](https://openflow.run/zh-tw/docs/nodes/integration/index.md)。事件設定在執行建立前就已確定，不能讀取新執行內部才會產生的輸出。

需要為所選入口設定帳號連線、事件源、回呼驗證和應用權限。已儲存的執行圖通過驗證，並不能證明這些外部條件已經滿足。

## 共用事件源

部分應用事件使用應用、工作區或帳號級的共用事件源。每個匹配的工作流程各自接收事件，並按目前發布版本和權限接受檢查。停用其中一個工作流程，不會刪除其他工作流程的訂閱。

Connector 後端負責應用協議檢查；Open Flow 負責接收執行和持久化投遞進度。收到回呼，不等於已成功建立執行。

## 事件識別碼

同一事件的穩定識別碼，可以防止已接收事件的重試再建立一次一般執行。新的業務事件仍可啟動新的執行。排程、去重和生命週期協調由部署端負責。

## 資料來源

*   [docs/architecture.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/architecture.md#event-sources)
*   [docs/architecture.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/architecture.md#publication-and-trigger)
*   [docs/control/trigger-permissions.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/control/trigger-permissions.md)
