Skip to main content

Lead custom fields

What this page is — extra fields you can add to the lead record, defined once and available on every lead.

What it is for — capturing what your business actually qualifies on — industry, company size, budget, whether the contact can sign — without waiting for a product change.

The problem it solves — the built-in fields do not know your sales process. Custom fields let you record it, and they are the main thing scoring and assignment rules test. This page also covers the payload mistake that makes custom-field values invisible while appearing to save.

Route: /org/marketing/leads/settings?tab=fields Permissions: View custom field definitions · .create · .edit · .delete Section revealed by: Manage Lead Pipelines

The section is revealed by the PIPELINES permission

Custom Fields has its own four permissions for the definitions themselves, but whether the section appears in the hub at all is decided by Manage Lead Pipelines. Granting the custom-field permissions alone does not reveal it.


1. What a custom field is​

Figure 1 — Definitions. This example has 15, across seven field types.
Custom fieldTagNative field
StructureTyped, optionally with optionsA free labelFixed
Defined onceYesNo—
Testable by rulesYesNoYes
Exampleindustry = Healthcareq3-targetcompany_name

2. Field reference — the definition​

Figure 2 — Defining a field. The key is what rules and integrations use.
FieldNotes
Field nameThe label shown on the record
Field keyThe identifier. This is what scoring rules and integrations must use
Typetext · textarea · number · date · boolean · url · select · multi_select
OptionsFor select and multi_select — the permitted values
RequiredWhether the record demands it
The KEY is the contract

A rule condition names is_decision_maker, not Decision Maker. Renaming a label is safe; changing a key breaks every rule and integration that references it.


3. How values reach a lead​

PathNotes
The lead record's Custom Fields panelThe adder offers definitions with no value yet
API or webhook, in custom_fieldsMust be a JSON object
Bulk updateFor a selection
CSV importNot supported — the importer reads four columns only
Values must arrive as a JSON object

Integration platforms commonly stringify nested JSON by default. If custom_fields arrives as text containing JSON rather than as an object, the request is rejected with "custom_fields must be a JSON object" — so the problem surfaces at the integration, not weeks later as rules that quietly do not match. See the webhook reference.


4. The admin contract​

NeedsOr
Definitions before valuesValues are stored and displayed nowhere
Keys matching what integrations sendSame
manage_pipelinesThe section is hidden
Options on a selectThe picker is empty

5. Downstream​

A custom field reachesAs
The lead recordThe Custom Fields panel
Scoring rulesA testable condition field
Assignment rulesA testable condition field
Quality reportA segmentation dimension

6. Don't confuse this with…​

ThisNot this
Field keyField name
A custom fieldA tag
A select field's optionsLead grades or statuses

7. Troubleshooting​

SymptomCause
An integration's values never arriveIts request is being rejected — check for the custom_fields error. Section 3
A rule on a custom field does not matchCheck the rule names the field key, not its label. Section 2
Section missing from the hubNeeds manage_pipelines. Section header
Import ignored custom-field columnsThe importer reads four columns only
A rule cannot find a fieldIt names the label instead of the key. Section 2