> 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/associate-objects.md).

# Associate Objects

Connects two records in HubSpot, for example linking a contact to a ticket or a note to a company.

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

## Inputs

| Field                 | Type    | Required/default | Meaning                                                    |
| --------------------- | ------- | ---------------- | ---------------------------------------------------------- |
| `from_object_type`    | string  | Required         | The type of the source object (e.g. 'tickets', 'contacts') |
| `from_object_id`      | string  | Required         | The ID of the source object                                |
| `to_object_type`      | string  | Required         | The type of the target object                              |
| `to_object_id`        | string  | Required         | The ID of the target object                                |
| `association_type_id` | integer | Required         | The ID of the association type                             |

## 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                                                                                                         |
| --------- | ------- | --------------------------------------------------------------------------------------------------------------- |
| `status`  | string  | `success` when the association request succeeds; `error` for a handled invalid or missing-resource response.    |
| `message` | string  | Short outcome summary. An error message does not distinguish a missing record from an invalid association type. |
| `success` | boolean | True when the association request succeeds; false for a handled failure.                                        |
| `exists`  | boolean | Mirrors `success` in this action; false does not by itself prove either record is missing.                      |

## Behavior and limits

Creates a directional association using the supplied record IDs and type ID. The implementation always sends `associationCategory: HUBSPOT_DEFINED`; it does not accept a category input. Do not pass a `USER_DEFINED` type from Get Association Types and assume it is supported.

Use a type ID valid for the exact source→target object-type pair. The dropdown contains common types; it is not a guarantee that every combination is valid.

A 400 or missing-resource response returns `success: false, exists: false`. The 400 can also be an invalid pair/type, so these flags alone do not prove a record is absent.

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