# HubSpot: get contact properties

The **HubSpot: get contact properties** Point template reads the properties you name off one HubSpot contact and hands them to the rest of the journey: a message can print them, a splitter can branch on them.

This point authenticates with its own HubSpot private app token — it doesn't use any account-level HubSpot integration configured elsewhere in Settings.

## Configure the point

1. Drag **HubSpot: get contact properties** from the **Integrations** section onto the canvas.
2. Double-click the point and enter a **Step Name**.
3. In **Private app token**, enter a HubSpot private app token with the `crm.objects.contacts.read` scope. It's stored masked, like a webhook secret header.
4. In **Look the contact up by**, enter the internal name of the HubSpot property that holds the identifier — `email` by default, or a property of your own that carries the Pushwoosh User ID. HubSpot only looks a contact up by a property whose values it keeps unique.
5. In **Identifier value**, enter the value to look up, for example `{{device:user_id}}` or a tag of the traveler.
6. In **Properties to read**, add a row per HubSpot property's internal name (for example `firstname`, `lifecyclestage`) — see [list fields](/product/customer-journey/journey-elements/integrations/#configuring-list-and-keyvalue-fields).
7. Click **Save**.

## Response

After the step runs, each property you asked for is available in later steps as attribute **`hubspot_<property>`** — for example `firstname` becomes `hubspot_firstname`. The contact's ID is available as **`hubspot_contact_id`**. Use either one the same way you'd use a [Webhook response attribute](/product/customer-journey/journey-elements/channels/webhook/#map-webhook-response-data-to-variables), for example to branch with a Segment Split or set a Tag with [Update user profile](/product/customer-journey/journey-elements/flow-controls/update-user-profile/#use-a-value-from-a-webhook-response).

A failed request, including a contact HubSpot can't find by the identifier you gave, drops the traveler from the journey — see [Errors and failed requests](/product/customer-journey/journey-elements/integrations/#errors-and-failed-requests).