Skip to main content
Computed fields generate their own value. Submitters never type into them. They are always required, can be hidden from the form, and their value is produced by the system at submission time.
The tutorial builds the URL-shaped computed fields (Tagged URL, Short URL, QR Code). This page covers the other computed types: one that composes other fields, and four that stand alone.
You needUse
Join several fields into one value (a campaign name, an asset code)Concatenation
Sequential, padded numbersAuto Number
An unpredictable token per recordRandom
The same fixed value on every recordConstant
The record’s built-in unique identifierTerminus ID
All five are created the same way: open your governance model, add a field, pick the type, and fill in its settings. The type cannot be changed after the field is created, so choose deliberately.

Concatenation: join other fields

Concatenation builds one value by stitching the rendered values of other fields together with a separator. It is the workhorse for assembling a campaign name or an asset code from its parts. The settings are an ordered list of parts (each part points at another field), a separator placed between them, and a choice about what to do with empty parts:
  • remove_extra_separators collapses the separators around any part that came out empty, so you never get summer__email with a doubled separator.
  • empty_field_replacement substitutes a placeholder for an empty part instead. These two are mutually exclusive: pick one.
name: campaign_name
type: concatenation
settings:
  separator: "_"
  remove_extra_separators: true
  parts:
    - { type: field, value: <season field> }
    - { type: field, value: <channel field> }
    - { type: field, value: <region field> }
With season=summer, channel=email, region=us, the field renders summer_email_us. Leave region empty and remove_extra_separators keeps it clean as summer_email. See the Concatenation reference.

Auto Number: sequential, padded numbers

Auto Number stamps each new record with the next integer in a sequence. Set the start_value (required) and an optional padding (0 to 10 digits) to zero-pad the result.
name: asset_number
type: auto_number
settings:
  start_value: 1
  padding: 5
Records get 00001, 00002, 00003, and so on. The counter belongs to the field, so every taxonomy that uses this field draws from the same running sequence. See the Auto Number reference.
Raising start_value later jumps the sequence forward. Lowering it below the highest number already issued is ignored, so the field never hands out a duplicate.

Random: an unpredictable token

Random generates a one-off string per record. Set the length (1 to 50) and turn on at least one character class: include_numbers, include_lowercase, include_uppercase.
name: access_code
type: random
settings:
  length: 8
  include_numbers: true
  include_lowercase: false
  include_uppercase: true
Each record gets its own value, for example K7P2QXM9, generated once and then preserved. Reach for Random when you want an unguessable code.
Random values are not checked for collisions. If you need a value that is guaranteed unique, use Terminus ID or Auto Number instead.
See the Random reference.

Constant: a fixed stamp

Constant writes the same value onto every record. It is useful as a version tag, a fixed brand or region marker, or a literal segment inside a Concatenation.
name: schema_version
type: constant
settings:
  value: "v2"
Every record reads v2 until you change the field. See the Constant reference.

Terminus ID: the record’s built-in identifier

Every record carries a globally unique, immutable identifier in the form trm0 followed by lowercase letters and digits (for example trm0kf8m2a1q). A Terminus ID field surfaces that identifier as a column. It has no settings.
name: record_id
type: terminus_id
Use it when you need a stable handle to join records to an external system, or to reference records elsewhere in the platform. See the Terminus ID reference.

Gotchas

  • Computed fields are always required and never editable by submitters. The required toggle is locked on. You can hide a computed field from the form (it still generates its value), but you cannot make it optional.
  • The type is fixed once created. If you picked the wrong computed type, delete the field and add a new one. Delete is blocked while the field is still referenced by a taxonomy.
  • Auto Number shares one counter across taxonomies. Two taxonomies using the same Auto Number field interleave into a single sequence, they do not each restart at start_value.
  • Random is not unique. Treat it as a token, not a key. Use Terminus ID or Auto Number when uniqueness matters.
  • Concatenation needs its parts in the taxonomy. Every field a Concatenation references must also be present in the same taxonomy, or publishing fails with a missing-dependency error. Choose either remove_extra_separators or empty_field_replacement, not both.
  • No prefix or suffix on Terminus ID. The other computed types on this page (concatenation, auto number, random, constant) do accept a prefix and suffix, so you can wrap their value with literal text if you want.