Task templates & runs
Multi-step automated jobs on tickets — task templates, runs, conditions, and control flow.
Task templates & runs
Task templates are multi-step automation recipes defined in the workflow editor. When a template runs, ArxDeck creates an automated job (a task run) that executes each step in order. You see active and recent jobs on ticket detail under Active automated jobs.
Task templates power:
- Run task workflow automations
- Nested Run task steps inside other templates
- Scheduled tasks and inbound webhook tasks (same step model, different hosts)
ArxDeck Helper can propose task templates and workflow automations through project chat. Describe the pipeline you want and approve proposals in the Proposals inbox. See ArxDeck Helper.
Task templates
Project admins define templates at Settings → Workflows → [workflow] → Task templates.
Each template is a tree of steps. Leaf steps include:
| Step | Purpose |
|---|---|
| Acquire project queue | Wait for a slot in a workflow queue group |
| Run agent | Launch a configured agent on the ticket |
| Release project queue | Free the queue slot when work finishes |
| Change status | Move the ticket to another workflow status |
| Merge pull request | Merge a linked PR (optional CI gate when GitHub is configured) |
| Run task | Start a nested template as a child automated job |
| Emit signal | Send a named signal other runs can wait for |
| Await signal | Pause until a matching signal arrives (workflow templates only) |
Optional stage labels on steps appear in the Active automated jobs panel so you can see where a run is in the pipeline.
Run agent result fields
On workflow templates, scheduled tasks, and ticket-scoped webhook nested actions, each Run agent step can declare optional result fields so the agent returns structured JSON with its final outcome:
- Field types: text, number, boolean, and enum (with configured choices)
- Each field can be marked required or optional
- At launch, the contract is frozen for that run — later task-definition edits do not affect active runs
- Agents submit values through
report_agent_outcomewith adataobject matching the contract - Invalid or incomplete reports are declined; the run stays active until a valid report
- Later Condition and Switch steps can branch on the declared fields
Direct single-step Run agent automations that do not create a task run do not support result fields.
Insert reference picker
Step configuration fields support # entity references (tickets, docs, knowledge) via the same insert-reference picker used in chat and ticket composers.
How runs start
Common entry points:
- Workflow automation — add a Run task action with a
taskTemplateId. When the trigger fires, ArxDeck spawns a task run from that template. - Nested Run task — a parent template's Run task step starts a child run. The parent step stays active until the child completes.
- Scheduled tasks and webhook tasks — use the same step editor with host-specific palettes (see those docs).
Single-step Run agent automations (without a template) do not create task runs — they launch agents directly on the ticket.
Monitoring and cancelling runs
On ticket detail:
- Active automated jobs lists running templates with stage, queue wait, and linked agent runs
- A state popover on each active job shows step progress and stage labels
- Cancel run stops linked agent runs and releases queue leases (users with ticket edit access)
Human ticket edits are never blocked by active automated jobs — you can always comment and change status while agents or pipelines run.
Changing a ticket's workflow is blocked while automated jobs or executing agent runs are active. Cancel runs first, then change workflow.
Conditions & control flow
Beyond leaf steps, templates support Condition, Switch, and Loop blocks for branching and iteration. These are part of the task template system — not only automation rule filters.
Condition
Evaluates predicate groups (AND/OR, with optional nested subgroups) and runs either a then or else branch.
Switch
Matches a field value against cases (first match wins) with an optional default branch.
Loop
Repeats a body in Conditional mode (continue-while predicate + optional Run at least once) or For N times mode. Loops require a max attempts limit and an on exceed policy (fail_run or continue_after_loop).
Inside a loop body, predicates can reference enclosing loop actions by id for live iteration (1-based; first iteration is 1) and maxAttempts values that update each iteration. Nested loops are addressable by loop action id.
Predicates
Predicates can reference:
| Source | Examples |
|---|---|
| Ticket fields | Status, enabled custom fields |
| Prior step outputs | Any completed leaf step's typed output fields |
| Last step output | The most recent completed leaf |
| Webhook fields | Extracted payload fields (webhook tasks only; ticket fields unavailable until resolve_ticket) |
Leaf predicates support positive operators (equals, contains, exists) with an optional Invert toggle. Groups support Invert group to negate the combined result.
Per-branch on failure policies control whether a failed step fails the whole run, skips remaining steps in the branch, or continues.
When a loop's on exceed policy is fail_run, exceeding max attempts fails the entire automated job.
Failed run notifications
Task template runs can notify assignees or configured recipients on failure according to workflow and template settings. Check automation and template configuration for notification hooks.
Signals (brief)
Emit signal and Await signal coordinate runs on the same ticket by name (optional correlation key). Webhook tasks can emit signals after ticket resolution but cannot await them. Workflow templates can both emit and await.
Setup & configuration
- Open Settings → Workflows → [workflow] → Task templates.
- Create a template with the steps your pipeline needs.
- Add queue acquire/release steps when serializing work (see Queues).
- Wire a Run task automation or nest templates as needed.
- Test on a non-production ticket before enabling on high-volume workflows.
