Skip to content

Add support for new property Documentation fields (Data entry instructions + per-option descriptions) #5

Description

@chad-hohn-radai

Summary

HubSpot recently shipped a new Documentation tab on the property editor UI (Apr 2026, currently rolling out; not yet in public KB docs as of this writing). It introduces three fields:

  1. Property description — the same field as the legacy description on the v3 properties endpoint. Round-trips through this MCP server correctly.
  2. Data entry instructions (new) — per-property text explaining how users and Breeze agents should populate the property.
  3. Option descriptions (new) — per-option text on enumeration properties explaining when each option should be selected. Feeds Breeze agents.

Neither of the two new fields is exposed by this MCP server today, and testing shows the new "Option descriptions" feature is stored separately from the legacy options[].description field in the v3 API.

Reproduction

Tested on a Deal enumeration property (rfx_procurement_vehicle) in an Enterprise portal.

1. Data entry instructions — not in API at all

Setting this field via the UI does not cause it to appear in hubspot-get-property. The response contains no dataEntryInstructions (or similarly named) key at any level.

2. Option descriptions — separate storage from options[].description

Using hubspot-update-property to write options[].description on all four enum values:

{
  "options": [
    { "label": "RFP", "value": "rfp", "description": "Request for Proposal. ..." },
    { "label": "RFI", "value": "rfi", "description": "Request for Information. ..." },
    { "label": "RFQ", "value": "rfq", "description": "Request for Quote. ..." },
    { "label": "Sole Source", "value": "sole_source", "description": "Non-competitive procurement. ..." }
  ]
}
  • hubspot-update-property response echoes the descriptions back.
  • A subsequent hubspot-get-property returns all four descriptions cleanly, and updatedAt bumps.
  • However, opening the property in the HubSpot UI and navigating to Documentation > Option descriptions shows only the description that was set via the UI earlier. All four options show "No option description added" for the text written via the MCP, even though the API GET just returned those values.

This indicates that the new Documentation > Option descriptions UI writes to a distinct backing store, and the legacy options[].description field the MCP exposes is a different (orphaned?) field that is not surfaced anywhere in the new UI.

3. updatedAt behavior confirms separate storage

Editing the new Documentation fields in the UI does NOT bump the property's updatedAt in the v3 API response, whereas editing options[].description via the API DOES bump it. Two different persistence paths.

Requested behavior

Once HubSpot's CRM team exposes these fields on the v3 properties endpoint (or through whatever Breeze-documentation endpoint they're living on today), please:

  1. Return a dataEntryInstructions (or equivalent) field on hubspot-get-property.
  2. Return the new per-option descriptions inside the options[] array on hubspot-get-property, with a clearly distinct key if they have to coexist with the legacy options[].description.
  3. Accept writes for both fields on hubspot-create-property and hubspot-update-property.

Why this matters

The new Documentation feature is explicitly designed to improve Breeze agent results ("Documentation improves the quality of results from Breeze agents"). First-class MCP support is especially valuable for anyone bulk-configuring enumeration properties that Breeze agents will populate — which is a common RevOps pattern.

Environment

  • @hubspot/mcp-server via npx
  • HubSpot Enterprise portal
  • Observed: April 2026

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions