跳到內容

Workflow

client.workflows 管理 Imbrace 流程引擎:建立和觸發自動化流程、檢視執行歷史、使用資料夾組織、管理應用程式連線和 MCP 伺服器,以及存取工作流程表格。

如需逐步指南,請參閱 SDK 指南中的 Workflows


Schema

Flow

FieldType說明
idstring唯一流程 ID
createdstringISO 8601 建立時間戳
updatedstringISO 8601 更新時間戳
projectIdstring所屬專案
externalIdstring選用外部識別碼
status"ENABLED" | "DISABLED"流程是否啟用
operationStatusstring目前操作狀態
versionFlowVersion啟用中的版本物件

FlowVersion

FieldType說明
idstring唯一版本 ID
createdstringISO 8601 建立時間戳
updatedstringISO 8601 更新時間戳
flowIdstring此版本所屬的流程
displayNamestring人類可讀的流程名稱
triggerobject觸發器配置
stepsobject?選用步驟配置
validboolean?版本是否有效

FlowRun

FieldType說明
idstring唯一執行 ID
createdstringISO 8601 建立時間戳
updatedstringISO 8601 更新時間戳
projectIdstring專案 ID
flowIdstring已執行的流程
flowVersionIdstring執行的特定版本
status"RUNNING" | "SUCCEEDED" | "FAILED" | "TIMEOUT" | "PAUSED" | "STOPPED"執行結果
environment"PRODUCTION" | "TESTING"執行環境
startTimestring?執行開始時間
finishTimestring?執行結束時間
failParentOnFailureboolean失敗是否傳播至父流程
tagsstring[]?附加到此執行的標籤

AppConnection

FieldType說明
idstring唯一連線 ID
createdstringISO 8601 建立時間戳
updatedstringISO 8601 更新時間戳
externalIdstring外部識別碼
displayNamestring人類可讀名稱
pieceNamestring此連線所屬的 piece(整合)
projectIdstring專案 ID
type"SECRET_TEXT" | "OAUTH2" | "CLOUD_OAUTH2" | "PLATFORM_OAUTH2" | "BASIC_AUTH" | "CUSTOM_AUTH"連線驗證類型

McpServer

FieldType說明
idstring唯一 MCP 伺服器 ID
createdstringISO 8601 建立時間戳
updatedstringISO 8601 更新時間戳
projectIdstring專案 ID
namestring?伺服器名稱

Methods

Flows

MethodTypeScriptPython說明
List flowslistFlowslist_flows分頁的流程列表
Get flowgetFlowget_flow依 ID 取得單一流程
Create flowcreateFlowcreate_flow建立新流程
Delete flowdeleteFlowdelete_flow刪除流程
Apply flow operationapplyFlowOperationapply_flow_operation對流程套用操作(例如發布、啟用)
Trigger flowtriggerFlowtrigger_flow非同步觸發流程
Trigger flow synctriggerFlowSynctrigger_flow_sync觸發流程並等待結果

Flow Runs

MethodTypeScriptPython說明
List runslistRunslist_runs列出執行歷史
Get rungetRunget_run依 ID 取得單一執行

Folders

MethodTypeScriptPython說明
List folderslistFolderslist_folders列出流程資料夾
Get foldergetFolderget_folder依 ID 取得資料夾
Create foldercreateFoldercreate_folder建立資料夾
Update folderupdateFolderupdate_folder重新命名資料夾
Delete folderdeleteFolderdelete_folder刪除資料夾

App Connections

MethodTypeScriptPython說明
List connectionslistConnectionslist_connections列出應用程式連線
Get connectiongetConnectionget_connection依 ID 取得連線
Upsert connectionupsertConnectionupsert_connection建立或更新連線
Delete connectiondeleteConnectiondelete_connection移除連線

MCP Servers

MethodTypeScriptPython說明
List MCP serverslistMcpServerslist_mcp_servers列出 MCP 伺服器
Get MCP servergetMcpServerget_mcp_server依 ID 取得伺服器
Create MCP servercreateMcpServercreate_mcp_server註冊新的 MCP 伺服器
Delete MCP serverdeleteMcpServerdelete_mcp_server移除伺服器
Rotate tokenrotateMcpTokenrotate_mcp_token輪換伺服器的驗證令牌

listFlows / list_flows

const page = await client.workflows.listFlows({
limit: 10,
status: "ENABLED",
folderId: "folder_id",
});
for (const flow of page.data) {
console.log(flow.id, flow.version?.displayName);
}

createFlow / create_flow

const flow = await client.workflows.createFlow({
displayName: "New Lead Notification",
projectId: "project_id",
});
console.log(flow.id);

triggerFlow / trigger_flow

使用選用承載非同步觸發流程。

await client.workflows.triggerFlow("flow_id", {
contact_id: "contact_123",
event: "lead_created",
});

listRuns / list_runs

const page = await client.workflows.listRuns({
flowId: "flow_id",
status: "FAILED",
limit: 20,
});

upsertConnection / upsert_connection

建立或更新應用程式連線(例如第三方服務的 API 金鑰)。

const conn = await client.workflows.upsertConnection({
displayName: "Slack Workspace",
pieceName: "slack",
projectId: "project_id",
type: "SECRET_TEXT",
value: { api_key: "xoxb-..." },
});

createMcpServer / create_mcp_server

const server = await client.workflows.createMcpServer({
name: "My MCP Server",
projectId: "project_id",
});