Sub-Tasks Control
The Sub-Tasks control displays a list of sub-tasks, each with its own check box, inside a single parent task.
Use it where a task is really a short sequence of smaller steps that do not each warrant their own task — the items on a pre-flight check, the documents to collect, the rooms to inspect. The parent task stays as one line in the checklist, while the detail lives inside it.
Add to the Template
The Sub-Tasks control can be added from the controls toolbar in the Template.
Once you have added the control you must set the label text that will be displayed above the list. The label is required — it is also the name used to identify the control elsewhere in CheckFlow, such as in reports and dynamic values.
Building the Sub-Task List
When the Sub-Tasks control is first added it has no sub-tasks, and a blank text box is shown. Enter the text for your first sub-task in this box.
- To add a sub-task, press
Enterwhile an existing sub-task is selected. The new sub-task is created below the current one. - To delete a sub-task, clear all the text in its box and then press
BackspaceorDelete.
You can create an unlimited number of sub-tasks.
Required
Tick the Required checkbox to require that every sub-task in the list is checked before the parent task can be completed.
Populating from a Data Set
Instead of typing the sub-tasks yourself, you can link the Sub-Tasks control to a Data Set so that one sub-task is created per record — one per site to inspect, one per document to collect.
Click Link to Data Set beneath the item list (or choose it from the control's settings cog) and pick a Data Set, a View and the field to use as the sub-task text.
Unlike a linked Dropdown, the list is captured when each checklist is created. Later changes to the Data Set do not alter checklists that are already running, so the record of what was checked stays intact.
See Linking a Data Set to a Control for the full walkthrough.
Use in the Checklist
The user sees the label with the list of sub-tasks beneath it, each with a check box. Checking and unchecking is saved automatically, and the control records who last changed it and when.
Sub-tasks are a checklist within a task — checking them does not complete the parent task. The user still completes the parent task in the usual way once the sub-tasks are done.
Validation
When a Sub-Tasks control is marked as required, validation is performed when the user completes the task. The task cannot be completed until all the sub-task check boxes have been checked.
Validation error messages are shown below the sub-task list.
If you try to complete a task outside of the checklist (e.g. from the Dashboard) and it fails validation we will notify you of the validation failure via a pop-up message.
Conditional Logic
A Sub-Tasks control cannot be used as the source of a Conditional Logic rule — you cannot show or hide something based on which sub-tasks are ticked.
The control can, however, be the target of a rule: a Sub-Tasks control can itself be shown or hidden by a condition driven by another control.
If you need to branch on the outcome of a checklist-within-a-task, use a Dropdown or Multi-Choice control instead.
Dynamic Values and Parameters
The state of a Sub-Tasks control can be reused elsewhere in the checklist as a Dynamic Value.
The control cannot receive a dynamic value — it does not support Dynamic Value Bindings.
Template Parameters
The control can also be bound to a Template Parameter of type String, which can create the sub-tasks, tick them, or do both at once. Square brackets are what tells the two apart.
| To do this | Give the parameter a value like | Result |
|---|---|---|
| Create sub-tasks | [Hard Drive, GPU, CPU, Motherboard] | Four sub-tasks, none ticked |
| Complete sub-tasks | GPU, Motherboard | Ticks the sub-tasks already on the control with those names |
| Both | [Hard Drive, GPU, CPU, Motherboard] GPU, Motherboard | Creates all four, then ticks GPU and Motherboard |
A comma-delimited list inside brackets creates the list; a bare comma-delimited list completes items already there.
The value is supplied when the checklist is created, so one template can produce checklists with different sub-task lists — a build sheet whose components vary per order, with anything already fitted ticked off in advance.
Linked Checklists
A Sub-Tasks control can be either side of a Linked Checklist control mapping, so the state captured in a parent checklist can be carried into the child checklist it creates.
Reporting
Sub-Tasks answers are available in Reports and can be added as a column, shown as a status summary of the sub-task list.
Control columns are only available in a report when a single template is selected. Add the column from the Columns dropdown, under Tasks & Fields. See Report Columns.
Limits
| Limit | Value |
|---|---|
| Number of sub-tasks | Unlimited |
| Records from a linked Data Set View | No cap on the View itself. Bounded by the 10,000 record limit per Data Set. |
| Maximum sub-task length | 2,000 characters |
This is a storage limit rather than a validation rule. Nothing in the interface stops you entering more, and no warning is shown as you type — a longer value fails when it is saved.
Related Pages
- Multi-Choice — the closest alternative, and it reads its Data Set live rather than at creation.
- Using Data Sets in Checklists — why a linked Sub-Tasks list does not change once a checklist exists.
- Create, Edit and Delete Tasks — when the steps deserve to be tasks in their own right, with assignees and due dates.
- Control Types — the capability matrix for every control.