Forms and data collection form an important part of many workflows. In complex scenarios you can end up with long forms that are hard to use and maintain. This article shows you how Workflow Accelerator uses ‘form groups’ to address this kind of complexity.
How forms become complex
A workflow for creating a new job vacancy to be published on the company site typically starts with a form that captures the vacancy details.
Workflows typically use forms like this to collect information, and present this information for review or approval. Almost all forms start simple, with less than ten fields, in the same way that there was probably originally a spreadsheet with less than ten columns. Of course, this is just to start with…
Processes can be complex in different ways, and workflow automation usually adds complexity as the workflow evolves. One way for a workflow to become more complex is when it handles more complex data. What used to be a small form ends up with many more fields.
This form now has too many fields to take in at a glance. Long forms like this are harder to understand, harder to fill in correctly, and harder to maintain. The solution to these problems is to identify fields that belong together, and group them.
Using form groups to organize forms
If you look at the long job vacancy form carefully, you might notice that there are several groups of fields. The first few fields are about which part of the company—which team—has the vacancy, and the next few fields are about the vacancy itself. The ‘team’ fields belong together, as do the ‘vacancy’ fields.
In Workflow Accelerator, you can use ‘form groups’ to split a large form into sections. Each section has a title, and an optional description. The following version of the same form splits it into four fields: Team, Vacancy, Recruitment process and Additional information.
To do this, select or drag the Form Group control In the form builder, and then drag fields onto the form group.
You can also add a form group description that provides guidance for people completing forms.
Naming form groups
The hardest thing about creating a form group is choosing a good name. This is also why form groups are so powerful: good form group names reduce a complex form into a smaller number of recognisable sections. In our example, we recognise that a job vacancy is a ‘thing’, which helps us understand the purpose of the fields in the ‘Vacancy’ form group.
As well as adding structure to the form, a named form group is also a reusable collection of fields. In the same way that the form builder lets you reuse an existing form, you can also select a form group to copy it from another form.
The ‘vacancy’ is an example of what’s called a ‘domain entity’ in data modelling—a coherent group of data that corresponds to a higher-level concept. In a sense, defining forms and grouping their fields is a data modelling exercise that complements the workflow’s process modelling component.
Don’t worry if you can’t fit all of the fields into a well-named group. In practice it’s usually necessary to leave a few spare fields outside the form groups, or ‘cheat’ by adding a group with a name such as ‘Miscellaneous’ or ‘Additional information’, as in the example above.
Other uses for form groups
You can also use form groups to add more text to a form, or simplify complex forms by conditionally hiding groups of fields. To add a form footer, add an empty form to the end of the form. Emoji make good headings for footer form groups.
On forms, you can specify ‘custom rules’ to dynamically set whether an individual field is shown, hidden, mandatory or read-only. You can use the same mechanism for whole form groups. In the job vacancy form example, perhaps the recruitment process fields only apply to the North America process. You could have a separate set of fields for other regions.
’s form builder combines a friendly graphic tool for building workflow forms with features that give you the flexibility to support complex scenarios. To create your own form groups, and agonize over what to call them, register for a today.