WorkflowBuilder
VoltAgent Service / workflows/WorkflowBuilder
workflows/WorkflowBuilder
Classes
WorkflowBuilder
Defined in: workflows/WorkflowBuilder.ts:92
Workflow Builder
Converts declarative_v1 workflows to VoltAgent format:
- Parses workflow steps
- Resolves step dependencies
- Generates execution plan
- Supports checkpointing for suspend/resume
Constructors
Constructor
new WorkflowBuilder(
workflow,policy,stepPrompts):WorkflowBuilder
Defined in: workflows/WorkflowBuilder.ts:97
Parameters
workflow
policy
stepPrompts
Record<string, string> = {}
Returns
Methods
build()
build():
BuiltWorkflow
Defined in: workflows/WorkflowBuilder.ts:110
Build the workflow for VoltAgent execution
Returns
generatePlanEvent()
generatePlanEvent():
SkillSSEEvent
Defined in: workflows/WorkflowBuilder.ts:184
Generate plan event for SSE streaming
Returns
generateStepEvent()
generateStepEvent(
stepIndex,status,output?):SkillSSEEvent
Defined in: workflows/WorkflowBuilder.ts:200
Generate step event for SSE streaming
Parameters
stepIndex
number
status
"pending" | "running" | "succeeded" | "failed" | "skipped"
output?
Record<string, unknown>
Returns
CheckpointManager
Defined in: workflows/WorkflowBuilder.ts:230
Checkpoint Manager
Handles suspend/resume functionality for workflows. Uses workflow_run_id (UUID) as the primary identifier for API consistency. Internally tracks voltagent_run_id for VoltAgent table references.
Constructors
Constructor
new CheckpointManager():
CheckpointManager
Returns
Methods
createCheckpoint()
createCheckpoint(
workflowRunId,voltAgentRunId,stepIndex,stepOutputs,variables):Promise<CheckpointState>
Defined in: workflows/WorkflowBuilder.ts:240
Create a checkpoint for suspend
Parameters
workflowRunId
string
Workflow run ID (UUID) - canonical identifier
voltAgentRunId
string
VoltAgent run ID (UUID) - internal identifier
stepIndex
number
Current step index
stepOutputs
Record<string, unknown>[]
Outputs from completed steps
variables
Record<string, unknown> = {}
Workflow variables
Returns
Promise<CheckpointState>
loadCheckpoint()
loadCheckpoint(
resumeToken):Promise<CheckpointState>
Defined in: workflows/WorkflowBuilder.ts:297
Load a checkpoint by resume token Returns both workflowRunId and voltAgentRunId for proper routing
Parameters
resumeToken
string
Returns
Promise<CheckpointState>
approveCheckpoint()
approveCheckpoint(
resumeToken):Promise<boolean>
Defined in: workflows/WorkflowBuilder.ts:335
Mark checkpoint as approved (for human review workflows)
Parameters
resumeToken
string
Returns
Promise<boolean>
rejectCheckpoint()
rejectCheckpoint(
resumeToken):Promise<boolean>
Defined in: workflows/WorkflowBuilder.ts:355
Mark checkpoint as rejected
Parameters
resumeToken
string
Returns
Promise<boolean>
cleanupExpired()
cleanupExpired():
Promise<number>
Defined in: workflows/WorkflowBuilder.ts:375
Clean up expired checkpoints
Returns
Promise<number>
Interfaces
VoltAgentStep
Defined in: workflows/WorkflowBuilder.ts:23
VoltAgent workflow step representation
Properties
id
id:
string
Defined in: workflows/WorkflowBuilder.ts:24
index
index:
number
Defined in: workflows/WorkflowBuilder.ts:25
name
name:
string
Defined in: workflows/WorkflowBuilder.ts:26
type
type:
"llm"|"tool"
Defined in: workflows/WorkflowBuilder.ts:27
config
config:
StepConfig
Defined in: workflows/WorkflowBuilder.ts:28
dependencies
dependencies:
number[]
Defined in: workflows/WorkflowBuilder.ts:29
StepConfig
Defined in: workflows/WorkflowBuilder.ts:35
Step configuration
Properties
promptTemplate?
optionalpromptTemplate:string
Defined in: workflows/WorkflowBuilder.ts:37
outputSchema?
optionaloutputSchema:Record<string,unknown>
Defined in: workflows/WorkflowBuilder.ts:38
temperature?
optionaltemperature:number
Defined in: workflows/WorkflowBuilder.ts:39
maxTokens?
optionalmaxTokens:number
Defined in: workflows/WorkflowBuilder.ts:40
toolName?
optionaltoolName:string
Defined in: workflows/WorkflowBuilder.ts:43
toolArgs?
optionaltoolArgs:Record<string,unknown>
Defined in: workflows/WorkflowBuilder.ts:44
allowedTools?
optionalallowedTools:string[]
Defined in: workflows/WorkflowBuilder.ts:45
timeoutMs?
optionaltimeoutMs:number
Defined in: workflows/WorkflowBuilder.ts:49
CheckpointState
Defined in: workflows/WorkflowBuilder.ts:55
Checkpoint state for suspend/resume
Properties
workflowRunId
workflowRunId:
string
Defined in: workflows/WorkflowBuilder.ts:57
Workflow run ID (UUID) - canonical identifier for API use
voltAgentRunId
voltAgentRunId:
string
Defined in: workflows/WorkflowBuilder.ts:59
VoltAgent run ID (UUID) - internal identifier for VoltAgent tables
stepIndex
stepIndex:
number
Defined in: workflows/WorkflowBuilder.ts:60
stepOutputs
stepOutputs:
Record<string,unknown>[]
Defined in: workflows/WorkflowBuilder.ts:61
variables
variables:
Record<string,unknown>
Defined in: workflows/WorkflowBuilder.ts:62
resumeToken
resumeToken:
string
Defined in: workflows/WorkflowBuilder.ts:63
createdAt
createdAt:
Date
Defined in: workflows/WorkflowBuilder.ts:64
expiresAt
expiresAt:
Date
Defined in: workflows/WorkflowBuilder.ts:65
BuiltWorkflow
Defined in: workflows/WorkflowBuilder.ts:71
Built workflow ready for execution
Properties
id
id:
string
Defined in: workflows/WorkflowBuilder.ts:72
steps
steps:
VoltAgentStep[]
Defined in: workflows/WorkflowBuilder.ts:73
policy
policy:
SkillPolicy
Defined in: workflows/WorkflowBuilder.ts:74
metadata
metadata:
object
Defined in: workflows/WorkflowBuilder.ts:75
originalType
originalType:
string
stepCount
stepCount:
number
hasToolCalls
hasToolCalls:
boolean
hasLLMCalls
hasLLMCalls:
boolean
Functions
getCheckpointManager()
getCheckpointManager():
CheckpointManager
Defined in: workflows/WorkflowBuilder.ts:402
Returns
buildWorkflow()
buildWorkflow(
workflow,policy,stepPrompts):BuiltWorkflow
Defined in: workflows/WorkflowBuilder.ts:412
Build a workflow from skill version data
Parameters
workflow
policy
stepPrompts
Record<string, string> = {}