---
title: Workflow Actions
slug: workflow-actions
docTags: 
createdAt: 2026-01-09T06:49:53.000Z
---

## Configuring Actions

### Using the Form Layout Dialog (Select Fields)

Several workflow actions use the **Form Layout Dialog** to select fields and layout items. This dialog provides a visual representation of your application's form structure.

**Actions That Use Form Layout Dialog:**

- **Set Field Read/Write** - Uses "Select Fields" button
- **Set Field Required/Optional** - Uses "Select Fields" button
- **Modify Layout (Show/Hide)** - Uses "Select Layout Items" button

**How to Access:**

1. Configure a workflow action (Read/Write, Required/Optional, or Show/Hide)
2. Click the **Select Fields** or **Select Layout Items** button
3. The Form Layout dialog opens in a modal window

**Dialog Structure:**

The Form Layout dialog displays:

- **Dialog Header**:
  - Application/applet icon and acronym
  - Application/applet name
  - **Apply** button (saves selections and closes dialog)
- **Form Layout Section**:
  - Shows all fields and sections as they appear in your application form
  - Maintains hierarchical structure (sections, tabs, nested sections)
  - Fields display with their type icons
  - Sections show their names and structure
- **Hidden Fields Section** (if applicable):
  - Shows fields that exist but are not currently in the form layout
  - Useful for selecting fields that are not visible in the main layout

**Interaction:**

- **Click a field or section** to toggle its state
- Fields cycle through available states (for example, Lock → Edit → Unselected)
- Selected items are highlighted and show state icons
- Unselectable items are grayed out
- Click **Apply** to save your selections

**State Indicators:**

Each action type shows different state icons:

- **Read/Write**: 🔒 Lock (read-only), ✏️ Edit (write)
- **Required/Optional**: ✓ Required, ? Optional
- **Show/Hide**: 👁️ Show, 👁️‍🗨️ Hide, ⬇️ Collapse, ⬆️ Expand

**Field Restrictions:**

Some fields cannot be selected (grayed out):

- History/tracking fields
- System fields (Created Date, Updated Date, Created By, Updated By)
- Certain field types depending on the action (Reference, Comments, Attachments for Required action)

**Best Practices:**

- Use the visual layout to understand field organization
- Select multiple fields by clicking each one
- Fields maintain their state until you change it
- Click Apply only when you've finished selecting all fields

***

## Workflow Action Types

### Set Field Value

This workflow action updates a field value.

**Configuration:**

1. Select **Set Field Value** action type
2. Choose the target field
3. Set the value based on field type:
   - **Text fields**: Enter a value or use Mustache templating with `{{fieldName}}` to reference other fields
   - **Date fields**: Select a date modifier (previous, current, next, or specific date) and configure offset if needed. Values will be relative to dates and times.
   - **Numeric fields**: Enter a numeric value
   - **Selection fields**: Select from available options. You will see the defined values (for example, incident types) as multiple values.
   - **User/Group fields**: Select users or groups
   - **List fields**: Add items to the list

The value for the field you select changes according to the inputs available for the field type.

**Use Cases:**

- Auto-populate fields based on other field values
- Set default values for new records
- Set user/group assignments automatically

### Set Field Read/Write

Use this workflow action to set a field as read-only or as an editable field.

**Configuration:**

1. Select **Set Field Read/Write** action type
2. Click **Select Fields** button to open the Form Layout dialog
3. In the Form Layout dialog:
   - View the application's form layout structure with a view of the fields in the application
   - Click on a field to set it to read-only status
   - Click it again to set it to an editable status
   - You can see the existing status of the field by hovering over the field
   - Fields cycle through states: Lock (read-only) → Edit (write) → Unselected
   - Selected fields show an icon indicating their state
4. Click **Apply** to save your selections

**Form Layout Dialog Features:**

