Source: https://www.revvly.ai/docs/guides/custom-fields

Guide

# Add *custom fields* and tags.

Record what Revvly does not ask for on its own, such as an account tier, a renewal owner or a contract link. Admins define the fields once; everyone with CRM fills them in on the client, contact or deal. This page covers how to create one, where it shows, who sees it, and what happens when you retire it.

## Know what you are creating

There are two things. A **custom field** is a named value with a type, such as Account tier (choose one) or Renewal owner (team member). It is defined for one record type: **Clients**, **Contacts** or **Deals**. A **tag** is a coloured label with no value, such as Strategic account. Tags are shared by all three record types, and a record can carry several.

Both need CRM. Defining them is for workspace admins and owners only. Anyone with CRM can then fill them in, except a field limited to a role (step 04).

## Create a field

Open the Custom fields screen and choose New field. Pick the record type, name the field, pick its type, and for a choice field write its options. Choose who can see it, then create it. The field is offered on that record type’s forms straight away.

Where: Settings > Workspace > Custom fields. The item appears for admins and owners in workspaces with CRM. Everyone else does not see it.

- **Text**: Free text, up to 2,000 characters.

- **Number**: A whole or decimal number.

- **Currency amount**: An amount of money, stored as a number.

- **Date**: A calendar day with no time, written YYYY-MM-DD in a file or the API.

- **Choose one**: One option from a list you write. Needs at least one option.

- **Choose several**: Any number of options from the list. Needs at least one option.

- **Team member**: A person in your workspace.

- **Web address**: A link. It must start with http:// or https://.

- **Yes / no**: A checkbox.

- Revvly makes the field’s **key** from its name, for example account_tier. The key never changes, even if the name does, and a new field never reuses the key of a retired one. The key is what email placeholders, files and the API use.
- **The type cannot be changed** once the field exists. To use a different type, create a new field and retire the old one.
- **Options cannot be removed** once added, because a record may still hold one. Each option keeps its key for life, so a reworded name keeps working.

- **Fields**: 50 per record type, retired fields included.

- **Field name**: Up to 60 characters.

- **Options**: Up to 50 per choice field, each name up to 60 characters.

- **Text value**: Up to 2,000 characters.

- **Tags**: A tag name is up to 40 characters. A record carries up to 25 tags.

## Create a tag

Tags live above the fields on the same screen. Type a name, pick a colour from the palette (six hues, gray, blue, teal, green, orange and red, each in four tints) and add it. Tag names are unique, and a colour can be changed later. Deleting a tag takes it off every client, contact and deal that carries it, so check how widely it is used first.

Where: Settings > Workspace > Custom fields > Tags

## Decide who sees a field

By default a field is open to everyone with CRM. Limit it to a role when the value is sensitive, such as an internal health note. Admins and owners hold every role, so they always see it. Change the setting any time from the Who sees column on the Custom fields screen.

- **Everyone with CRM**: The default. Anyone who can use CRM sees and fills in the field.

- **Customer-success managers and team leads**: People who hold the customer-success manager or team lead role.

- **Customer-success team leads only**: People who hold the team lead role. A manager does not see it.

A limited field is hidden everywhere the value could leak: the forms, the client page, the columns, the email placeholders and the API. It is also kept out of search, so nobody can confirm a value by searching for it.

## Fill them in and find them again

Fields and tags are set on the record’s own form, not on the Custom fields screen. This is where they show up once your workspace has defined some.

Where: Clients > open a client > Edit

- **Client form**: Edit a client, or add a new company, and the tags and custom fields sit in their own section. The section does not appear until your workspace has defined at least one.

- **Client page**: The details list shows the tags and the fields that have a value. Empty fields are left out, and so are fields the viewer may not see.

- **Contacts and deals**: The create and edit panels for a contact and for a deal carry the fields defined for that record type. A deal keeps what was entered on it once it becomes a client.

- **Clients list**: Every field is a column you can switch on in the Columns menu, and every field can be used as a filter beside tags. Field columns do not sort.

- **Search**: The Clients search and Cmd-K match text, web address and choice fields (a choice by its name). Numbers, dates, yes/no and team members are not searched, and neither is any field limited to a role.

- **Import**: The spreadsheet import maps a column to each company field, and suggests a column whose heading matches the field name. Team member fields cannot be filled from a file.

- **Email**: Write {{field.key}} in a template or an email to insert a client field. If the client has no value, or you may not see the field, it is left blank.

- **Merging clients**: Fields the kept client has no value for are filled from the other one. Where both clients have a value, you pick which to keep in the merge preview. Tags are combined.

- **Revvly Assistant**: Ask it to set or clear a client’s fields or tags by name. It shows a confirmation card first and applies the same rules as the form. It never creates a field or a tag.

- **Public API**: The client query returns customFields, read-only. See the API reference.

## Fill fields from a spreadsheet

During the CRM import you map a column to each company field. Each cell is read the way you would write it by hand:

- **Yes / no**: yes, y, true or 1 for yes. no, n, false or 0 for no.

- **Choose one**: The option’s name or its key.

- **Choose several**: Option names or keys, separated by ; or |.

- **Number and currency**: A number. Commas are ignored, so 1,200 reads as 1200.

- **Date**: YYYY-MM-DD.

- **Blank cell**: Nothing is set. A blank never clears a value.

A cell Revvly cannot read, such as an option that does not exist, names the field and the value so you can fix it. See [the CRM guide](https://www.revvly.ai/docs/guides/crm) for the rest of the import.

Where: Import > Contacts and companies

## Retire a field you no longer use

Choose Retire on the field’s row. A retired field is no longer offered on forms and no longer accepts values, but nothing is deleted: the values already stored are kept. Switch on Show retired to list retired fields, and choose Restore to bring one back. A retired field still counts toward the limit of 50, and its key stays reserved.

## Read fields from the API

Integrations read a client’s fields through the public GraphQL API. Each entry has the field’s key, name, type and value. The value is JSON-encoded in valueJson, and a choice holds option keys, not names. The list leaves out fields limited to a role. The public API only reads custom fields; set them in the app, from a file, or with the Assistant. See [the public GraphQL API reference](https://www.revvly.ai/docs/api/graphql-public).

