Forge: fields, sections and smart rules

Learn what each field type is for, how to arrange a form into sections, and how to make a form react to the answers people give.

13 min read Updated

Who is this for
Anyone who designs a Forge form, or the extra fields on a built-in module
How long it takes
About 10 minutes to read, 2 minutes per rule
What you need first
A form open in the Forge Studio. See Forge: build your first form.
On this page

The big picture#

A Forge form is made of sections. A section is a titled box. Each section holds fields. A field is one question, such as "Your name" or "Needed by".

You build the form in the Studio. If you have not used it yet, start with Forge: build your first form.

Add and arrange fields#

  1. In the palette on the left, click the field type you want. It is added to the section you picked.
  2. Click the new field on the canvas. The inspector on the right shows its settings.
  3. Set the Label. This is the question people read.
  4. Drag the handle on the left of a field to move it. You can drop it into another section.
  5. Use the small icons on a field to Duplicate or remove it.

To add a section, click Add section under the last one. Click a section's title to rename it, or drag its handle to move the whole section. A section can have a Description and a Collapsible section switch, so people can fold it shut.

Field settings that every field has#

Setting What it does
Label The question people see.
Field key The hidden name. No spaces. Forge makes it from your label the moment you add the field, and keeps it different from every other field. If you rename the label, the key follows until you type a key by hand. After that the key is yours.
Type Lets you change the field type.
Help text A hint under the field.
Required Switch on to make an answer compulsory.
Reportable Includes the answer in reports and exports.
Width How much of the row the field takes: Full width, Two-thirds, Half, Third or Quarter.
Control size How wide the input box itself is inside that space: Full width, Large, Medium or Small. A date looks odd stretched across a whole row.

Lay out a whole section#

Click a section. Under Layout you can choose:

  • Section width: Full row or Half row.
  • Fields per row: 1, 2 or 3. This sets the width of every field in the section.
  • Control size: Full, Large, Medium or Small.

You can then fine tune any single field with its own Width or Control size.

Every field type#

The palette groups them as Basic, Choice, Data-bound and Advanced.

Basic#

Type What it is for Example
Short text One line of words. You can set a minimum and maximum length, and a pattern. Your name
Paragraph Several lines of words. Why do you need it?
Number A plain number. You can set Min and Max. Number of guests
Amount Money. Shown with a currency. See Pick the currency for an amount. Estimated cost
Percentage A number of percent. Typing 12.5 means 12.5 percent, not 0.125. Without your own limits it must be between 0 and 100. Discount
Date A calendar day. Needed by
Yes / No A single switch. Needs a parking space?

Choice#

Type What it is for
Dropdown Pick one from a list.
Multi select Pick several from a list.
Radio Pick one, with all the choices showing at once.
Checkboxes Tick any number of boxes. The answer is a list of the ticked choices.
Rating Stars. Set Stars (scale) for how many, 5 if you leave it blank. A rating is from 1 up to that number.

For a Dropdown, Multi select, Radio or Checkboxes, the setting Options come from has four choices:

  • A fixed list: you type the Choices yourself. Each has a label and a stored value.
  • People (your users): the choices are your colleagues, always up to date.
  • Departments: the choices are your departments, always up to date.
  • An external API: the choices come from another system. See below.

Data-bound#

These fill themselves from your company's own data.

Type What people pick Good to know
People One of your colleagues. Needed if an approval step should go to "a user picked on the form".
Department One of your departments. Needed if an approval step should go to a department's head, sub-head or members.
Country A country.
State / Province A state or province of a country. You must tell it which country: Follow a Country field on this form, or Or pin a fixed country.
Currency A currency from your company's currency list. The answer is the bare code, such as NGN.
From API A choice from another system's list. See below.

Advanced#

Type What it is for
File upload Documents. Set Maximum file size (it cannot go over the platform limit) and switch on Allow multiple files if needed.
Image A picture. Same settings as a file.
Repeating group A little table people add rows to, such as a list of items. You choose the Columns in each entry. Each column can be Text, Paragraph, Number, Amount, Percentage, Date or Yes / No. A group needs at least one column before it can be filled in.

Fill a dropdown from an outside system#

Choose An external API (or the From API type) and fill in:

  1. URL, for example https://api.example.com/items.
  2. Method: GET or POST.
  3. Headers, if the system needs a key. Click Add header.
  4. Label field and Value field: which parts of each answer to show and to store. Use dotted names for nested data.
  5. Click Test connection. Forge calls the real address. On success you see how many options were found and a list of fields. Click Use as label or Use as value next to one.

The address must return a list. If it fails, Forge shows the real reason instead of staying silent. People who only fill the form never see your header values.

Pick the currency for an amount#

An Amount is stored as a plain number. The currency is only for display. Select the field and look at Currency:

Choice Meaning
None A plain number with no currency beside it.
A fixed currency Always shown in the currency you pick, from the full world currency list.
A Currency field on this form Shown in whichever currency the person picks in a Currency field on the same form. Choose it under Follow this Currency field.

You only ever use one of these at a time.

