Tasks in Workflows
When building workflows, you can use the built-in system tasks and operators provided by Conductor and additionally write your own custom worker tasks to implement custom logic.
Built-in tasks
Here is an introduction of the built-in tasks available in Conductor. These system tasks and operators enable you to quickly build workflows without needing to code.
- System tasks are managed by Conductor and run within its JVM (Java Virtual Machine), allowing you to get started quickly without needing custom workers. System tasks include AI tasks that can be used to build AI-powered and agentic applications.
- Operators are also managed by Conductor and run within its JVM (Java Virtual Machine). They enable you to declaratively design the workflow control flow and logic with minimal code required.
For control flow
The control structures and operations in your Conductor workflow are implemented as tasks. Here are the tasks available for managing the flow of execution:
-
Conditional flow
- Switch—Execute tasks conditionally, like an if…else… statement.
-
Looping flow
- Do While—Execute tasks repeatedly, like a do…while… statement.
-
Parallel flows
- Fork—Execute a static number of tasks in parallel.
- Dynamic Fork—Execute a dynamic number of tasks in parallel.
- Join—Join the forks after a Fork or Dynamic Fork before proceeding to the next task.
- Start Workflow—Asynchronously start another workflow.
-
Jumps or state changes in flow
- Terminate—Terminate the current workflow, like a return statement.
- Sub Workflow—Synchronously start another workflow, like a subroutine.
- Terminate Workflow—Terminate another ongoing workflow.
- Update Task—Update the status of another ongoing task.
-
State querying
- Get Workflow—Get the execution details of another ongoing workflow.
-
Waits in flow
- Wait—Pause the current workflow until a set time, duration, or signal is received.
- Wait for Webhook—Pause the current workflow for an incoming webhook signal.
- Human