Roles & Extension Fields

Roles are the reason record pages configure themselves. A role tags what a contact is — a client, a member, a parent — and each role brings its own panels of extra fields along. Add the role, and the panels appear; no page setup, no waiting for a developer.

What roles do

A role is a label like Client, Member, or Mother. Three roles are built in:

  • contact — everyone has it; it carries the basic personal panels.
  • client — whatever "client" means in your space, with the panels your space attached to it.
  • user — contacts who can sign in to the app themselves.

Your space can define any number of additional roles. When a role is added to a contact, every extension panel attached to that role appears on the contact's page on the next load. Removing the role hides those panels again — the data underneath is kept, not deleted.

Role chips on a record
A contact's roles. Each role switches its own panels on.

The three kinds of extension panels

KindWhat it isExample
Field groupOne set of extra fields, one value each per recordInsurance details, Emergency contact
Child tableA list of rows that belong to the recordEnrollments, Payments, Visits
Connection slotA linking panel to other records of a given kindChildren, Referred by

Connection slots are covered in depth in Linking Records.

"Not applicable" is not the same as empty

In a field group, individual fields can be marked N/A for one specific record. That records a real answer — "this does not apply here" — instead of leaving the reader to wonder whether the field was simply never filled in.

Creating a role (administrators)

You need the role management permission.

  1. Open the Role designer from the admin menu.
  2. Name the role, pick a color, and set its rank (rank orders the role chips and decides which role's panels come first).
  3. Attach extensions: tick the field groups, child tables, and connection slots this role should switch on, mark any as required, and order them.
  4. Save. Every contact holding the role shows the new panel set on next load.

Creating an extension table (administrators)

You need the extension management permission. The designer is a guided, no-code flow:

  1. Open the Extension designer and click Add extension.
  2. Name it and choose the shape — field group, child table, or connection slot.
  3. Add fields, choosing a type for each: text, number, yes/no, date, choice list, or a reference to another record.
  4. Review the preview, then apply. You may be asked to re-enter your password — creating tables is a guarded action.

The extension designer
Defining a new extension table: name, shape, and fields.

Important
The guided flow only ever adds — new tables, new fields. Renaming or removing a live field is a separate, deliberately slower process with dependency checks, so a slip of the mouse can never destroy data. Every structural change is recorded in the audit log.

Sensitive fields

A field can be marked sensitive when it is defined. Sensitive values show as •••• unless you hold the reveal permission for that field, and they are left out of exports for anyone without it.

Who can see and edit extension panels

Permissions can be set per extension, and even per field. Where nothing specific is set, editing an extension follows the main contact edit permission — access is never open by default.

Tip
The whole loop is zero-code: define an extension in the designer, attach it to a role, add the role to a contact — and the contact's page shows the new panel. That is the fastest way to tailor the app to how your space works.

Related pages