Skip to main content

Custom Attributes

Custom Attributes, also called Custom Fields, let you add structured information to Harmony objects beyond the fields that are included by default. They are useful when your team tracks business-specific details such as lead score, deal stage, industry, region, contract value, renewal date, or internal ownership information.

The settings page is labelled Attributes in the navigation. From this page, admins can define the extra fields that appear across the workspace and decide how those fields behave when users create, edit, filter, or sync records.

Where to manage them

Open Workspace Settings and select Attributes. The page is organised into tabs, with one tab for each object type that can have Custom Attributes. Choose the tab for the object you want to extend before creating or changing a field.

Managing Custom Attributes requires the relevant custom-fields:*:all permissions. Users with custom-fields:read:all or custom-fields:read:team can view field definitions, while creating, editing, reordering, and deleting fields require the corresponding create, update, or delete permissions. By default, only the Admin role has these permissions. See Roles and Permissions for more detail.

Supported objects

Custom Attributes can be added to five object types: Contacts, Meetings, Accounts, Goals, and Users. Each object type has its own tab on the Attributes page, and fields created on one tab only apply to that object type.

For contacts, Custom Attributes are often used for details such as lead score, industry, company size, lifecycle stage, or customer tier. For meetings, they can capture conversation-specific information such as call type, deal value, close probability, campaign name, or region. For accounts, they are a good place for company-level data such as annual revenue, contract value, renewal date, or territory.

Goal attributes usually describe how a goal should be grouped or measured, such as goal category, linked campaign, or target amount. User attributes are tied to workspace members and can represent internal data such as employee ID, department, hire date, or quota.

Harmony does not currently provide Custom Attributes for relationships or for the organization itself. If you need to track data at the company level, use an Account attribute where possible.

Field types

Harmony supports six field types. Choose the type that most closely matches how users should enter the value and how your team expects to filter or sync it later.

Use Text for short free-form values that do not need numeric sorting or calculation. Use Number for integers or decimals, including values such as contract size, score, percentage, or quota. Use Date when the value is a specific calendar date, such as a renewal date or target date.

Use Boolean when the value is simply true or false. In the UI, Boolean attributes appear as checkboxes. Use Single Select when users should choose exactly one option from a predefined set, and use Multi Select when more than one option can apply.

Harmony does not currently include separate field types for URL, email, currency, percentage, date and time, date range, reference, long text, or radio buttons. For URLs and email addresses, use Text. For currency and percentages, use Number and make the unit clear in the field name, such as Deal Value (USD) or Discount Percentage.

Create a Custom Field

To create a field, go to Settings -> Attributes, select the tab for the object type, and click Add Custom Field. The form asks for a name, key, type, and any type-specific settings.

The Name is the label users see in Harmony. Choose a name that is clear on its own, because it will appear in forms, properties panels, filters, and field mapping screens. For example, Deal Value (USD) is more useful than Value because it explains both the meaning and the unit.

The Key is the internal identifier used by the API and integrations. Harmony suggests a key from the field name, but you should review it before creating the field because the key cannot be changed later. Keys must be alphanumeric with underscores and cannot contain spaces. A key such as renewal_date or customer_tier is usually easier to work with than a vague key such as status_2.

The Type controls what kind of value the field stores. This choice is permanent after the field is created, so it is worth deciding whether the data should be free text, numeric, date-based, true or false, or selected from a controlled list.

For Single Select and Multi Select fields, you also define the available options. Each option has a Value, which is used internally and in the API, and a Label, which is displayed to users. At least one option is required before the field can be created.

You can mark a field as required if users must fill it in when creating or editing the object. Required fields are best reserved for information that is genuinely necessary, since too many mandatory fields can slow down day-to-day work. You can also add a description to explain what the field means or when it should be used.

When you click Create, the field appears immediately on all objects of that type across the workspace.

Edit a Custom Field

To edit a field, go to Settings -> Attributes, open the correct object type tab, find the field, and click Edit. You can update the display name, description, required setting, and, for select fields, the available options. Click Update to save your changes.