On a built-in module that already has its own currency, such as a CRM deal, the list under Follow this Currency field also offers the record's own currency, marked (built in). Pick it so the amount follows the deal's currency instead of a second currency that could disagree. If you see There is no currency to follow on this form yet, add a Currency field first.

Smart rules#

Select a field. At the bottom of the inspector you will find a folded panel with four rules. A rule that is switched on shows On in its heading.

Rule In plain words
Show only when The field appears only when the condition is true.
Required only when The field is optional, but becomes compulsory when the condition is true.
Disabled only when The field stays visible, keeps its answer, but cannot be changed while the condition is true.
Set value Hubtoll fills the field in for you.

Build a condition#

A condition is built with the same And / Or builder you use to filter lists.

  1. Open the rule panel, for example Show only when.
  2. Pick a field in the first box. Pick how to compare it. Fill in the value.
  3. Add more conditions if you need them. Join them with And or Or, and group them.

The first box offers two groups:

  • Fields on this form: any other field. A field can never read itself.
  • Built-in record fields: on a built-in module, the record's own fields, such as a deal's stage or amount. See Add your own fields to built-in modules.

Below a rule, a short sentence says what it means in words. The small copy icon copies the rule. On another field, click Paste copied rule to reuse it.

If a condition points at a field you deleted, you see a warning such as "price" is no longer a field on this form, so that condition can never match.

Rules can be nested up to 5 levels and hold up to 50 conditions. Real rules never come close.

Required only when#

Use it for "a reason becomes mandatory once Other is picked". The panel is hidden while Required is switched on, because "always required" already wins. It says: This field is always required. Switch Required off to make it required only sometimes.

Disabled only when#

The field is still shown and keeps its answer, but it is locked. A locked field is never required. Use it for "this budget locks once the request is approved".

Set value: fill a field for people#

Open Set value and click Add a rule. Each rule has two parts:

  • When: a condition. With no condition, the value always applies.
  • Set it to: the value to put in the field.

You can add up to 10 rules to one field. The first rule whose condition is true wins. If none is true, the field is left as it is.

What you type depends on the field:

  • On Number, Amount, Percentage and Rating fields the value is a calculation. Use + - * /, brackets, and the functions ROUND, FLOOR, CEIL, ABS, MIN and MAX. Type { to pick another field. Example: {amount} * 0.075 for 7.5 percent of the amount. A plain number such as 5 works too.
  • On other fields (text, date, yes / no, choice, currency) you type fixed text. You can drop in other answers by typing { and picking a field.

Things to know:

  • If a field used in a calculation is empty or not a number, the result is left empty. Empty is not zero.
  • Dividing by zero also gives an empty result.
  • A rule may not depend on itself. At publish, Forge refuses a loop and says: 'VAT' is set from a value that is itself worked out from 'VAT'. Break the loop before publishing.
  • A calculation Forge cannot work out is refused with a message such as The calculation on 'VAT' can't be worked out.
  • Files, repeating groups, and fields that hold a link to another record cannot be set by a rule.
  • The server works the value out again when the form is submitted, so a changed browser cannot cheat.

Rules on a whole section#

Click a section. Under When this section applies you find two rules, Show only when and Required only when. A section rule governs every field inside it. Fields keep their own rules but Forge does not use them while the section has one.

  • A section's Required only when means: while it holds, every field in the section must be filled in. While it does not, none must be, even a field marked Required. To keep one field optional, give it a section of its own.
  • A section can only read fields outside itself. A condition that depends on a field the section hides could never be true.
  • A field inside a governed section shows a note, sets its own rules, and they govern every field in it, with a link Open the section's rules.

Rules at publish time#

Autosave accepts half finished work. Forge checks for real problems only when you publish. Messages you may meet:

Message Fix
Add at least one field before publishing Add a field.
Every field needs a key or Duplicate field key: … Give each field its own key.
Field keys starting with '__workflow.' are reserved by the workflow engine Rename the key. Keys starting __workflow. or native. are reserved.
Field 'x' needs a country Link the State field to a Country field, or pin a country.
Field 'x' follows a Currency field that doesn't exist on this form Pick another Currency field, or add one.
The validation pattern for 'x' is not a valid regular expression Fix or remove the pattern.

Common questions#

A rule does not seem to work. Where do I look?

Check four things. Is the field inside a section that has its own rules? Does the condition still point at an existing field? Is Required switched on while you wanted Required only when? Did you publish? The live form uses the published version, not your draft.

Which fields can I change my mind about later?

All of them. Edits go into a draft. People keep using the live version until you publish. See Change a form that is already live.

Can a rule change a field on a built-in module like a deal?

Yes. Built-in fields get the same rules from the module's Forge Template page. See Add your own fields to built-in modules.

Can an approval workflow set fields too?

Yes, a Condition step can update fields before the request moves on. See Approval workflows and emails.

Did this answer your question?
Still stuck? A real person will help.

Message us on WhatsApp or email cloud@digitalvortextech.org. We usually reply within a few hours (Mon–Fri, 8:00–19:00 GMT). Inside Hubtoll you can also raise a support ticket from the avatar menu.