Skip to content

System Tasks

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.