关于 workflow
workflow 是面向 Domo App Platform 开发者的工作流集成指南,介绍如何用 WorkflowClient 启动流程、查询状态,并按 manifest.json 中的别名调用。
主要功能
- 01通过别名启动工作流
- 02查询实例状态和模型详情
- 03在 manifest.json 配置工作流映射
- 04核对输入变量名称与类型
适用场景
- 01从 Domo 应用触发工作流
- 02查看长时间运行流程的状态
- 03将应用载荷匹配到流程输入参数
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ stahura/ domo-ai-vibe-rules --skill workflow安装后在 Claude Code 中输入/workflow确认已加载。
详细介绍
规则:Domo 应用平台工作流(工具包优先)
本规则工具包优先。在应用中使用 WorkflowClient 执行工作流操作。
规范客户端
yarn add @domoinc/toolkit
import { WorkflowClient } from '@domoinc/toolkit';
const startResponse = await WorkflowClient.startModel('myWorkflow', {
inputVar: 'value',
anotherVar: 123
});
const instance = startResponse.body;
检查状态:
const statusResponse = await WorkflowClient.getInstance('myWorkflow', instance.id);
const status = statusResponse.body.status;
正确的方法用法(别名,而非 UUID)
WorkflowClient 的工作流方法使用 manifest.json 中 workflowMapping 的工作流别名,而非 UUID。
await WorkflowClient.startModel('myWorkflow', { inputVar: 'value' });
await WorkflowClient.getAllModels(); // or getAllModels(true)
await WorkflowClient.getModelDetails('myWorkflow');
await WorkflowClient.getInstance('myWorkflow', 'instance-id');
Manifest 要求
工作流仍然需要在 manifest.json 中配置 workflowMapping 条目。
{
"workflowMapping": [
{
"alias": "sendReport",
"modelId": "d1373fa7-9df8-45d3-80ba-f931dda169b4",
"parameters": [
{ "aliasedName": "reportType", "type": "string", "list": false, "children": null },
{ "aliasedName": "recipients", "type": "string", "list": true, "children": null }
]
}
]
}
卡片映射与输入契约提醒
- 在 Domo 中,通过卡片/应用配置界面将应用卡片映射到预期的工作流模型(而不仅仅是在源文件中)。
- 确认工作流的起始节点输入参数已在工作流中配置,且与应用在
WorkflowClient.startModel(workflowAlias, variables)中发送的载荷键一致。 - 如果参数名称/类型/列表设置不匹配,工作流启动可能会失败或静默错误处理输入。
- 在推荐或生成
WorkflowClient.startModel(...)调用时,Agent 必须明确告知用户所传递的确切输入变量名称和类型。
错误处理模式
async function runWorkflow(workflowAlias: string, payload: Record<string, unknown>) {
try {
const response = await WorkflowClient.startModel(workflowAlias, payload);
return response.body;
} catch (error) {
console.error(`WorkflowClient.startModel failed for ${workflowAlias}`, error);
throw error;
}
}
检查清单
- 已配置
workflowMapping - 应用卡片已在 Domo UI 中映射到正确的工作流
- 工作流起始节点输入参数与应用载荷键/类型匹配
- 调用使用
WorkflowClient基于别名的方法(startModel、getModelDetails、getInstance) - Agent 在指导中说明确切的
startModel输入变量名称/类型 - 代码传递工作流别名(来自
workflowMapping.alias)而非工作流 UUID - 响应解析使用
response.body - 长时间运行的工作流用户体验包含状态检查或异步用户反馈
评论
支持 Markdown