Back to Conductor

System Tasks

docs/documentation/configuration/workflowdef/systemtasks/index.md

2019-04-12-13005.4 KB
Original Source

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 TaskTypeDescription
HTTPHTTPCall any HTTP/REST endpoint. Supports GET, POST, PUT, DELETE with headers, body, and connection/read timeouts.
InlineINLINEExecute lightweight JavaScript or Python expressions server-side using GraalJS. Useful for data transformation, validation, and simple logic.
EventEVENTPublish events to external systems — Kafka, NATS, NATS Streaming, AMQP (RabbitMQ), SQS, or Conductor's internal queue.
WaitWAITPause workflow execution until a specified time, duration, or external signal.
HumanHUMANWait for an external signal, typically a human approval or manual action. The task stays IN_PROGRESS until completed via API.
Kafka PublishKAFKA_PUBLISHPublish messages directly to a Kafka topic with configurable serializers and headers.
JSON JQ TransformJSON_JQ_TRANSFORMTransform JSON data using jq expressions. Powerful for reshaping, filtering, and aggregating data.
No OpNOOPDo nothing. Useful as a placeholder or to merge branches in fork/join patterns.
JDBCJDBCExecute SQL queries and updates against relational databases (MySQL, PostgreSQL, Oracle, etc.) with connection pooling and transaction management.

Operators (flow control)

These are also system tasks but control workflow execution flow rather than performing work:

OperatorTypeDescription
Fork/JoinFORK_JOINExecute tasks in parallel branches, then join.
Dynamic ForkFORK_JOIN_DYNAMICDynamically create parallel branches at runtime.
JoinJOINWait for parallel branches to complete.
SwitchSWITCHConditional branching based on expressions or values.
Do WhileDO_WHILELoop over tasks until a condition is met.
Sub WorkflowSUB_WORKFLOWExecute another workflow as a task.
Start WorkflowSTART_WORKFLOWStart another workflow asynchronously (fire-and-forget).
Set VariableSET_VARIABLESet or update workflow-level variables.
TerminateTERMINATETerminate the workflow with a specified status.
DynamicDYNAMICDetermine 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

TaskTypeDescription
Chat CompletionLLM_CHAT_COMPLETEMulti-turn conversational AI with optional tool calling. Supports all major LLM providers.
Text CompletionLLM_TEXT_COMPLETESingle 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.

TaskTypeDescription
Generate EmbeddingsLLM_GENERATE_EMBEDDINGSConvert text to vector embeddings.
Store EmbeddingsLLM_STORE_EMBEDDINGSStore pre-computed embeddings in a vector database.
Index TextLLM_INDEX_TEXTStore text with auto-generated embeddings in a vector database.
Search IndexLLM_SEARCH_INDEXSemantic search using a text query.
Search EmbeddingsLLM_SEARCH_EMBEDDINGSSearch 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

TaskTypeDescription
Generate ImageGENERATE_IMAGEGenerate images from text prompts.
Generate AudioGENERATE_AUDIOText-to-speech synthesis.
Generate VideoGENERATE_VIDEOGenerate videos from text or image prompts (async).
Generate PDFGENERATE_PDFConvert markdown to PDF documents.

MCP (Model Context Protocol)

TaskTypeDescription
List MCP ToolsLIST_MCP_TOOLSList available tools from an MCP server.
Call MCP ToolCALL_MCP_TOOLExecute 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

TaskReplacement
LambdaUse Inline instead.
DecisionUse Switch instead.