> **Source:** https://knowledge.leegality.com/document-execution/workflows/v4/setup-configuration/field-properties > **Site:** Leegality Knowledge Base — https://knowledge.leegality.com > **About:** Leegality is a document execution platform covering eSigning, stamps, NeSL, workflows, and REST API integration. > **Navigation:** Every article on this site has a plain-text version at `.txt` (this format). To get an index of all articles with their `.txt` links, read: https://knowledge.leegality.com/llms.txt > **AI Guide:** For instructions on how to navigate this knowledge base as an AI agent, read: https://knowledge.leegality.com/ai-readable.txt --- # Control Field Behaviour **Field Properties** are per-field controls that decide how every field and option in a v4 workflow behaves — whether it is shown, whether it can be changed, and whether it must be filled. **Every field and option is configurable individually**: the same workflow can hide an irrelevant field, lock a pre-filled value, and force a critical detail to be completed before the document moves on. Field Properties are available during **both workflow creation and running**. The workflow creator sets properties to define how each field behaves on every run — this is what makes one workflow reusable across many different sends. The workflow runner then works within those properties, and can also set properties on the fields left open while preparing the send. Each field carries up to three properties. ## Visibility Visibility controls whether a field is shown at all. Use it to keep the journey clean — internal fields, unused settings, or details that only matter for certain documents can be hidden so they never distract from what actually needs attention. Because visibility is set per field and per document, the same field can be shown in one document of a pack and hidden in another. - **Visibility on** — the field appears in the journey. - **Visibility off** — the field is hidden and does not appear at all. ## Editability Editability controls whether a field's value can be changed. It is how you separate what is fixed from what is open: pre-fill a value and turn Editability off, and that value stays the same on every run; leave it editable, and the value can be adjusted each time. A non-editable field stays visible — its value is seen, but protected. - **Editability on** — the value can be entered or changed freely. - **Editability off** — the field shows its value, but the value cannot be changed. ## Mandatory Mandatory controls whether a field must be filled before proceeding. Turn it on for information that must never be missed — an Employee ID, a loan reference, a contact detail — and the journey cannot move to the next stage while the field is empty. Mandatory ensures a value *exists*; to control the *format* of that value, pair it with a [validation](https://knowledge.leegality.com/document-execution/workflows/v4/setup-configuration/field-configuration). - **Mandatory on** — the field must be filled before proceeding to the next stage. - **Mandatory off** — the field is optional and can be left blank. A field left **visible** and **editable** is fully open — it can be filled or adjusted freely on every run. ## Set a field property Every field shows an icon for each property it carries — up to three, for Visibility, Editability, and Mandatory — when you hover over it. 1. Hover over the field. 2. Click the icon for the property you want to change to enable or disable it. The change applies to that field only, so every field can be configured differently. You can also **right-click a field** to open a pop-up listing these properties — check or uncheck the respective boxes to enable or disable each one. > **Tip** > > The same right-click pop-up includes a **Validations** tab for setting character limits and regex on a field. See [Validations](https://knowledge.leegality.com/document-execution/workflows/v4/setup-configuration/field-configuration). ## Which elements carry which properties Only **text fields** and **custom fields** carry all three properties: - **Text fields** — such as the document details (Document Name, Internal Reference Number) and the invitee details (Name, Email Address, Phone Number) — carry **Visibility**, **Editability**, and **Mandatory**. - **Custom fields** you add to a workflow also carry all three. Every other element carries only **Visibility** and **Editability** — there is no Mandatory state. This includes: - Toggles and checkboxes. - Upload boxes. - Selection dropdowns, such as the invitee role (Signer, Reviewer, Group Signer, Group Reviewer). - Checkpoints (Parent)-Eg; **Pack Details** in Create Stage, Settings checkpoints in Invite stage. A toggle or checkbox always holds a value — on or off — so there is never an empty state for **Mandatory** to enforce. Defaults also vary by element. For example, an enabled eSign type defaults to **visible + non-editable**, while the **+ Add Document** option defaults to **invisible + non-editable**. > **Info — Pack Details** > > **Pack Name**, **Pack Internal Reference Number**, and **Pack Folder** are text fields, so — like any other text field — they carry all three properties, including Mandatory. It's the **Pack Details** checkpoint itself (the parent) that carries only Visibility and Editability, per the [parent and child rules](#parent-and-child-fields) below. ## Parent and child fields Fields in a v4 workflow are **nested**. An element that contains other elements is a **parent**, and everything under it is its **child**. For example, the **Settings** tab as a whole is a parent — every setting inside it is its child. Two rules govern how properties work across this hierarchy: - **Properties are inherited.** A property set on a parent automatically applies to all of its children. Make the **Settings** tab **non-editable**, and every setting under it becomes non-editable too. - **A child cannot contradict its parent.** If you manually change a child's property so it conflicts with the parent — for example, making one setting **editable** while the Settings tab is **non-editable** — an **error** appears when you try to proceed. > **Tip — Example** > > You make the **Settings** tab non-editable. Everything under it is automatically non-editable — no need to lock each setting individually. If you then switch one child setting back to editable and try to proceed, the workflow shows an error, because the child now contradicts its parent. To open up a single child, set the parent so it doesn't conflict — for example, keep the parent **editable** and lock the other children individually instead. ## Change properties dynamically The properties set on a field are its fixed, default state. To change them based on the data entered while the workflow runs — for example, making a field mandatory only when a Loan Amount crosses a threshold — use the [Rule Engine](https://knowledge.leegality.com/document-execution/workflows/v4/rule-engine/overview). ## Common use cases | Goal | Do this | | --- | --- | | Keep a fixed value on every run — a standard folder, clause reference, or internal reference number | Pre-fill the value, then turn **Editability** off | | Pre-fill a suggested value that can still be adjusted | Pre-fill the value and leave the field **editable** | | Hide internal fields that aren't needed in the journey | Turn **Visibility** off | | Show a custom field on only some documents of a pack | Turn its **Visibility** off on the other documents — properties are set per field, per document | | Guarantee a critical detail (such as an Employee ID) is always captured | Turn **Mandatory** on and keep the field **editable** | | Let stamp values (such as **Quantity** or **Amount**) be decided per send | Configure the stamping, but leave the value fields **editable** | | Allow extra documents or files to be added while running | Make **+ Add Document** or the **Upload PDF** box **visible** and **editable** |