Control Types
Controls are the building blocks of a task. Every task in a template is made up of one or more controls, added from the controls toolbar in the template editor.
There are two types of control in CheckFlow. Content Controls display information to the user, and Input Controls capture information from them.
Content Controls
Content Controls are read-only in the checklist. You set them up once in the template and they are displayed, unchanged, in every checklist created from it. The user cannot alter them, they capture no answer, and they never prevent a task from being completed.
| Control | Purpose |
|---|---|
| Text | Formatted text, lists, tables, links and images — usually instructions |
| Image | A picture with an optional caption |
| Video | A playable video, uploaded or embedded from YouTube, Vimeo and others |
| File | A file for the user to download |
| Mail-To | A pre-written email that can be sent from the checklist |
| Embed | An external web page or application shown inside the task |
| Separator | A horizontal line to divide a long task into sections |
Input Controls
Input Controls capture input from the user while they run the checklist.
| Control | Captures |
|---|---|
| Short Text | A single line of text |
| Long Text | Multiple lines of text |
| An email address | |
| Website | A web address |
| File Upload | One or more uploaded files |
| Date & Time | A date, a time, or both |
| Drop-Down | One option from a list |
| Multi-Choice | One or more options from a list |
| Sub-Tasks | A checklist of items within the task |
| Members | Users and groups from your team |
| Table | A grid of values |
| Linked Checklist | Creates a child checklist (captures no answer of its own) |
Making a Control Required
Most input controls have a Required checkbox. When a control is marked as required, the parent task cannot be completed until a value has been entered.
Two controls express the same idea differently, and two do not support it at all:
| Control | How "required" works |
|---|---|
| Short Text, Long Text, E-Mail, Website, Date & Time, Drop-Down, Multi-Choice, Members | A Required checkbox on the control |
| Sub-Tasks | A Required checkbox — when set, every item in the list must be ticked |
| File Upload | A Minimum Files count rather than a checkbox. Set it to 1 or more to make an upload mandatory |
| Table | Set per cell, via Is Required? in the cell's dropdown, rather than for the whole control |
| Linked Checklist | Not supported. A task can be completed whether or not the child checklist has been created |
| Mail-To | No checkbox, but the Required – Manual Send send mode blocks completion until the email has been sent |
Validation runs when the user completes the task, and failing controls display an error message beneath them. If you complete a task from outside the checklist — from the Dashboard, for example — any validation failure is reported in a pop-up message instead.
What Else Controls Can Do
Beyond capturing an answer, controls take part in several template features. Which ones apply depends on the control:
- Conditional Logic — the answer given in one control can show or hide other controls and tasks. Short Text, Long Text, E-Mail, Website, Date & Time, Drop-Down, Multi-Choice and Members can drive a condition. Every control, content controls included, can be shown or hidden by one.
- Dynamic Values — an answer captured in one control can be reused elsewhere in the checklist. Short Text, Long Text, E-Mail, Website, Date & Time, Drop-Down, Multi-Choice, Sub-Tasks, Members and Table are the sources. There are two separate ways a control can receive one, and the DV target column marks which applies:
- Placeholders —
{{tokens}}typed into the content of a Text or Mail-To control, replaced with the live value. The Linked Checklist control's Default Checklist Name field takes them too. - Bindings — set from a control's own settings, pre-filling it from a global value or another control. Short Text, Long Text, E-Mail, Website, Date & Time and Drop-Down accept these, as do Video and Embed for their source URL.
- Placeholders —
- Template Parameters — a control can be pre-filled when the checklist is created, rather than by the user. Supported by Short Text, Long Text, E-Mail, Website, Date & Time, Drop-Down, Multi-Choice, Sub-Tasks and Members, and also by Video and Embed so their source URL can be set per checklist.
- Data Sets — Drop-Down, Multi-Choice, Sub-Tasks and Table can be populated from a Data Set, so their options or rows come from your own managed data rather than being typed into the template.
- Linked Checklists — values can be carried from a control in a parent checklist into a control in the child checklist it creates.
- Reports — answers from input controls can be added as report columns. Table and Linked Checklist are the exceptions.
- Tooltips — every control can be given a tooltip offering extra guidance on hover.
Each control's own page sets out exactly which of these it supports. The matrix below gives the whole picture in one place.
Capability Matrix
| Control | Required | Drives logic | Can be hidden | DV source | DV target | Parameter | Data Set | Reports | Linked ⇄ | API |
|---|---|---|---|---|---|---|---|---|---|---|
| Text | — | — | ✓ | — | ✓ 1 | — | — | — | Child | Read/Write |
| Image | — | — | ✓ | — | — | — | — | — | — | Read/Write |
| Video | — | — | ✓ | — | ✓ 2 | ✓ | — | — | Child | Read/Write |
| File | — | — | ✓ | — | — | — | — | — | — | Read/Write |
| Mail-To | ✓ 3 | — | ✓ | — | ✓ 1 | — | — | — | — | — |
| Embed | — | — | ✓ | — | ✓ 2 | ✓ | — | — | Child | — |
| Separator | — | — | ✓ | — | — | — | — | — | — | — |
| Short Text | ✓ | ✓ | ✓ | ✓ | ✓ 4 | ✓ | — | ✓ 5 | Both | Read/Write |
| Long Text | ✓ | ✓ | ✓ | ✓ | ✓ 4 | ✓ | — | ✓ 5 | Both | Read/Write |
| ✓ | ✓ | ✓ | ✓ | ✓ 4 | ✓ | — | ✓ 5 | Both | Read/Write | |
| Website | ✓ | ✓ | ✓ | ✓ | ✓ 4 | ✓ | — | ✓ 5 | Both | Read/Write |
| File Upload | ✓ 6 | — | ✓ | — | — | — | — | ✓ 5 | Parent | Read |
| Date & Time | ✓ | ✓ 7 | ✓ | ✓ | ✓ 4 | ✓ | — | ✓ 5 | Both | Read/Write |
| Dropdown | ✓ | ✓ | ✓ | ✓ | ✓ 4 | ✓ | ✓ live | ✓ 5 | Both | Read/Write |
| Multi-Choice | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ live | ✓ 5 | Both | Read/Write |
| Sub-Tasks | ✓ 8 | — | ✓ | ✓ | — | ✓ 9 | ✓ captured | ✓ 5 | Both | Read/Write |
| Members | ✓ | ✓ 10 | ✓ | ✓ | — | ✓ 11 | — | ✓ 5 | Both | Read/Write |
| Table | ✓ 12 | — | ✓ | ✓ 13 | — | — | ✓ captured | — | — | Read/Write |
| Linked Checklist | — | — | ✓ | — | ✓ 14 | — | — | — | — | — |
Reading the matrix
| Meaning | |
|---|---|
| ✓ | Supported. |
| — | Not supported. |
| ? | Not established. The documentation does not agree with itself on this point — see the note. |
| Required | The control can be made mandatory, so the task cannot be completed without it. |
| Drives logic | The answer can be the If side of a Conditional Logic rule. |
| Can be hidden | The control can be shown or hidden by a rule. Every control can. |
| DV source | The answer can be pushed into another control as a Dynamic Value. |
| DV target | The control can receive a dynamic value. |
| Parameter | The control can be bound to a Template Parameter. |
| Data Set | The control can be populated from a Data Set. live means options are re-read every time the checklist is loaded; captured means the values are fixed when the checklist is created and later Data Set changes do not affect it. |
| Reports | The answer can be added as a column in Reports. |
| Linked ⇄ | Which side of a Linked Checklist control mapping the control can take. |
| API | Whether the control is readable and writable through the API. |
Notes
- Accepts inline
{{placeholder}}tokens in its content or fields. - Accepts a dynamic value binding that sets its URL, restricted to URL-based global values such as
{{checklist.url}}. This is a different mechanism from the inline placeholders in note 1 — see Dynamic Values. - No Required checkbox. The Required – Manual Send send mode blocks task completion until the email has been sent.
- Accepts a dynamic value binding that pre-fills the control. Each control accepts a different subset of global values — the Date & Time control only date-based values, the E-Mail control only the current user's email, and the Dropdown control no global values at all. See Dynamic Values.
- Control columns are only offered when a report has a single template selected, under Tasks & Fields in the Columns dropdown. Which controls appear there is fixed by the control type — there is no setting that adds or removes one. See Report Columns.
- A Minimum Files count of
1or more, rather than a Required checkbox. - The widest operator set of any control — also is greater than, is less than and their or-equal forms.
- When set, every sub-task must be ticked, not just one.
- Bound to a String parameter, which can both create the sub-tasks and tick them. See Sub-Tasks.
- Operators are is, is not, has no value and has any value. The operand can be any User or Group, or Current User, which is resolved when the checklist runs rather than fixed when the rule is built — the only operand of its kind on any control. See Members.
- Bound to a parameter of type User or Group. See Template Parameters.
- Set per cell, via Is Required?, rather than for the whole control.
- The whole grid is inserted as a table, and refreshes as cells are filled. See Table.
- The Default Checklist Name field accepts dynamic values, so child checklists can be named from data captured in the parent.
Documented Limits
Most controls have far fewer limits than people expect. Where a row below says no limit, that means CheckFlow does not enforce one.
| Control | Limits |
|---|---|
| Text | No limit on content length, or on the size of an image inserted into the editor |
| Image | Formats: JPG, PNG, GIF. No size limit |
| Video | Upload formats: MP4, MOV, AVI. Embed sources: YouTube, Vimeo, Dropbox, AWS, Google Drive. No size limit |
| File | Any format. No size limit |
| Mail-To | Rich Text and HTML: 5 recipients per field, and an email can be sent twice from one control. Plain Text: neither applies |
| Embed | URL must be https://. Default height 500px |
| Separator | No settings, so no limits |
| Short Text, Long Text | No limit on length |
| 500 characters | |
| Website | 2,000 characters |
| File Upload | Minimum Files and Maximum Files configurable per control. Any format. No size limit |
| Date & Time | 9 date formats, 2 time formats, 3 modes |
| Dropdown, Multi-Choice | Unlimited items, each up to 500 characters |
| Sub-Tasks | Unlimited items, each up to 2,000 characters |
| Members | Unlimited selections in Multiple mode |
| Table | No limit on rows, columns or cell content. A linked Data Set View is capped at 500 records only when pre-populate rows is enabled |
| Linked Checklist | Auto Create is unavailable when the control links to its own template |
The character limits above are storage limits rather than validation rules. Nothing in the interface stops you entering more, and no warning is shown as you type — a longer value fails when it is saved.
Controls linked to a Data Set are bounded by that Data Set's own limit of 10,000 records. See Data Set Limits and Permissions.
Related Pages
- Create, Edit and Delete Task Content — how to add and arrange controls in a task.
- Conditional Logic — showing and hiding tasks and controls based on an answer.
- Dynamic Values — moving an answer from one control into another.
- Data Sets — populating a control from managed reference data.
- Tooltips — the one setting every control shares.