What are conditional multi-input nodes?
Within a multi-input node, sub-input node can be configured to be shown only if certain conditions are met. These sub-input nodes will display the toggle "show conditionally" below the input preview or the input options.
Once 'Show conditionally' is toggled on, a condition builder similar to the condition builder on transitions will appear. This condition builder allows for a definition of conditions that must be met in order to for this sub-input node to appear in the wizard.
In this example, only if the end-user selects 'none of the above', a further sub-input, in this case a text input node, will appear to allow a text input by the end-user.
The sub-input node which is shown conditionally can be conditioned on the answer of another sub-input node within the same multi-input node or any previous ('upstream') node.
What can I do with conditional multi-input nodes?
Multi-input nodes are incredibly useful to mix different kinds of responses into one user action. However, there may be times where you want only certain aspects of an input to be visible, either to progressively show options, or allow for branching paths within an option.
This is especially the case when you only need to ask for further information if the end-user had, for example, answered 'none of the above' in a single-select or multi-select node.
For example, a multi-input node that asks for a country and state could have the following structure:
- Sub-input 1: Select a country [USA, Germany, none of the above]
- Sub-input 2: Please specify the country [free text field], Show conditionally: If Sub-input 1 =none of the above
- Sub-input 3: Select a State [list of US states], Show conditionally: If Sub-input 1 = USA
- Sub-input 4: Select a State [list of German states], Show conditionally: If Sub-input 1 = Germany
Use Case examples and best practices
Keep in mind that conditions can only be met "upstream", for example, sub-input 4 can only use the answers from previous answers, as existing inputs). But you can also use answers within the input (sub-input 4 can use sub-inputs 1-3 as part of the conditions as well.
A conditional input can be "non-optional" but only if it is displayed. As it is conditionally shown, future references can't necessarily rely on it existing (if the sub-input was never shown, for instance).
If all sub-inputs of a multi-input node are configured to “Show conditionally”, it is possible that no conditions will be met, resulting in a blank input area. Best practice is to ensure your inputs are configured such that one will always be met.
👍 Good use of conditional multi-input nodes
- Use conditional multi-input nodes whenever you want to ensure that end-users are entering data that only applies for certain cases and should be displayed on the same screen in the Wizard. A typical example would be a list of single-select or multi-select options including 'Other'. Only if 'Other' was selected, your user will see an additional text input to enter further details. This helps to avoid setting up logic as displayed in the example below:
- Conditional multi-inputs are a great way to decrease the number of clicks for your end-user and to avoid the need to click back and forth. Whenever you previously added several single nodes to gather additional details that were not necessarily required for transitions further down in your module, a conditional multi-input is your best option.
👎 Bad use of conditional multi-input nodes
We highly advise against using conditional multi-input nodes to build out your logic within one screen, i.e. in one multi-input node. It might appear tempting to add many conditions within one multi-input node but maintaining and reviewing the module will be less straightforward. Additionally, your end-users will not be able to rely on the progress bar in the navigation which will decrease the
💡 Best practices
- try to limit the amount of conditional multi-input nodes
- use the node title or the Notes field to indicate conditionality within a multi-input nodes for future reference or for your collaborators
- use the list view to quickly see which multi-input nodes contain conditionality between sub-inputs