hubspot-create-property
Create custom properties for HubSpot object types to customize data structures. Use after verifying property needs and ensuring no duplicates exist.
Instructions
🛡️ Guardrails:
1. Data Modification Warning: This tool modifies HubSpot data. Only use when the user has explicitly requested to update their CRM.
🎯 Purpose:
1. Creates new custom properties for HubSpot object types, enabling data structure customization.
📋 Prerequisites:
1. Use the hubspot-get-user-details tool to get the OwnerId and UserId if you don't have that already.
2. Use the hubspot-list-objects tool to sample existing objects for the object type.
3. If hubspot-list-objects tool's response isn't helpful, use hubspot-list-properties tool.
🧭 Usage Guidance:
1. Use this tool when you need to create a new custom property for a HubSpot object type.
2. Makes sure that the user is looking to create a new property, and not create an object of a specific object type.
3. Use list-properties to get a list of all properties for a given object type to be sure that the property does not already exist.
4. Use list-properties to to understand the data structure of object properties first.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
calculationFormula | No | A formula that is used to compute a calculated property | |
description | No | A description of the property that will be shown as help text | |
displayOrder | No | The order for displaying the property (lower numbers displayed first) | |
externalOptions | No | Only for enumeration type properties. Should be set to true in conjunction with a referencedObjectType | |
fieldType | No | Controls how the property appears in HubSpot | text |
formField | No | Whether the property can be used in forms | |
groupName | Yes | The name of the property group the property belongs to | |
hasUniqueValue | No | Whether the property's value must be unique | |
hidden | No | Whether the property should be hidden in HubSpot | |
label | Yes | A human-readable property label that will be shown in HubSpot | |
name | Yes | The internal property name, which must be used when referencing the property via the API | |
objectType | Yes | The type of HubSpot object to create the property for. Valid values include: appointments, companies, contacts, courses, deals, leads, line_items, listings, marketing_events, meetings, orders, postal_mail, products, quotes, services, subscriptions, tickets, users. For custom objects, use the hubspot-get-schemas tool to get the objectType. | |
options | No | A list of valid options for enumeration properties | |
type | No | The data type of the property | string |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"calculationFormula": {
"description": "A formula that is used to compute a calculated property",
"type": "string"
},
"description": {
"description": "A description of the property that will be shown as help text",
"type": "string"
},
"displayOrder": {
"description": "The order for displaying the property (lower numbers displayed first)",
"type": "integer"
},
"externalOptions": {
"description": "Only for enumeration type properties. Should be set to true in conjunction with a referencedObjectType",
"type": "boolean"
},
"fieldType": {
"default": "text",
"description": "Controls how the property appears in HubSpot",
"enum": [
"text",
"textarea",
"date",
"file",
"number",
"select",
"radio",
"checkbox",
"booleancheckbox",
"calculation"
],
"type": "string"
},
"formField": {
"description": "Whether the property can be used in forms",
"type": "boolean"
},
"groupName": {
"description": "The name of the property group the property belongs to",
"type": "string"
},
"hasUniqueValue": {
"description": "Whether the property's value must be unique",
"type": "boolean"
},
"hidden": {
"description": "Whether the property should be hidden in HubSpot",
"type": "boolean"
},
"label": {
"description": "A human-readable property label that will be shown in HubSpot",
"type": "string"
},
"name": {
"description": "The internal property name, which must be used when referencing the property via the API",
"type": "string"
},
"objectType": {
"description": "The type of HubSpot object to create the property for. Valid values include: appointments, companies, contacts, courses, deals, leads, line_items, listings, marketing_events, meetings, orders, postal_mail, products, quotes, services, subscriptions, tickets, users. For custom objects, use the hubspot-get-schemas tool to get the objectType.",
"type": "string"
},
"options": {
"description": "A list of valid options for enumeration properties",
"items": {
"additionalProperties": false,
"properties": {
"description": {
"description": "A description of what the option represents",
"type": "string"
},
"displayOrder": {
"description": "The order for displaying the option (lower numbers displayed first)",
"type": "integer"
},
"hidden": {
"description": "Whether the option should be hidden in HubSpot",
"type": "boolean"
},
"label": {
"description": "The human-readable label for the option",
"type": "string"
},
"value": {
"description": "The internal value for the option, which must be used when setting the property value",
"type": "string"
}
},
"required": [
"label",
"value"
],
"type": "object"
},
"type": "array"
},
"type": {
"default": "string",
"description": "The data type of the property",
"enum": [
"string",
"number",
"date",
"datetime",
"enumeration",
"bool"
],
"type": "string"
}
},
"required": [
"objectType",
"name",
"label",
"groupName"
],
"type": "object"
}