Form interactions let you control how fields in a form block behave based on conditions. You can:
- Change how a field appears, for example, hide, disable, or mark required.
- Set or clear values automatically.
- Aggregate data, such as counting rows or summing values.
Form interactions can also be applied to detail blocks. Additionally, you can set a form action to apply to new or updated records.
For creating forms before adding interactions, see our knowledge base article, Add a Form block.
Best practices for form interactions
- Keep conditions simple – Complex logic can confuse users and slow forms down.
- Prioritise clarity – Only apply interactions that make the form more straightforward to use.
- Test scenarios – Preview interactions with real data to ensure they trigger as expected.
- Use aggregations sparingly – Show totals or averages where they provide clear insight, not everywhere.
- Fallback values – Ensure fields still work if conditions aren’t met, for example, avoid leaving mandatory fields hidden.
Conditions
Conditions are the rules that determine when an action applies. For example:
- Show a “Manager approval” field only if Leave Type = “Unpaid.”
- Mark a “Start Date” field as required if Job Type = “Contractor.”
You can configure conditions based on:
- The value of the current field.
- The value of other fields in the form.
- Linked model properties.
Actions
Actions define what happens when conditions are met.
Types of actions
| Action | What it does | Example use |
|---|---|---|
| Set Attribute | Sets the selected attribute values for the selected fields based on conditions. | If Job Role = "Manager," set the “Department” field label to "Team." |
| Clear Attribute | Removes the attribute values for the chosen field based on conditions. | If Contract Type = "Permanent," clear the “End date” field. |
| Count Rows | Counts the rows of the linked model and displays the total in the target field. |
Show how many direct reports an employee has. |
| Sum Column | Calculates the total value of a selected field and displays it in the target field. |
Show the total cost of all expenses submitted in a claim. |
| Average of Column | Calculates the average value of a selected field and displays it in the target field. | Show the average performance rating across a team. |
| Min of Column | Finds the lowest value of a selected field and displays it in the target field. | Show the earliest leave start date among team members. |
| Max of Column | Finds the highest value of a selected field and displays it in the target field. | Show the highest expense amount submitted in a report. |
| Set Rows |
Maps a primary model property to a linked property, setting values automatically. You must add a condition with the "is known" criteria for the primary model property field. For example:
|
When assigning a Manager, automatically link their Department to the form. |
Attributes
You can set or clear attributes to control how fields behave:
| Attribute | What it does | Example use |
|---|---|---|
| Help text | A rich text box appears to configure the help text you want to show. If the help text isn't correct, you can use the clear option to remove it. | |
| Label | A text box appears to type in the new label for your form's field. If the field is "User" and you want to make it "User's name," you can either set a new label or use the clear option to remove the label entirely. | |
| Required | A Value option makes the field mandatory or optional. | |
| Enable | It shows a Value option for you to select to make the field changeable or clear it to disable it when the conditions are met. You can still see the field's value, but you can't amend this. | |
| Value | Shows a field so you can either type in or select a value. For example, if the Target Field is a text field, you must type in a value. If it is a drop-down list, you need to select it from the list. If the field is a date, you need to choose a date. You can use the clear option to remove any value. | |
| Visible | Shows a Value option. It shows the field when the option is selected, and the conditions are met. It hides the field when the option is cleared and the conditions are met. | |
| Highlight weekends | Visually distinguishes weekends on the calendar by highlighting them, making it easier for users to identify Saturdays and Sundays. | |
| Disable Weekends | Prevents users from selecting weekends on the calendar, restricting selectable dates to weekdays only. | |
| Highlight public holidays | Marks the public holidays on the calendar with a distinctive highlight, helping users quickly recognize these special dates. | |
| Disable public holidays | Prevents users from selecting public holidays on the calendar, ensuring that these dates cannot be chosen for scheduling purposes. | |
| Holiday calendars | Integrates regional or organizational holiday calendars into the form, automatically recognizing and applying public holidays to the user's schedule. | Same as shown in the above date picker images, highlights and disables dates in the Holiday calendar models. |
Example use cases
- Automatically calculate the total expense amount when employees submit receipts.
- Make the Manager field required only if “Job Role = Contractor.”
- Prevent users from selecting weekends or holidays when booking time off.
- Auto-fill the Department field based on the selected employee.