Some parts of a Custom Attribute are intentionally permanent. You cannot change the field type after creation, because existing values are stored according to that type. You also cannot change the key, because the key may already be used by the API, integrations, filters, or synced data. Finally, you cannot move a field from one object type to another.

If you need a different type, key, or object type, create a new field with the correct settings, move or re-enter the data, and then delete the old field when it is no longer needed.

Reorder Custom Fields

You can drag and drop fields within a tab to control the order in which they appear in forms and detail views. The new order saves automatically. Reordering requires the custom-fields:update:* permission.

Delete a Custom Field

To delete a field, go to Settings -> Attributes, find the field on the correct tab, click Delete, and confirm the action in the dialog.

Deleting a Custom Field permanently removes all values stored in that field across all objects of that type. This action cannot be undone. The confirmation dialog reads: "Are you sure you want to delete the [field name] field? This action will also remove all stored values for this field and cannot be undone."

Harmony does not currently offer a soft delete or a way to hide a field while keeping its data. If you are unsure whether a field is still needed, export or preserve the data elsewhere before deleting it.

Visibility

Custom Attributes are visible to anyone who can read the underlying object. There is no separate per-role or per-team visibility setting for an individual field.

For example, a Meeting attribute is visible to users whose role allows them to read that conversation, and a Contact attribute is visible to users whose role allows them to read that contact. Visibility follows the workspace permission model for the object type. See Roles and Permissions for the full permission model.

Use Custom Fields

In the UI

Custom Attributes appear in the Properties panel for conversations, contacts, accounts, and user profiles. They also appear in create and edit forms for the object type, where required fields must be filled in before the record can be saved. Goal attributes appear on the goal detail view.

Users fill in Custom Attributes like any other field. Text and number fields accept direct input, date fields use a date picker, Boolean fields appear as checkboxes, and select fields show the options configured by an admin.

In filters

Custom Attributes can be used to filter lists such as Meetings -> Browse or Contacts. Open the relevant list, click Filter, and find the Custom Attribute in the available filter options. Filtering works best when the field uses consistent values, which is why Single Select and Multi Select fields are often better than free text for categories.

Via the Public API

Pass Custom Field values using the customFields parameter on API requests:

{
"customFields": {
"deal_value": 50000,
"industry": "technology",
"lead_score": 85
}
}

The key in the request must match the field's Key value, not the display name users see in Harmony. You can check Settings -> Attributes to confirm the exact key for each field. See API access for authentication and rate-limit details.

Via integrations

When syncing from a CRM such as HubSpot, Salesforce, or Pipedrive, you can map CRM properties to Harmony Custom Attributes. Open the integration's manage page from Marketplace -> Installed, go to Field Mappings, and connect the CRM property to the matching Harmony field.

Data flows in the direction you configure, which can be Inbound, Outbound, or Bidirectional. See Workspace integrations.

Uniqueness

Within a workspace, the combination of Key and Entity Type must be unique. This means you can have a region field on Contacts and another region field on Meetings, because they belong to different object types. You cannot have two region fields on Contacts.

Best practices

Use names that explain the meaning of the data without relying on surrounding context. A field called Deal Value (USD) is clearer than Value, especially when it appears in filters, integrations, or exported data.

For categorical data, prefer Single Select or Multi Select fields over free text. A fixed set of options prevents spelling variations, makes filtering more reliable, and keeps synced data cleaner.

Create fields only when the information is useful to your team. Every Custom Attribute adds another item to forms and properties panels, so unused fields can make records harder to scan.

Be selective with required fields. Required fields are helpful when the data is essential, but too many required fields create friction and can slow down users who are trying to save updates quickly.

Choose keys carefully. The key is permanent and may be used by the API or integrations, so descriptive keys such as deal_value, customer_tier, or renewal_date are easier to maintain over time.

For permission details, see Roles and Permissions. To sync Custom Attributes from a CRM, see Workspace integrations. To pass Custom Attribute values through the Public API, see API access.