HubSpot

Update HubSpot Contact Property

Sets one fixed property on a contact, found by email.

Unverified

What the model is told

Update one agreed property on an existing HubSpot contact, such as a preference or consent flag. Use it only after the customer has given their email address, and confirm the new value with them first. Returns the updated contact, or a 404 if no contact has that email.

Request

PATCHhttps://api.hubapi.com/crm/v3/objects/contacts/{{email}}?idProperty=email

Headers

  • Content-Typeapplication/json
  • AuthorizationBearer YOUR_HUBSPOT_PRIVATE_APP_TOKEN

Body

{
  "properties": {
    "YOUR_PROPERTY_INTERNAL_NAME": "{{propertyValue}}"
  }
}

Parameters

  • email stringThe email address of the contact to update.
  • propertyValue stringThe new value for the property.

Engage payload

{
  "source": "VOICE_AI",
  "tool": {
    "id": "3bd68aaf-60b9-45ab-99b1-5062f5fc4e5d",
    "type": "HTTP_REQUEST",
    "label": "Update HubSpot Contact Property",
    "name": "update_hubspot_contact_property",
    "customName": false,
    "description": "Update one agreed property on an existing HubSpot contact, such as a preference or consent flag. Use it only after the customer has given their email address, and confirm the new value with them first. Returns the updated contact, or a 404 if no contact has that email.",
    "parameters": [
      {
        "name": "email",
        "type": "string",
        "description": "The email address of the contact to update."
      },
      {
        "name": "propertyValue",
        "type": "string",
        "description": "The new value for the property."
      }
    ],
    "config": {
      "endpoint": {
        "method": "PATCH",
        "url": "https://api.hubapi.com/crm/v3/objects/contacts/{{email}}?idProperty=email"
      },
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Authorization",
          "value": "Bearer YOUR_HUBSPOT_PRIVATE_APP_TOKEN"
        }
      ],
      "body": "{\n  \"properties\": {\n    \"YOUR_PROPERTY_INTERNAL_NAME\": \"{{propertyValue}}\"\n  }\n}",
      "timeout": null
    }
  }
}

IDs are regenerated on every copy.