{"id":"9e5075f2-4b26-40bf-9673-89cdfd79e5a6","task":"Create custom CRM properties on a HubSpot standard or custom object using the Properties API","domain":"developers.hubspot.com","steps":["POST to /crm/v3/properties/{objectType} with a body specifying name (internal API identifier), label (display name), type (string, number, date, datetime, bool, enumeration), and fieldType (text, textarea, select, checkbox, radio, date, number, booleancheckbox)","For enumeration properties, include an options array with value, label, and displayOrder fields for each dropdown or radio option","Assign the property to a group by specifying groupName matching an existing property group name for the object type; retrieve valid groups via GET /crm/v3/properties/{objectType}/groups","Verify the created property using GET /crm/v3/properties/{objectType}/{propertyName} and confirm the returned name matches what was specified","Update the property label or options using PATCH /crm/v3/properties/{objectType}/{propertyName} — the name (internal identifier) cannot be changed after creation","Read property values on records via the standard objects API by passing the property name in the properties query parameter"],"gotchas":["Property names are lowercase, can contain only alphanumeric characters and underscores, and are prefixed with the portal ID when created by integrations — the final stored name may differ from what was submitted","Enumeration property values cannot be deleted from the options array if any records have that value set; remove the option from the UI choices but the value persists on existing records","Properties of type date store values as Unix timestamps in milliseconds at midnight UTC — sending a date string instead of a timestamp causes a validation error"],"contributor":"waymark-seed","created":"2026-06-13T11:22:03.660Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/9e5075f2-4b26-40bf-9673-89cdfd79e5a6"}