Custom Attribute Fields
Define Attributes for profiles, registration, and smart groups—including nested trees, conditional show-when rules, and display order.
What This Is For
Attributes are custom data points on user profiles. Use them to store extra information, collect values at registration, drive smart groups, and show extra fields only when other answers match.
In the product the settings card is labeled Attributes (Configure → under Control User Access and Attributes). Docs still use Custom Attribute Fields as the page title.
You can create up to 20 attributes per workspace.
Who This Is For
Workspace administrators who design profile data and group rules. Often coordinated with whoever builds registration pages or IdP mappings.
Field Types
| Type | UI label | Behavior |
|---|---|---|
| Single choice | Single Select | Preset list; user picks one path |
| Multiple choice | Multi Select | Preset list; user may pick several paths |
| Free text | Text | Any text up to 500 characters |
For select types you manage Field choices (add, nest, import, sort, remove).
Nested Choices (Hierarchy)
Select attributes can be a flat list or a tree. Nest a choice under another so people pick Region → City → Team instead of one long flat list.
Next to Attribute type and Attribute accessibility, choose Flat or Hierarchy:
| Setting | What it does |
|---|---|
| Flat | A simple list of choices with no nesting. |
| Hierarchy | You can nest choices under parents and show hierarchy options below. |
When Hierarchy is on, Hierarchy settings appear:
| Setting | What it does |
|---|---|
| Allow multiple paths (multi-select only) | Let people keep more than one path. Optional Maximum paths caps how many. |
| Presentation → Single control | One searchable field. People browse level by level (with an All trail) or search to jump. Multi-select paths share the same field. |
| Presentation → Stepped levels | After each selection, a new input appears for the next level—guided step-by-step. Best for short trees. |
Required attributes must finish on a deepest option (a leaf with no children)—for example a Team, not stop on Department. Optional attributes can stop on a parent.
On the choices toolbar, Allow Other adds a free-text Other option at that level. Free-text answers cannot be used for filtering (for example in smart groups or reports). On each choice you can also set an optional step label (shown on the next level under that choice) and, when useful, how many selected paths may sit under that branch.
People set values on their profile, in Users & Groups, on registration pages, or through the External API.
Accessibility
Each attribute has Attribute accessibility:
| Setting | Meaning |
|---|---|
| Required | Always visible; the person must set a value |
| Optional | Always visible; editable |
| Locked | Always visible; not editable |
| Hidden | Not visible and not editable on the profile |
| Custom | Shown only when Show when conditions match; otherwise treated as hidden |
Registration pages can still collect or set values for attributes with different accessibility at signup—see Registration Pages.
Custom Visibility (Show When)
Use Custom when a field should appear only for certain answers on another attribute—for example show a free-text Agency field only when Employment type is Contractor.
When Attribute accessibility is Custom:
- Set When visible to Required or Optional (same meanings as the always-visible settings, but only while the field is shown).
- Under Show when, add one or more conditions. Every condition must match for the field to appear.
- For each condition, pick a Controlling attribute, then a match such as Is any of, Has any value, or Has all choices (same operators as smart group rules).
On hierarchical controlling attributes, choosing a parent under Is any of also matches that choice and everything nested under it.
While the field is hidden: its value is cleared, it is not editable, and Required does not apply. Profile, registration, and Users & Groups forms update which fields are shown as answers change. Saving still enforces the same rules.
Custom visibility does not replace nested choice trees (Hierarchy). Use hierarchy when people pick deeper options in one attribute; use Show when when a different attribute should appear based on another answer.
Reorder Attributes
On Configure → Attributes, drag the handle on a row (or move focus to it and use the up and down arrow keys) to set the order people see on profile, registration, and Users & Groups. Order is workspace-wide among the fields that are currently visible. Skillhabit does not block a dependent field from sitting above its controller—place controlling attributes first when that helps people fill the form.
Changing Attribute Type
Saving a change to an attribute’s type clears every user’s current value for that attribute.
When you change a Single Select or Multi Select attribute to a different type, Configure asks you to confirm before saving.
You cannot switch to Text while the attribute is referenced by a smart group rule. Plan type changes carefully—especially for attributes used in smart groups.
How to Add an Attribute
- Open Configure → Attributes.
- Choose Add Attribute.
- Enter Field name (and optional Field description).
- Set Attribute type, Attribute accessibility, and for select types Flat or Hierarchy. For Custom, set When visible and at least one complete Show when condition.
- For select types, add at least two choices (or import a list). With Hierarchy on, nest children under parents and set Hierarchy settings (Presentation, and for multi-select Allow multiple paths if needed). Use Allow Other when a level needs free text.
- Create the attribute.
Edit or delete attributes from the same list. Reorder the list when you want a different display sequence.
Map Directory Attributes Onto Skillhabit Attributes
When Entra, OpenID Connect, or SCIM should fill profile attributes, configure mappings under Configure → Connections → Attribute mappings—not on this Attributes list alone.
You map a source (OpenID Connect claim, Microsoft Entra property, or SCIM attribute) onto an existing Skillhabit attribute. For Single Select / Multi Select, choose whether unknown IdP values Match existing only or Create if missing.
Directory mappings fill flat choice values. Nested parent/child trees are configured in Skillhabit (or via the External API)—they are not required for mappings to work.
Full steps and behavior: User Provisioning → Map Directory Attributes.
Release the field from Entra, Okta, Auth0, or SCIM first: Add Attributes to IdP Tokens and Profiles.
Related
- Registration Pages
- Smart Groups
- Users & Groups
- User Provisioning — directory sync and attribute mappings
- Add Attributes to IdP Tokens and Profiles
- Hierarchical Custom Fields (External API)
- Configure