> 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/add-internal-ticket-note.md).

# Add Internal Ticket Note

Adds an internal note to a ticket in HubSpot for team context or agent handover. This action does not send a customer reply. Access to the stored content depends on HubSpot permissions and connected systems. Include only necessary information and ensure later workflows, exports and customer replies do not expose internal content.

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

## Inputs

| Field       | Type   | Required/default | Meaning                                                                                                                                                                           |
| ----------- | ------ | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ticket_id` | string | Required         | The ID of the ticket                                                                                                                                                              |
| `content`   | string | Required         | The body text of the internal note. This field supports HTML formatting. Use HTML tags (e.g., \<br>, \<b>, \<ul>) instead of Markdown to ensure proper formatting inside HubSpot. |

## 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                                                                                                    |
| ------------------------------ | -------------- | ---------------------------------------------------------------------------------------------------------- |
| `note`                         | object         | Internal conversation comment or CRM Note, normalized to this output shape.                                |
| `note.id`                      | string         | ID of the created conversation comment or CRM Note; the object type depends on the path used.              |
| `note.properties`              | object         | Property values returned for this record; some declared fields may be empty.                               |
| `note.properties.hs_note_body` | string \| null | CRM Note body when returned; may be empty on the conversation-comment path.                                |
| `note.createdAt`               | string         | Creation timestamp returned by HubSpot; empty when unavailable.                                            |
| `note.updatedAt`               | string         | Last-update timestamp returned by HubSpot; empty when unavailable.                                         |
| `note.archived`                | boolean        | Archive flag returned by HubSpot; defaults to false when omitted.                                          |
| `success`                      | boolean        | True when the internal comment is created, or the fallback CRM Note is created and attached to the ticket. |
| `exists`                       | boolean        | Mirrors `success` in this action; false can mean creation or association failed.                           |

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

With a conversation thread, posts an internal `COMMENT` to the most recently active returned thread. Without a thread, creates a CRM Note and associates it with the ticket. These are distinct HubSpot object types; use the appropriate Get Ticket inclusion switches when reading them back.

The action is for internal team context and does not send a customer reply. Use HTML and verify the rendered result. The conversation path wraps content in a paragraph, so simple inline formatting is the safest starting point. The normalized `note` output can have empty/default body fields on the Conversations path; read back the destination when the body matters.

A failed create or association returns `success: false, exists: false`. These flags do not identify every root cause. Creation and association are not atomic; an unattached Note may remain after a failed association.

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).
