For the complete documentation index, see llms.txt. This page is also available as Markdown.

Custom Properties

No two companies track the same things. Custom properties are how your process gets represented in Zero — renewal date, account tier, lead source, whatever you actually manage on. Define one per entity and it behaves like a standard property everywhere after that: list columns, filters, peeks, reports, agents, the API.

This page covers properties you fill in. For the ones an agent fills in, see AI Properties.

Manage custom properties

Settings → Workspace → Custom properties (admin only). The switch at the top moves between Companies, Contacts and Deals, each with its own set.

Custom properties settings on the Companies tab, listing property names with their field types and AI-enriched flags

The table shows each property's name, type, and whether it is Custom (filled by hand) or AI Enriched. Search columns... filters by name; click a row to edit it.

Create a property

  1. Click New property to open the Create new property modal.

  2. Enter a Property name and pick a Property type.

  3. Add a description. Worth doing: teammates read it, and so do agents — they match against the name, description and option names when searching your properties.

  4. For Single Select and Multi Select properties, configure the option list (see below).

  5. To have AI fill the property automatically, turn on Use AI to fill this property and write a prompt — see AI Properties.

  6. Click Save.

Property type dropdown open, listing Plain Text, Rich Text, Number, Percentage, Yes/No, Link, Currency and more

You can also create one without leaving what you are doing: from a list view's Properties menu, Add a property → Create a new custom property (it becomes a visible column right there), or during a CSV import, when Chat proposes properties for columns that have no match.

Property types

Type
API key
Notes

Plain Text

text

Single-line text.

Rich Text

richtext

Formatted text.

Number

number

Numeric value.

Percentage

percentage

Numeric value shown as a percentage.

Yes/No

boolean

True/false toggle.

Link

link

URL.

Currency

currency

Monetary amount.

Email address

email

Email address.

Phone number

phone

Phone number.

Single Select

select

One value from a configurable option list.

Multi Select

multiselect

Multiple values from a configurable option list.

Single User

user

One workspace member.

Multiple Users

users

Multiple workspace members.

Date

date

Calendar date.

Time

timestamp

Date and time.

Location

location

Geographic location (city, state, country).

Rating

rating

1–5 star rating.

Company

company

Relation: links one company record.

Companies

companies

Relation: links multiple company records.

Contact

contact

Relation: links one contact record.

Contacts

contacts

Relation: links multiple contact records.

Deal

deal

Relation: links one deal record.

Deals

deals

Relation: links multiple deal records.

Select options

Select and Multi Select properties carry their own option list. Add option adds one, with a name and a color Zero picks for you (changeable via the palette button), and the grip handle reorders them.

The x button does not destroy an option: it moves to a Removed options section where you can restore it, or delete it permanently.

Change a property's type

The edit modal lets you change an existing property's type. Zero confirms first — "Your existing data will be migrated to the new type" — then migrates values in the background for these conversions:

  • Plain field → Single/Multi Select (from Plain Text, Number, Percentage, Yes/No, Link, Currency, Email address, or Phone number): every distinct existing value becomes a select option, and records are re-pointed at the matching option.

  • Single/Multi Select → plain field: option names become the stored values. Converting to Number, Currency, or Percentage keeps only values that parse as numbers; converting to Yes/No maps true/false/yes/no. A Multi Select converted to Plain Text joins the selected options with commas; converted to a single-value type it keeps the first selected option.

  • Single ↔ multi pairs (Single Select ↔ Multi Select, Single User ↔ Multiple Users, Company ↔ Companies, Contact ↔ Contacts, Deal ↔ Deals): single values are wrapped into a list, and lists are reduced to their first value.

Other type changes update the property definition without converting stored values.

Delete a property

Delete in a property row's ⋯ menu, after a confirmation. This is permanent.

Custom properties in the API and for AI agents

In the API the definitions are called columns: GET /api/columns gives each property's id, type and options. The values live on the records, in each record's custom object keyed by column id — read, filter and update them as custom.<column-id>. Always write individual keys with dot notation ({"custom.<column-id>": "value"}); replacing the whole custom object wipes the keys you left out. See the API docs.

Over MCP, assistants discover properties via get_workspace_metadata and find_custom_properties, and extend select properties with add_column_options.

Last updated