---
title: Add a field and pick the right type
url: https://tideswell.xyz/docs/objects/add-a-field
description: Add a field to an Object, and pick the type that matches what you are recording.
---

> Documentation index: fetch https://tideswell.xyz/llms.txt to discover every page before exploring further.

# Add a field and pick the right type



A field is one box of information on a record: a serial number, a fault description, the
mill a fabric came from. Fields belong to an **Object**, which is a kind of record your team
defines, and you add them on that Object's own page in **Settings › Objects**, one at a time.
If Objects are new to you, read <Ref to="objects" /> first, because a field only makes sense
once you know what it sits on.

Decide the label and the type before you press **Save field**, because both are fixed
afterwards. That is the whole reason <Ref to="objects/plan-your-fields-first" /> is worth
four minutes before you start, and it sets out what correcting one costs.

## Before you start [#before-you-start]

You need to be an admin, because **Settings › Objects** appears only for admins of the
workspace.

You also need the Object itself to exist. If it does not yet, follow
<Ref to="objects/create-an-object" /> first. A brand new Object starts with a single
**Name** field, and everything else on it is something you add here.

## Add a field [#add-a-field]

1. Open **Settings › Objects** and click the Object, for example Repairs.
2. Press **Add field**.
3. Type a **Label**, up to 60 characters. This is what your team reads on the record, so
   use their words: "Serial number", "Fault reported", "Mill".
4. Open the **Type** menu and choose a type. The menu is grouped under four headings, and
   every row shows an icon, the name and a one line description of what that field holds.
   Type the first letters of a type's name to jump straight to it.
5. Fill in anything that type asks for. An options list wants its choices, a linked record
   wants to know what it points at.
6. Tick **Required** if a record makes no sense without it.
7. Press **Save field**, or **Cancel** to discard it.

Give each field a distinct label. Avoid naming one "Status": that word belongs to the
record's own stage control, so call it something like "Review status" instead. The stages a
record moves through are set up separately, in <Ref to="objects/stages" />.

New fields land at the bottom of the list. Move them with the up and down arrows on the left
of each row, because the first six become the columns people see on the record list.

## Which type do I actually need? [#which-type-do-i-actually-need]

There are seventeen types you can pick by hand, grouped into four headings in the Type
menu. Read the group name first, then the row. Most fields are obvious once you decide
whether the value is typed freely, chosen from a list, or points at something else in
Tideswell.

### Basic [#basic]

* **Text**: a short line, such as a name or a SKU.
* **Long text**: a paragraph, such as notes or a description.
* **Checkbox**: yes or no.
* **Date**: a single day.
* **Date and time**: a day and a time.
* **Email**: an address you can write to.
* **Phone**: a number you can call.
* **Website**: a web address you can open.

### Numbers [#numbers]

* **Number**: a plain number, such as a quantity or a count of units.
* **Money**: an amount, shown with a currency.
* **Percent**: a share out of 100.

### Choices & links [#choices--links]

* **Options list**: pick one from a set list you write.
* **Multi-select**: pick any number from that same list.
* **Linked record**: points at a record on another Object, such as a supplier.
* **Person**: someone on your team.

### Files & IDs [#files--ids]

* **File**: files people upload to the record.
* **Reference number**: counts up on its own, so every record gets its own number.

Options lists, multi-selects and reference numbers each have a little more to them, and
they are covered in <Ref to="objects/choice-lists-and-reference-numbers" />.

## How do I choose between the types that look alike? [#how-do-i-choose-between-the-types-that-look-alike]

Four pairs cause almost all of the regret. In each case the freer type accepts anything,
which feels safer in the moment and is the reason a list cannot be narrowed six months
later.

* **Text or Options list.** If the answer is one of a fixed set, we recommend Options list.
  "Warranty, Paid, Goodwill" as an options list can be filtered and grouped. The same three
  words typed into a text box are just words.
* **Text or Email, Phone and Website.** Use the specific one. An Email field is tidied to
  lower case and checked for shape. A Website field gets `https://` added if you leave it
  off, and opens in one click. A Phone number is kept exactly as your team typed it.
* **Number, Money or Percent.** Money for anything with a currency, such as a repair
  charge. Percent for a share, such as a margin. Number for a count of things.
* **Person or Linked record.** Person is for a colleague in this workspace. Linked record
  is for a record on another Object: the supplier, the product, the purchase order. Setting
  that up, including the panel it can add to the record it points at, is in
  <Ref to="objects/link-objects" />.

If the value can be worked out rather than typed, do not add it as a typed field at all.
Tick **Use a formula** in the same dialog and the field fills itself in from other fields,
from linked records, or from a date. That path is covered in
<Ref to="objects/calculated-fields" />.

## Read the two warnings before you save [#read-the-two-warnings-before-you-save]

Two types show an amber warning the moment you pick them. Both are worth acting on, because
both describe something you cannot see from the field list afterwards.

**Money says values are replaced, not adjusted.** When someone edits a Money field, the
new amount takes the place of the old one. That is exactly right for a repair charge, a
quoted unit cost or a deposit.

It is wrong for a running balance that something is meant to subtract from, and wrong for
a stock level. If you want a total that keeps itself current, build it as a calculated
field instead.

**File says everyone who can view this Object sees every field on it, files included.** So
an invoice or a supplier contract attached to a repair is readable by anyone who can open
Repairs. If some of what you are about to record should be seen by fewer people, the lever
is the View dial on the Object itself. Decide that before you attach anything sensitive,
not after: <Ref to="objects/permissions" /> is the page for it.

## Should I tick Required? [#should-i-tick-required]

Tick it when a record genuinely makes no sense without the value, and tick it while the
Object is still empty. Required is set once, when you create the field, so the honest moment
to make the call is before there are records to argue with.

A few notes on how it behaves:

* Required is judged when someone saves the record, and the prompt names the field.
* A Checkbox counts as answered either way. Ticked and unticked are both real answers, and
  only a genuinely untouched one is refused.
* Required does not apply to a Reference number, a File field or a calculated field,
  because the value does not come from the person filling in the form.
* On an Object that already holds records, add new fields as optional. Fairgreen Golf Co.
  added "Courier" to Repairs in month four, and the four hundred repairs already logged had
  no courier to give it.

## Which fields can you filter a list by? [#which-fields-can-you-filter-a-list-by]

Five types: **Text**, **Money**, **Date**, **Options list** and **Linked record**. If you
will ever want to narrow a record list by something, make it one of those five. You make
that decision here, when you pick the type, rather than later on the list itself.

This is the thing people most often wish they had known. "Which repairs came from Kaimen
Knitwear" is one click when the mill is a Linked record, and a scrolling exercise when it is
a line of text.

Once your fields are in, put the first records in with
<Ref to="records/add-and-edit-a-record" />. Saving a narrowed list for your team is
<Ref to="records/filter-and-save-a-view" />.
