# Required markers

Source: /ux/style-and-usage/required-markers.md

- Summary: Mark a required input with an asterisk and an optional one with a degree sign, in the field name itself.
- Status: Adopted, since 2026-10-02
- Principles: Fewest inputs, Maximum intuition, One way
- Surfaces: Screen, Form

## When to use

Use it on every input column that an intake step shows, on every page and form that shows it.

## When not to use

Computed columns take no marker: formulas, lookups, rollups, counts, created and modified stamps, autonumbers. Columns outside every step take none either.

## How it works

### Mark a required input with `*`

A column that a step requires ends in `*`, with no space before it. The primary field follows the same rule.

Pass: every column listed as required in a step ends in `*`.

Replace this: Criteria
With this: Criteria*

### Mark an optional input with `°`

A column that a step shows and no step requires ends in `°`.

Pass: every shown input without `*` ends in `°`.

### Leave computed columns unmarked

A computed column carries no marker even when a step shows it. The header then tells the person what they must fill and what they only read.

Pass: no formula, lookup, rollup or stamp carries `*` or `°`.

Replace this: Intake step*
With this: Intake step

### Give one name one marker

The marker is part of the name, so it appears in filters, sorts and formula text too. A column required in one intake and optional in another has no valid name. Harmonise it, usually by requiring it in both.

Pass: no column is required in one intake and optional in another.

### Keep the markers on every page

Interface pages show the same names as the grid views, markers included.

Pass: every field shown on a page has the same marker it has in the table.

## Research

The markers come from the intake rules. The person in a grid view reads in the header what they must fill, the validator checks requiredness from the name alone, and the marker survives in expanded records, other views and exports. The pairing of `*` for required and `°` for optional is a reading of the original instruction, which named "obrigatório" twice. It follows the workspace's older base, which already used names such as `Full name*` and `Date of Birth*`.

This rule conflicts with the reviewer's CRM usability comparison (2026-09-29/30). On the person create form, Attio requires 0 fields and folk requires 1 (comparison, lines 17 to 28). The comparison says "Literal \* suffixes are not validation rules." (comparison, line 2987) and asks to "Remove the ° from Source°." (comparison, line 800). We keep the markers because the intake grid views have no other place to say a column is required: the column header is the only text the person sees. The rule stays adopted with the conflict open. A screen built for people outside the workspace has no grid view behind it, so the reason above does not hold there, and that case has not been decided.
