---
{
  "id": "platform.workflow.permissions-and-safety",
  "topic": "workflow",
  "title": "Workflow Agent 權限與安全邊界",
  "locale": "zh-TW",
  "version": "2026-09-01",
  "summary": "Workflow 使用明確的 per-Agent read/write grant，查找會 fail closed，舊資料沒有 backfill，高影響操作仍須確認。",
  "content": "Workflow grant 與建立 capability 分開。Agent 需 `can_create_workflow`；建立時同 transaction 給 `write`。既有 Workflow 不 backfill，external／platform Agent 要等 owner 授權；空清單或拒絕不可用來推論資源存在。\n\n`read` 可 list/get 與讀 run history；`write` 再允許 update、pause、activate、run、delete、cancel。既有資源 Actions 對不存在與未授權都回 `resource_not_found`；grant 錯誤保留各 typed code。\n\nAgent 直接呼叫 v1 delete、activate、run、cancel 會收到 403 `REQUIRES_CONFIRMATION` 與 Actions handoff。確認後的 `run_workflow` 仍需 Workflow `write`。`resultDestination.conversationId` 預設呼叫對話，且只能是 User、Agent 都可存取的一般 H2A/group；不擴張 Workflow grant。\n\nAgent 寫 `delivery` step 需 endpoint `write`，否則 `OUTBOUND_ENDPOINT_NOT_GRANTED`；owner 寫入不受影響，之後移除 grant 也不會使已儲存 Workflow 失效。\n\n`agent` step 可用 external Agent 或租用 persona。Persona 走受限 `space_api` 回合，無工具／Actions、ambient memory、附件；prompt 與計費身分都是 Workflow owner，扣 owner 錢包而非 creator。\n",
  "aliases": [
    "Workflow Agent grant",
    "工作流程權限",
    "workflow read access",
    "workflow write access",
    "workflow not found",
    "can create workflow",
    "workflow 結果目的地"
  ],
  "tags": [
    "workflow",
    "permissions",
    "safety",
    "confirmation"
  ],
  "relatedActions": [
    "arinova.workflow.create_workflow",
    "arinova.workflow.list_workflows",
    "arinova.workflow.get_workflow",
    "arinova.workflow.update_workflow",
    "arinova.workflow.delete_workflow",
    "arinova.workflow.activate_workflow",
    "arinova.workflow.pause_workflow",
    "arinova.workflow.run_workflow",
    "arinova.workflow.list_runs",
    "arinova.workflow.get_run",
    "arinova.workflow.cancel_run"
  ],
  "relatedActionPrefixes": [],
  "url": "https://docs.arinova.ai/zh-tw/kb/workflow/permissions-and-safety/"
}
---

Workflow grant 與建立 capability 分開。Agent 需 `can_create_workflow`；建立時同 transaction 給 `write`。既有 Workflow 不 backfill，external／platform Agent 要等 owner 授權；空清單或拒絕不可用來推論資源存在。

`read` 可 list/get 與讀 run history；`write` 再允許 update、pause、activate、run、delete、cancel。既有資源 Actions 對不存在與未授權都回 `resource_not_found`；grant 錯誤保留各 typed code。

Agent 直接呼叫 v1 delete、activate、run、cancel 會收到 403 `REQUIRES_CONFIRMATION` 與 Actions handoff。確認後的 `run_workflow` 仍需 Workflow `write`。`resultDestination.conversationId` 預設呼叫對話，且只能是 User、Agent 都可存取的一般 H2A/group；不擴張 Workflow grant。

Agent 寫 `delivery` step 需 endpoint `write`，否則 `OUTBOUND_ENDPOINT_NOT_GRANTED`；owner 寫入不受影響，之後移除 grant 也不會使已儲存 Workflow 失效。

`agent` step 可用 external Agent 或租用 persona。Persona 走受限 `space_api` 回合，無工具／Actions、ambient memory、附件；prompt 與計費身分都是 Workflow owner，扣 owner 錢包而非 creator。