- **Form Layout Section**: Shows all fields organized by sections and tabs as they appear in the application form
- **Field Icons**: Each field displays its type icon (text, numeric, date, and so on)
- **State Indicators**: Selected fields show their current state:
  - 🔒 Lock icon = Read-only (field cannot be edited)
  - ✏️ Edit icon = Write (field can be edited)
- **Visual Feedback**: Selected fields are highlighted, unselectable fields are grayed out
- **Layout Structure**: Maintains the same hierarchical structure as your form (sections, tabs, nested sections)

**Restrictions:**

- Cannot be applied to: History, JSON, Created Date, Updated Date, Created By, Updated By fields
- These fields are automatically grayed out and cannot be selected

**Use Cases:**

- Lock fields after record reaches a certain state
- Make fields editable only under specific conditions
- Prevent editing of calculated or system fields

### Set Field Required/Optional

Use this workflow action to specify whether a field is required or optional.

**Configuration:**

1. Select **Set Field Required/Optional** action type
2. Click **Select Fields** button to open the Form Layout dialog
3. In the Form Layout dialog:
   - View the application's form layout structure with a view of the fields in the application
   - Click on a field to set it to required status
   - Click it again to set it to an optional status
   - You can see the existing status of the field by hovering over the field, or by the checkmark or question mark icon on the field upon update
   - Fields cycle through states: Required → Optional → Unselected
   - Selected fields show an icon indicating their state
4. Click **Apply** to save your selections

**Form Layout Dialog Features:**

- **Form Layout Section**: Shows all fields organized by sections and tabs as they appear in the application form
- **Field Icons**: Each field displays its type icon (text, numeric, date, and so on)
- **State Indicators**: Selected fields show their current state:
  - ✓ Checkmark icon = Required (field must have a value)
  - ? Question icon = Optional (field can be empty)
- **Visual Feedback**: Selected fields are highlighted, unselectable fields are grayed out
- **Layout Structure**: Maintains the same hierarchical structure as your form (sections, tabs, nested sections)

**Restrictions:**

- Cannot be applied to: History, Reference, Comments, Attachments, JSON, Created Date, Updated Date, Created By, Updated By fields
- These fields are automatically grayed out and cannot be selected

**Use Cases:**

- Make fields required based on other field values
- Conditionally require fields in multi-step forms
- Enforce data completeness based on record state

**Validation on Save**

Starting in **Turbine 26.2.0**, when a **Set Field Required/Optional** action marks a field as **required**, Turbine enforces that requirement when the user saves the record. Users do not need to click, hover, or focus the field first.

| Earlier releases (for example 26.1.x)                                                                                                         | Turbine 26.2.0                                                               |
| --------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| A field **optional** in Application Builder but **required** by workflow could be saved empty unless the user interacted with the field first | Save validates workflow-required fields as soon as the user clicks **Save**  |
| Required state from workflow might not apply to form validation until field focus                                                             | Validators refresh when the record loads and when workflow conditions change |
| Incomplete records could be saved on first save or after condition changes                                                                    | Save is blocked until every workflow-required visible field has a value      |

This behavior applies when the field is **optional** in Application Builder and workflow marks it **required** when conditions are met. After upgrade to **26.2.0**, re-test save behavior for workflows that conditionally require fields. No workflow configuration changes are required for the fix to apply.

:::hint{type="info"}
Workflow applies required and optional states at **runtime** on the record form. These changes are not stored as Application Builder field settings. Each time the record loads or field values change, workflow re-evaluates and updates which fields are required.
:::

| Topic                     | Behavior                                                                                                                  |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| **When validation runs**  | On **Save** and **Save and Close**, after workflow evaluates current conditions                                           |
| **Field interaction**     | Not required — validation applies even if the user never clicked or focused the field                                     |
| **Visible fields only**   | Fields hidden by **Modify Layout** are excluded from save validation                                                      |
| **Error display**         | Standard field-level required messages; record-level notification **The record has validation error(s)!** on save failure |
| **Workflow timing**       | Validators update when the record opens and when field changes trigger workflow re-evaluation                             |
| **Supported field types** | Text (including rich text), numeric, date, values list, list, and user/group fields that workflow marks required          |

