Skip to content

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 Python expressions server-side using GraalJS. 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.

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.
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 & LLM tasks

Conductor is the only open-source workflow engine with native AI system tasks. These tasks require the ai module to be enabled and provide direct integration with 14+ LLM providers, 3 vector databases, and MCP servers — no external frameworks or custom workers needed.

LLM

Task Type Description
Chat Completion LLM_CHAT_COMPLETE Multi-turn conversational AI with optional tool calling. Supports all major LLM providers.
Text Completion LLM_TEXT_COMPLETE Single prompt completion.

Supported providers: Anthropic (Claude), OpenAI (GPT), Azure OpenAI, Google Gemini, AWS Bedrock, Mistral, Cohere, HuggingFace, Ollama, Perplexity, Grok (xAI), StabilityAI, and more. Switch providers by changing a configuration parameter — no code changes required.

Task Type Description
Generate Embeddings LLM_GENERATE_EMBEDDINGS Convert text to vector embeddings.
Store Embeddings LLM_STORE_EMBEDDINGS Store pre-computed embeddings in a vector database.
Index Text LLM_INDEX_TEXT Store text with auto-generated embeddings in a vector database.
Search Index LLM_SEARCH_INDEX Semantic search using a text query.
Search Embeddings LLM_SEARCH_EMBEDDINGS Search using embedding vectors directly.

Supported vector databases: Pinecone, pgvector (PostgreSQL), and MongoDB Atlas Vector Search. These enable RAG (retrieval-augmented generation) pipelines as standard Conductor workflows.

Content Generation

Task Type Description
Generate Image GENERATE_IMAGE Generate images from text prompts.
Generate Audio GENERATE_AUDIO Text-to-speech synthesis.
Generate Video GENERATE_VIDEO Generate videos from text or image prompts (async).
Generate PDF GENERATE_PDF Convert markdown to PDF documents.

MCP (Model Context Protocol)

Task Type Description
List MCP Tools LIST_MCP_TOOLS List available tools from an MCP server.
Call MCP Tool CALL_MCP_TOOL Execute a tool on an MCP server.

MCP integration enables Conductor workflows to discover and use tools from any MCP-compatible server, and to expose Conductor workflows as MCP tools for use by LLMs and AI agents.

Deprecated

Task Replacement
Lambda Use Inline instead.
Decision Use Switch instead.