> For the complete documentation index, see [llms.txt](https://docs.ebbot.ai/ebbot-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ebbot.ai/ebbot-docs/integrations/automations-integrations/integration-setup-guides/hubspot-integration-in-automations/actions/update-ticket-custom-properties.md).

# Update Custom Ticket Fields

Updates fields of an existing HubSpot ticket, including custom fields, using a JSON object of property names and values. Use "Get Object Properties" first to find valid property IDs and values.

**Action identifier:** `update_ticket_custom_properties`. **Reference checked:** 29 September 2026.

## Inputs

| Field                     | Type   | Required/default | Meaning                                                                          |
| ------------------------- | ------ | ---------------- | -------------------------------------------------------------------------------- |
| `ticket_id`               | string | Required         | The ID of the ticket to update                                                   |
| `properties_json_payload` | string | Required         | A JSON object string of properties to update (e.g. '{"custom\_field": "value"}') |

## Output shape

Paths are relative to this action's output. Select them from the builder's variable picker; do not add a `ticket` wrapper to actions that return top-level fields. Nullable property fields and empty defaults are not proof that a value was retrieved.

| Path                                   | Type           | Meaning                                                                                                                                  |
| -------------------------------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `ticket`                               | object         | Returned ticket data; may be a default object when no data is returned.                                                                  |
| `ticket.id`                            | string         | HubSpot record ID.                                                                                                                       |
| `ticket.properties`                    | object         | Property values returned for this record; some declared fields may be empty.                                                             |
| `ticket.properties.subject`            | string \| null | The subject of the ticket                                                                                                                |
| `ticket.properties.content`            | string \| null | The main content/description of the ticket                                                                                               |
| `ticket.properties.hs_pipeline`        | string \| null | The pipeline ID                                                                                                                          |
| `ticket.properties.hs_pipeline_stage`  | string \| null | The pipeline stage ID                                                                                                                    |
| `ticket.properties.hs_ticket_priority` | string \| null | The priority of the ticket                                                                                                               |
| `ticket.properties.hs_ticket_category` | string \| null | The category of the ticket                                                                                                               |
| `ticket.createdAt`                     | string         | Creation timestamp returned by HubSpot; empty when unavailable.                                                                          |
| `ticket.updatedAt`                     | string         | Last-update timestamp returned by HubSpot; empty when unavailable.                                                                       |
| `ticket.archived`                      | boolean        | Archive flag returned by HubSpot; defaults to false when omitted.                                                                        |
| `ticket.full_conversation_content`     | string         | Empty in this action; the update does not fetch conversation content.                                                                    |
| `success`                              | boolean        | True when returned property values match the requested update. False can also mean a partial update; inspect the ticket before retrying. |
| `exists`                               | boolean        | False when no ticket data is returned. A handled 400 response sets this to true without a separate existence check.                      |

Property objects can contain additional fields returned by HubSpot. The declared fields above are not a promise that every property is populated.

## Behavior and limits

Pass a non-empty JSON object as a **string** using HubSpot's internal property names. Do not wrap it in another `properties` object. Discover valid fields and enumeration values with Get Object Properties or Get Property Details.

Invalid JSON, a non-object value and an empty object fail before the request. A HubSpot 400 returns `success: false, exists: true`; here `exists` is the action's error convention, not a separate successful existence check. A missing resource returns both flags false. Other request errors can fail the node.

After an update, requested and returned properties are compared. Missing or changed values set `success: false`, even if some fields were already written. Empty string and null are treated as equivalent by this comparison. Read back the actual properties before retrying a partial update.

The returned ticket does not contain a refreshed transcript.

See [Troubleshooting](/ebbot-docs/integrations/automations-integrations/integration-setup-guides/hubspot-integration-in-automations/troubleshooting.md) for request errors and retry behavior, or return to the [action catalog](/ebbot-docs/integrations/automations-integrations/integration-setup-guides/hubspot-integration-in-automations/actions.md).
