跳到內容

工作流程

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

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


結構定義

Flow

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

FlowVersion

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

FlowRun

欄位類型說明
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

欄位類型說明
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

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

方法

流程

方法TypeScriptPython說明
列出流程listFlowslist_flows分頁的流程列表
取得流程getFlowget_flow依 ID 取得單一流程
建立流程createFlowcreate_flow建立新流程
刪除流程deleteFlowdelete_flow刪除流程
套用流程操作applyFlowOperationapply_flow_operation對流程套用操作(例如發佈、啟用)
觸發流程triggerFlowtrigger_flow非同步觸發流程
同步觸發流程triggerFlowSynctrigger_flow_sync觸發流程並等待結果

流程執行紀錄

方法TypeScriptPython說明
列出執行紀錄listRunslist_runs列出執行歷史
取得執行紀錄getRunget_run依 ID 取得單一執行

資料夾

方法TypeScriptPython說明
列出資料夾listFolderslist_folders列出流程資料夾
取得資料夾getFolderget_folder依 ID 取得資料夾
建立資料夾createFoldercreate_folder建立資料夾
更新資料夾updateFolderupdate_folder重新命名資料夾
刪除資料夾deleteFolderdelete_folder刪除資料夾

應用程式連線

方法TypeScriptPython說明
列出連線listConnectionslist_connections列出應用程式連線
取得連線getConnectionget_connection依 ID 取得連線
新增或更新連線upsertConnectionupsert_connection建立或更新連線
刪除連線deleteConnectiondelete_connection移除連線

MCP 伺服器

方法TypeScriptPython說明
列出 MCP 伺服器listMcpServerslist_mcp_servers列出 MCP 伺服器
取得 MCP 伺服器getMcpServerget_mcp_server依 ID 取得伺服器
建立 MCP 伺服器createMcpServercreate_mcp_server註冊新的 MCP 伺服器
刪除 MCP 伺服器deleteMcpServerdelete_mcp_server移除伺服器
輪替權杖rotateMcpTokenrotate_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",
});