Custom objects & automation

Custom objects

Custom object types model records that don't fit Contacts, Companies, or Deals; installing a shipped template comes with your plan, while authoring a new type from scratch, with its own fields and stage sets, requires an upgraded plan.

Custom object types let you model records that do not fit Contacts, Companies, or Deals, such as a service request, a grant application, or a membership. Installing one of the shipped templates (Gift, Pledge, Membership, and others) comes with your plan. Authoring a brand-new type from scratch, with your own fields and stage sets, requires an upgraded plan.

What comes with your plan

Every workspace with the CRM module (the same module Deals and Workflows need) can open Objects and install any of the shipped templates. Opening the New custom type authoring screen and adding fields, validation rules, or stage sets to a type you build from scratch needs an upgraded plan. If your plan does not include authoring, that button is hidden, and a heads-up card explains that installing templates comes with your plan while creating new types from scratch requires an upgrade.

What each plan level can do with object types.
CapabilityIncluded with your planRequires an upgrade
Install a shipped system template
Author a new type from scratch
Add fields, validation rules, stage sets
Edit display name, icon, color, or view on an installed type

Creating a type

From the Objects page, click New custom type. The Type metadata form asks for:

  • Key: the immutable identifier (for example service_request). Required; lowercase letters, digits, and underscores, and it must start with a letter. An invalid key returns “Use lowercase letters, digits, and underscores. Must start with a letter.” A key already in use returns “An object type with key '…' already exists.”
  • Singular name and Plural name: both required, both editable later.
  • Icon: a Lucide icon name; defaults to circle.
  • Colour: one of fourteen swatches: blue, green, emerald, amber, red, rose, violet, indigo, teal, cyan, lime, orange, slate, or grey.
  • Default view: Table, Board (kanban, requires a stage set), Calendar (requires a date or datetime field), or List. Defaults to Table.
  • Primary relation: None, Contact, Organization, or Household. This ties every record to one primary entity (for example, each Gift links to a contact).

Click Create type. The type is created empty, and you land on its settings page to add fields and, optionally, a stage set. The new type does not become usable for operators until at least one field is defined.

Adding fields

Open the type's settings and use the Fields card. Click Add field (the first one reads Add first field). Each field has a key (lowercase letters, digits, underscores; must start with a letter) and a display name. A type needs at least one field before any records can be created.

There are 16 field types: text, long text, number, currency, date, date and time, checkbox, select (single choice), multi-select, URL, email, phone, and four relation types linking to a contact, organization, household, or another record. For select and multi-select fields, an Options box appears; enter one option per line. A plain line auto-derives a key and label, or use key:Display label to name both.

Each field carries a set of toggles: Required, Show in list-view table, Show in card view (board and calendar previews), Sensitive (mask from non-admins on an upgraded plan), Hide from filter rail, and Hide from sort headers. You can also add optional Help text shown as a hint below the input.

Editing a field reveals a Validation rules panel for the types that support it. Text and long-text fields take Min length, Max length, a Pattern (regex), and a custom Pattern error message. Number and currency fields take Min, Max, and Whole numbers only. Leave a rule blank to skip it. The other field types have no operator-configurable rules.

Reorder fields with the up and down arrows next to each row; the order here is the order operators see in forms, list columns, and detail views. Click the trash icon to archive a field: archived fields stop appearing on operator surfaces, but their stored values stay in the data, and they cannot currently be restored from this screen. Changing a field's type is not supported; archive it and add a new field instead.

Marking an existing field Required does not backfill records that already exist. The rule is enforced only on new records and imports.

Stage sets and board views

Stage sets define the kanban columns for a board view. They are optional; only types with a stage set support a board. In the Stage sets card, click Add stage set, give it a name, and choose whether to Use as default for new records. Only one set per type can be the default; new records start in that set's first stage. Use Set default to switch the default at any time, and Rename to change a set's name.

Expand a set and click Add stage to define a column. Each stage has a Key (same key rules), a Label, a Colour from the same swatch set, an optional Probability, and an optional Win condition. Stage order in the editor controls left-to-right column order on the board; use the up and down arrows to reorder, and the trash icon to archive a stage.

Probability is entered as a decimal between 0 and 1 (for example 0.50 for 50%); the editor shows it back as a percentage. A value outside that range returns “Pick a value between 0 and 1.” Probability is informational for operators: it is displayed but not enforced by the system.

Win condition is one of Active, Won, Lost, or none. Won and Lost mark a record as closed; Active keeps it open. These map to the record status filter, giving you open, closed won, and closed lost.

Default view and stages

Board view only surfaces when the type's default view is set to Board. If you set up stages but leave the default view as something else, the settings page notes that the stages still work, but the board will not appear until you switch the default view back to Board in the Type metadata card. Switching away from Board hides the board but never deletes the stages; they remain and can be restored by switching back.

System templates vs custom types

The Objects index labels each tile System template or Custom. System templates (Gift, Pledge, and others) ship with Reach: you can edit their display name, icon, colour, and default view, but their key and structural shape are managed by Mercleo, and they cannot be archived. Custom types are the ones you author yourself on an upgraded plan; they expose an Archive type card at the bottom of settings. Archiving hides the type from operator surfaces without deleting its records.

Updated