Skip to main content

Custom fields

Entities that support custom fields use the cf_ prefix. Send values as top-level keys on create and update; responses return the same keys on the resource object — not inside a customFields property.

Supported resources

Naming convention

Custom field keys are derived from the field label in Heffl:
  1. Lowercase the label
  2. Replace spaces with underscores
  3. Prefix with cf_

Example — create

Example — update

On update, custom fields are merged with existing values. Omitted cf_* keys are left unchanged.

Responses

Custom field values appear as top-level cf_* keys on the resource (in list data items and on create/update/get responses). There is no customFields object in API v2.
Deal example:
Configured fields may appear with null when unset (especially on list rows).

Validation

  • Only documented fields and cf_* keys are allowed — unknown fields return a validation error
  • Field types must match the custom field definition in your workspace (text, number, date, etc.)
Configure custom fields in Settings → Custom fields in the Heffl app.

Discover field keys via API

List definitions (key, label, type, allowed values) before writing integrations:
Supported entity values: contacts, companies, deals, tasks. For deals, pass pipelineId to include pipeline-scoped fields.