---
{
  "id": "platform.trigger.overview",
  "topic": "trigger",
  "title": "事件驅動 Trigger 概觀",
  "locale": "zh-TW",
  "version": "2026-08-10",
  "summary": "Trigger 監聽已接受的 Arinova 資源事件，並把 task 派送給同 owner 的 target Agent。",
  "content": "Trigger 是 Arinova 的事件驅動自動化。符合條件的平台 resource event 會建立 fire event，並把設定的 `systemMessage` 當作 task 派送給 target Agent。建立規則使用 `arinova.trigger.create_trigger`；省略 `targetAgentId` 時，目標就是目前 Agent。\n\ncreate success 只表示規則已 active，不表示事件已 match、task 已 delivery 或 Agent execution 已成功；這些是不同的 runtime/fire-event states。`list_triggers` 用來找規則，`get_trigger` 讀取單一規則與 lineage/summary，`update_trigger` 建立 immutable replacement，`set_enabled` 暫停或恢復，`cancel_trigger` 停止未來正常 fires。\n\n`arinova.trigger.delete_trigger` 已 deprecated，registry replacement 是 `arinova.trigger.cancel_trigger`；正常 lifecycle 應使用 cancel，而不是 soft-delete。`record_run_result` 是 runtime bookkeeping，不是一般 user command。當下 action result 與 persisted status 永遠高於本卡敘述。\n\n目前 Agent 建立規則前需要 `canCreateTrigger`。讀取既有 Trigger 需要該 Agent 的 per-resource read 或 write grant，修改則需要 write grant。target Agent 永遠保有 write floor；由 Agent 建立時，creator 也會在同一 transaction 取得 write。update 使用 immutable replacement：grants 會複製到新 row，改綁後的新 target Agent 會重新套用 floor。user owner 可在 Office 管理 grants。既有規則已 grandfather 給 target Agent 與 owner 的 active external Agents；新的 user-created 規則不會 fan out 給全部 Agents。\n",
  "aliases": [
    "Trigger",
    "事件規則",
    "事件驅動自動化",
    "資源事件",
    "卡片變更時",
    "Agent task 派送"
  ],
  "tags": [
    "trigger",
    "overview",
    "event-driven"
  ],
  "relatedActions": [
    "arinova.trigger.create_trigger",
    "arinova.trigger.list_triggers",
    "arinova.trigger.get_trigger",
    "arinova.trigger.update_trigger",
    "arinova.trigger.set_enabled",
    "arinova.trigger.cancel_trigger",
    "arinova.trigger.delete_trigger"
  ],
  "relatedActionPrefixes": [],
  "url": "https://docs.arinova.ai/zh-tw/kb/trigger/overview/"
}
---

Trigger 是 Arinova 的事件驅動自動化。符合條件的平台 resource event 會建立 fire event，並把設定的 `systemMessage` 當作 task 派送給 target Agent。建立規則使用 `arinova.trigger.create_trigger`；省略 `targetAgentId` 時，目標就是目前 Agent。

create success 只表示規則已 active，不表示事件已 match、task 已 delivery 或 Agent execution 已成功；這些是不同的 runtime/fire-event states。`list_triggers` 用來找規則，`get_trigger` 讀取單一規則與 lineage/summary，`update_trigger` 建立 immutable replacement，`set_enabled` 暫停或恢復，`cancel_trigger` 停止未來正常 fires。

`arinova.trigger.delete_trigger` 已 deprecated，registry replacement 是 `arinova.trigger.cancel_trigger`；正常 lifecycle 應使用 cancel，而不是 soft-delete。`record_run_result` 是 runtime bookkeeping，不是一般 user command。當下 action result 與 persisted status 永遠高於本卡敘述。

目前 Agent 建立規則前需要 `canCreateTrigger`。讀取既有 Trigger 需要該 Agent 的 per-resource read 或 write grant，修改則需要 write grant。target Agent 永遠保有 write floor；由 Agent 建立時，creator 也會在同一 transaction 取得 write。update 使用 immutable replacement：grants 會複製到新 row，改綁後的新 target Agent 會重新套用 floor。user owner 可在 Office 管理 grants。既有規則已 grandfather 給 target Agent 與 owner 的 active external Agents；新的 user-created 規則不會 fan out 給全部 Agents。
