Skip to main content

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.

ControlPurpose
TextFormatted text, lists, tables, links and images — usually instructions
ImageA picture with an optional caption
VideoA playable video, uploaded or embedded from YouTube, Vimeo and others
FileA file for the user to download
Mail-ToA pre-written email that can be sent from the checklist
EmbedAn external web page or application shown inside the task
SeparatorA horizontal line to divide a long task into sections

Input Controls

Input Controls capture input from the user while they run the checklist.

ControlCaptures
Short TextA single line of text
Long TextMultiple lines of text
E-MailAn email address
WebsiteA web address
File UploadOne or more uploaded files
Date & TimeA date, a time, or both
Drop-DownOne option from a list
Multi-ChoiceOne or more options from a list
Sub-TasksA checklist of items within the task
MembersUsers and groups from your team
TableA grid of values
Linked ChecklistCreates 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:

ControlHow "required" works
Short Text, Long Text, E-Mail, Website, Date & Time, Drop-Down, Multi-Choice, MembersA Required checkbox on the control
Sub-TasksA Required checkbox — when set, every item in the list must be ticked
File UploadA Minimum Files count rather than a checkbox. Set it to 1 or more to make an upload mandatory
TableSet per cell, via Is Required? in the cell's dropdown, rather than for the whole control
Linked ChecklistNot supported. A task can be completed whether or not the child checklist has been created
Mail-ToNo 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.
  • 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

ControlRequiredDrives logicCan be hiddenDV sourceDV targetParameterData SetReportsLinked ⇄API
Text1ChildRead/Write
ImageRead/Write
Video2ChildRead/Write
FileRead/Write
Mail-To31
Embed2Child
Separator
Short Text45BothRead/Write
Long Text45BothRead/Write
E-Mail45BothRead/Write
Website45BothRead/Write
File Upload65ParentRead
Date & Time745BothRead/Write
Dropdown4✓ live5BothRead/Write
Multi-Choice✓ live5BothRead/Write
Sub-Tasks89✓ captured5BothRead/Write
Members10115BothRead/Write
Table1213✓ capturedRead/Write
Linked Checklist14

Reading the matrix

Meaning
Supported.
Not supported.
?Not established. The documentation does not agree with itself on this point — see the note.
RequiredThe control can be made mandatory, so the task cannot be completed without it.
Drives logicThe answer can be the If side of a Conditional Logic rule.
Can be hiddenThe control can be shown or hidden by a rule. Every control can.
DV sourceThe answer can be pushed into another control as a Dynamic Value.
DV targetThe control can receive a dynamic value.
ParameterThe control can be bound to a Template Parameter.
Data SetThe 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.
ReportsThe answer can be added as a column in Reports.
Linked ⇄Which side of a Linked Checklist control mapping the control can take.
APIWhether the control is readable and writable through the API.

Notes

  1. Accepts inline {{placeholder}} tokens in its content or fields.
  2. 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.
  3. No Required checkbox. The Required – Manual Send send mode blocks task completion until the email has been sent.
  4. 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.
  5. 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.
  6. A Minimum Files count of 1 or more, rather than a Required checkbox.
  7. The widest operator set of any control — also is greater than, is less than and their or-equal forms.
  8. When set, every sub-task must be ticked, not just one.
  9. Bound to a String parameter, which can both create the sub-tasks and tick them. See Sub-Tasks.
  10. 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.
  11. Bound to a parameter of type User or Group. See Template Parameters.
  12. Set per cell, via Is Required?, rather than for the whole control.
  13. The whole grid is inserted as a table, and refreshes as cells are filled. See Table.
  14. 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.

ControlLimits
TextNo limit on content length, or on the size of an image inserted into the editor
ImageFormats: JPG, PNG, GIF. No size limit
VideoUpload formats: MP4, MOV, AVI. Embed sources: YouTube, Vimeo, Dropbox, AWS, Google Drive. No size limit
FileAny format. No size limit
Mail-ToRich Text and HTML: 5 recipients per field, and an email can be sent twice from one control. Plain Text: neither applies
EmbedURL must be https://. Default height 500px
SeparatorNo settings, so no limits
Short Text, Long TextNo limit on length
E-Mail500 characters
Website2,000 characters
File UploadMinimum Files and Maximum Files configurable per control. Any format. No size limit
Date & Time9 date formats, 2 time formats, 3 modes
Dropdown, Multi-ChoiceUnlimited items, each up to 500 characters
Sub-TasksUnlimited items, each up to 2,000 characters
MembersUnlimited selections in Multiple mode
TableNo 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 ChecklistAuto Create is unavailable when the control links to its own template
note

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.