start_workflow
Initiate workflow execution in Conductor by specifying workflow name, version, input parameters, and optional correlation ID for tracking.
Instructions
Start a new workflow execution. Returns the workflow execution ID of the newly started workflow.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| workflowName | Yes | Name of the workflow to start | |
| version | No | Version of the workflow (optional, defaults to latest) | |
| input | No | Input parameters for the workflow as a JSON object | |
| correlationId | No | Optional correlation ID for tracking | |
| priority | No | Workflow execution priority (0-99, default: 0) |
Implementation Reference
- src/index.ts:858-893 (handler)The handler function that implements the core logic for the 'start_workflow' tool. It destructures input arguments, validates the workflowName, prepares the request body, sends a POST request to the Conductor /workflow endpoint to start the workflow, and formats a success response with the new workflow ID.case "start_workflow": { const { workflowName, version, input = {}, correlationId, priority = 0 } = args as any; // Validate workflow name if (!workflowName || workflowName.trim() === "") { return { content: [ { type: "text", text: "β Validation Error: Workflow name is required", }, ], isError: true, }; } const requestBody: any = { name: workflowName, input, priority, }; if (version) requestBody.version = version; if (correlationId) requestBody.correlationId = correlationId; const response = await conductorClient.post("/workflow", requestBody); return { content: [ { type: "text", text: `β Workflow started successfully!\n\nπ Workflow ID: ${response.data}\nπ Workflow Name: ${workflowName}\n${version ? `π Version: ${version}\n` : ""}${correlationId ? `π Correlation ID: ${correlationId}\n` : ""}\nπ‘ Tip: Use get_workflow_status with this ID to monitor progress.`, }, ], }; }
- src/index.ts:246-276 (schema)The schema definition for the 'start_workflow' tool, including input schema with properties for workflowName (required), version, input, correlationId, and priority. This is part of the tools array returned by list_tools.{ name: "start_workflow", description: "Start a new workflow execution. Returns the workflow execution ID of the newly started workflow.", inputSchema: { type: "object", properties: { workflowName: { type: "string", description: "Name of the workflow to start", }, version: { type: "number", description: "Version of the workflow (optional, defaults to latest)", }, input: { type: "object", description: "Input parameters for the workflow as a JSON object", }, correlationId: { type: "string", description: "Optional correlation ID for tracking", }, priority: { type: "number", description: "Workflow execution priority (0-99, default: 0)", }, }, required: ["workflowName"], }, },
- src/index.ts:598-602 (registration)The request handler for ListToolsRequestSchema that returns the tools array containing the 'start_workflow' tool registration.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools, }; });