Skip to main content
Use these 6 tools to read and set properties on contacts, customers, and businesses, and to manage the property definitions they use. Reading or writing a record’s properties also needs read access to that record, allowed without approval: contacts:read, customers:read, or businesses:read. Values pass as one value field: text, a number, true/false, or a list of text for multi-select properties.

Values on a record

listProperties

List every property that applies to a contact, customer, or business, including properties with no value yet. Properties with a confirmed value come first. Permission: properties:read Parameters: Returns: properties, each with its key, label, valueType, description, and select options; the confirmed value or null; and suggested values with their sources. dismissed is included only when you ask for it.

setProperty

Set a property on a record. The first value written under a new key creates the property, with its type taken from the value unless you pass valueType. A confirmed value replaces the current one. A suggested value waits for the user to confirm or dismiss it. Permission: properties:write Parameters: Returns: status and definitionCreated, which is true when this call created the property. With status: "set", property holds the written value. With status: "suppressed", nothing was written: the user already dismissed this value, or it’s already the confirmed value (reason).

removeProperty

Clear a property’s confirmed value on a record. Suggestions awaiting the user stay, and the property itself stays available. Agents ask before removing by default, so this tool is unavailable over MCP until the agent allows properties:delete. Permission: properties:delete Parameters: Returns: status: "removed", or status: "not_found" when the record has no confirmed value for that key.

Property definitions

listPropertyDefinitions

List the organization’s property definitions, newest first. Permission: properties:read Parameters: Returns: definitions and the total count.

updatePropertyDefinition

Change a property’s label, description, select options, or the kinds of record it applies to. options and objectTypes replace the current lists, and removing an option or record kind that values still use fails. A property’s type can’t change: retire it with retirePropertyDefinition and set values under a new key. Permission: properties:write Parameters: Pass at least one change besides key. Returns: The property definition.

retirePropertyDefinition

Retire a property. Its values stop appearing on every record, and the key becomes free for a new property. Agents ask before retiring by default, so this tool is unavailable over MCP until the agent allows properties:delete. Permission: properties:delete Parameters: Returns: The retired property definition.
Last modified on October 10, 2026