System Tasks
System tasks are built-in tasks that run on the Conductor server. They execute without external workers, allowing you to build workflows using common operations out of the box.
Available system tasks
System Task
Type
Description
HTTP
HTTP
Call any HTTP/REST endpoint. Supports GET, POST, PUT, DELETE with headers, body, and connection/read timeouts.
Inline
INLINE
Execute lightweight JavaScript or GraalVM Python expressions server-side. Useful for data transformation, validation, and simple logic.
Event
EVENT
Publish events to external systems — Kafka, NATS, NATS Streaming, AMQP (RabbitMQ), SQS, or Conductor's internal queue.
Wait
WAIT
Pause workflow execution until a specified time, duration, or external signal.
Human
HUMAN
Wait for an external signal, typically a human approval or manual action. The task stays IN_PROGRESS until completed via API.
Kafka Publish
KAFKA_PUBLISH
Publish messages directly to a Kafka topic with configurable serializers and headers.
JSON JQ Transform
JSON_JQ_TRANSFORM
Transform JSON data using jq expressions. Powerful for reshaping, filtering, and aggregating data.
No Op
NOOP
Do nothing. Useful as a placeholder or to merge branches in fork/join patterns.
JDBC
JDBC
Execute SQL queries and updates against relational databases (MySQL, PostgreSQL, Oracle, etc.) with connection pooling and transaction management.
Pull Workflow Messages
PULL_WORKFLOW_MESSAGES
Pull a batch from workflow-message queues; requires conductor.workflow-message-queue.enabled=true.
Operators (flow control)
These are also system tasks but control workflow execution flow rather than performing work:
Operator
Type
Description
Fork/Join
FORK_JOIN
Execute tasks in parallel branches, then join.
Dynamic Fork
FORK_JOIN_DYNAMIC
Dynamically create parallel branches at runtime.
Join
JOIN
Wait for parallel branches to complete.
Exclusive Join
EXCLUSIVE_JOIN
Continue when the first selected branch completes.
Switch
SWITCH
Conditional branching based on expressions or values.
Do While
DO_WHILE
Loop over tasks until a condition is met.
Sub Workflow
SUB_WORKFLOW
Execute another workflow as a task.
Start Workflow
START_WORKFLOW
Start another workflow asynchronously (fire-and-forget).
Set Variable
SET_VARIABLE
Set or update workflow-level variables.
Terminate
TERMINATE
Terminate the workflow with a specified status.
Dynamic
DYNAMIC
Determine the task type to execute at runtime.
AI tasks
AI Tasks is the complete catalog for LLM, vector/embedding, media/PDF, MCP, and A2A task families. They require conductor.integrations.ai.enabled=true and any provider-specific setup.
Deprecated
Task
Replacement
Lambda
Use Inline instead.
Decision
Use Switch instead.