Workflow tasks and links
Build a valid Dova 22.0.5 Workflow with task types, conditions, decisions, timers and dependencies.
On this page
What the graph represents
A Workflow controls execution order. A Mapping transforms records, while a Session supplies its execution context. Box positions make the canvas readable; links and their conditions establish the actual dependencies. Prepare a published Session and an eligible worker first. Creating and publishing also require the appropriate permissions in your tenant and Repository location.
Dova 22.0.5 requires exactly one Start and at least one End. The graph must be acyclic: no route can return to an earlier task. Every node must be reachable from Start and lead to an End. Adding an unconnected box leaves an incomplete design.
Choose the appropriate task
| Task | Purpose and configuration |
|---|---|
| Start | The single entry point; it cannot have incoming links. |
Session | Runs a published Session. Select the definition under Reusable session and inspect its version. |
| Decision | Evaluates a structured expression and has complementary True and False branches. |
| Timer | Adds a delay. Delay (seconds) accepts an integer from 1 to 604800; its initial value is 60. |
| End | Finishes a route; it cannot have outgoing links. |
A five-second Timer delays that route. It does not create a recurring schedule or guarantee an exact starting time for the following work.
Connect and validate
- Open
Workflowsand create a laboratory design in an authorized location. - Add a
Sessiontask between Start and End. Choose the publishedSessionin its inspector. - Drag from an output port to the next task’s input port. The ordinary link is Success. Adding a task does not connect it automatically.
- If a decision is needed, add Decision and set
True branch expression (JSON). Connect both branches to valid destinations. - Use
Validateand resolve the issues beforeSave draftandPublish. Validation accepts 2–100 nodes and 1–300 links.
A testable decision example
Declare a Workflow variable named runMode, with type string, default value full and allowed values full and sample. This is its configuration fragment, not a complete import document:
{"name":"runMode","type":"string","default":"full","enum":["full","sample"]}Enter the following condition in True branch expression (JSON):
{"ref":"variables.runMode","op":"eq","value":"full"}With full, the condition selects True; with sample, it selects False. The editor constructs the negation for False. Do not supply JavaScript, SQL or a different condition that could activate both branches. This expression reads execution context; it does not count CSV records automatically.
Link conditions and convergence
The definition supports success, failure, always and expression links. Each condition uses the source task’s state or context. A Workflow link is not a column-to-column data connection. The editor displays True/False for decisions and Success for an ordinary connection.
For a task with several parents, joinPolicy distinguishes any from all; the default is any. Decide which links must be satisfied before choosing the policy. Do not require both mutually exclusive branches of a decision as if both would run.
Check the run and diagnose issues
Run a minimal route first and find its attempt in Monitor. Check executed tasks, skipped branches and the Session version. A task skipped because of a condition is different from a failed task. If progress stops, inspect parents, conditions, published dependencies and worker capacity. A cycle, duplicate link or missing endpoint is a design problem; moving boxes does not fix it.
Continue with publication and dependencies or the complete CSV laboratory.