**What users see when save fails:**

1. The user clicks **Save** (or **Save and Close**).
2. Turbine validates all visible fields, including fields made required by workflow.
3. Empty workflow-required fields show validation errors (for example, **\{Field name} is required.**).
4. A notification shows **The record has validation error(s)!**
5. The record is **not** saved until required fields have values.

Fields hidden by **Modify Layout** are removed from validation when they are not visible on the form layout.

| Situation                                                                    | Validation behavior                                          |
| ---------------------------------------------------------------------------- | ------------------------------------------------------------ |
| **New record** — workflow requires a field on open                           | Save blocked if the field is empty                           |
| **Existing record** — a value change newly requires a field                  | Save blocked if the newly required field is empty            |
| **Hidden fields** — workflow hides a field                                   | Hidden fields are not validated on save                      |
| **Conditional tabs or sections** — workflow shows a tab with required fields | Save blocked if required fields on the visible tab are empty |

:::hint{type="info"}
If save fails on a field the user did not edit, check whether workflow recently changed that field to **required**. Enter a value or change the triggering field so the condition no longer applies.
:::

**Examples that now work as expected:**

- Require a **Resolution Summary** text field only when **Status** is **Closed**
- Require fields on a conditional tab when the tab becomes visible
- Enforce required selections on first save of a new record without a click-through of every field

### Modify Layout (Show/Hide)

Use this workflow action to specify whether a field displays in the record.

**Configuration:**

1. Select **Modify Layout** action type
2. Click **Select Layout Items** button to open the Form Layout dialog
3. In the Form Layout dialog:
   - View the application's form layout structure that displays the fields available in the application
   - Click on a field to have a field exposed to view, or hidden from view
   - **For Fields**: Cycle through states: Show → Hide → Unselected
   - **For Sections**: Cycle through states: Show → Hide → Collapse → Expand → Unselected
   - **For Tabs**: Cycle through states: Show → Hide → Collapse → Expand → Unselected
   - You can use this action on sections, tabs, and HTML elements
   - Selected items show an icon indicating their state
4. Click **Apply** to save your selections

**Form Layout Dialog Features:**

- **Form Layout Section**: Shows all fields and sections organized as they appear in the application form
- **Field Icons**: Each field displays its type icon (text, numeric, date, and so on)
- **Section Indicators**: Sections show their hierarchical structure
- **State Indicators**: Selected items show their current state:
  - 👁️ Eye icon = Show (visible)
  - 👁️‍🗨️ Eye-disabled icon = Hide (invisible)
  - ⬇️ Shrink icon = Collapse (sections only)
  - ⬆️ Expand icon = Expand (sections only)
- **Visual Feedback**: Selected items are highlighted
- **Layout Structure**: Maintains the same hierarchical structure as your form (sections, tabs, nested sections)

**State Options by Item Type:**

- **Fields**: Show, Hide
- **Sections**: Show, Hide, Collapse, Expand
- **Tabs**: Show, Hide, Collapse, Expand

**Use Cases:**

- Show relevant fields based on record type
- Hide fields that are not applicable
- Organize forms with collapsible sections
- Progressive disclosure of information

### Filter Selection Options

Use this workflow action to specify the values to update on a field that has multiple values available.

**Configuration:**

1. Select **Filter Selection Options** action type
2. Choose the target selection field
3. Configure filter criteria based on other field values

**Use Cases:**

- Show only relevant options based on record context
- Filter options based on user permissions
- Dynamically update dropdown options

### Toggle Time Tracking

Enable or disable time tracking for records.

**Configuration:**

1. Select **Toggle Time Tracking** action type
2. Choose to enable or disable time tracking

**Use Cases:**

- Enable time tracking for billable work
- Disable time tracking for certain record types
- Control time tracking based on record state

***
