Loading...
Loading...
Start and monitor workflows via WorkflowClient with strict input variable matching.
npx skill4agent add stahura/domo-ai-vibe-rules cap-apps-workflowWorkflowClientLegacy endpoint-first guidance has been archived to.archive/legacy-rules/domo-workflow.md
yarn add @domoinc/toolkitimport { 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;WorkflowClientmanifest.jsonworkflowMappingawait WorkflowClient.startModel('myWorkflow', { inputVar: 'value' });
await WorkflowClient.getAllModels(); // or getAllModels(true)
await WorkflowClient.getModelDetails('myWorkflow');
await WorkflowClient.getInstance('myWorkflow', 'instance-id');workflowMappingmanifest.json{
"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 }
]
}
]
}WorkflowClient.startModel(workflowAlias, variables)WorkflowClient.startModel(...)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;
}
}.cursor/rules/04-toolkit.mdc.cursor/rules/06-manifest.mdc.cursor/rules/09-gotchas.mdcworkflowMappingWorkflowClientstartModelgetModelDetailsgetInstancestartModelworkflowMapping.aliasresponse.body