---
title: "HubSpot Integration: Sync LinkedIn Prospects to Contacts"
description: "Connect HubSpot in one click or with a private app token. Sync prospects to contacts with field mapping, fill-only updates and forward-only lifecycle stages."
url: "https://prosyo.com/docs/integrations/hubspot/"
image: "https://prosyo.com/wp-content/uploads/2026/10/Prosyo-wordmark-white-vector.svg"
language: "de"
---

# HubSpot Integration: Sync LinkedIn Prospects to Contacts

Last updated November 6, 2026 4 min read

**On this page**

- What syncs
- Your HubSpot data is safe
- 1. Connect HubSpot
- Or use a private app token
- 2. Map fields
- Stage → lifecycle stage
- 3. Choose events
- 4. Test
- Troubleshooting
- Disconnect

Send Prosyo prospects to HubSpot as **contacts**. Stages, first-touch lines and custom fields come along, using a field map you choose.

## What syncs#

- New prospects become HubSpot contacts, matched by **email**.
- Stage changes move the contact's **lifecycle stage** forward.
- Enrichment and first-touch lines update the contact.
- Replies update the contact.

Prospects **without an email are skipped**. HubSpot matches on email, and Prosyo never invents one.

### Your HubSpot data is safe#

- Prosyo **fills empty fields** on a contact that already exists. A value already in HubSpot stays, unless you turn on **Replace values already in HubSpot**.
- Prosyo **never clears** a HubSpot field.
- A **lifecycle stage only moves forward**. A customer is never set back to lead, and a stage your portal created itself is left alone.
- If HubSpot is down for a while, updates are retried for hours and sent once it is back.

## 1. Connect HubSpot#

You need to be a workspace **owner or admin** in Prosyo, and allowed to install apps in HubSpot.

1. Go to **Integrations** and click the **HubSpot** card. Its details open in a panel on the right.
2. Click **Connect HubSpot**, then **Connect with HubSpot**.
3. Pick your HubSpot account and approve access. Prosyo asks to read and write contacts and to read contact property names.
4. You land back on **Integrations** with "HubSpot is connected." and the HubSpot panel open, ready for the field map.

### Or use a private app token#

If your HubSpot account already has a private app for Prosyo, you can paste its token instead.

1. In HubSpot, open **Settings → Integrations → Private Apps** (in newer accounts: **Development → Legacy apps**).
2. Create a private app named **Prosyo** with these scopes:
   - `crm.objects.contacts.read`
   - `crm.objects.contacts.write`
   - `crm.schemas.contacts.read`
3. Copy the **access token** (it starts with `pat-`).
4. In Prosyo, open the **HubSpot** card, click **Connect HubSpot**, paste the token under **Or paste a private app token**, and click **Connect**.

Prosyo stores tokens encrypted and never shows them again.

## 2. Map fields#

Once HubSpot is connected, the panel shows **Field mapping**. Match each **Prosyo field** to a **HubSpot property**, and use **Add field** for more rows. The default map is:

| Prosyo field | HubSpot property |
| --- | --- |
| Email | Email (`email`) |
| First name | First name (`firstname`) |
| Last name | Last name (`lastname`) |
| Title | Job title (`jobtitle`) |
| Phone | Phone number (`phone`) |
| Company name | Company name (`company`) |
| Website | Website URL (`website`) |
| Pipeline stage | Lifecycle stage (`lifecyclestage`) |
| First-touch line | Message (`message`) |

You can also map **Full name**, **LinkedIn URL**, **Company domain**, **Source**, **Last replied at** and any of your **custom fields**.

Turn on **Replace values already in HubSpot** if you want HubSpot to always match Prosyo. Leave it off to keep what your team typed in HubSpot.

Click **Save mapping**.

### Stage → lifecycle stage#

| Prosyo stage | HubSpot lifecycle stage |
| --- | --- |
| New | Subscriber |
| Contacted | Lead |
| Replied | Marketing qualified lead |
| Interested | Sales qualified lead |
| Meeting | Opportunity |
| Customer | Customer |
| Not interested | Other (only for a contact with no stage yet) |

A stage is written only when it is later than the contact's current one. If you'd rather keep lifecycle stage fully under HubSpot's control, map **Pipeline stage** to **Lead status** (`hs_lead_status`) or to a custom property instead.

## 3. Choose events#

Under **Events**, pick when Prosyo writes to HubSpot, then click **Save mapping**. The defaults are:

- **Prospect created**
- **Stage changed**
- **Prospect enriched**
- **Reply received**

You can also tick **High-intent lead** and **Playbook match** to send the person to HubSpot (create or update the contact with your field map) when Intent marks one of your prospects as High-intent ICP or a playbook picks them up. The signal itself isn't written to HubSpot. **Playbook match** is sent only for Intent playbooks that have **Send each match to Slack, HubSpot or your webhook when those are connected** turned on.

## 4. Test#

Click **Test connection** to check that Prosyo can reach your HubSpot account. It does not change any contact. **Recent deliveries** shows the latest syncs, and **Last delivery error** shows what went wrong if one failed.

## Troubleshooting#

| Problem | Fix |
| --- | --- |
| **Needs attention** on the HubSpot card | A recent sync failed. Open the card and read **Last delivery error**. If access expired or the app was removed in HubSpot, click **Reconnect HubSpot**. Your field map and events are kept, and updates that could not be sent are sent again. |
| 401 / unauthorized with a private app token | The token was deleted or rotated in HubSpot. Click **Reconnect HubSpot** to approve access in HubSpot instead. Your field map and events are kept. |
| 403 / missing scopes | Add the three scopes above to the private app. Then click **Disconnect** and connect again with the new token, or click **Reconnect HubSpot**. |
| Contact not created | The prospect has no email. |
| A HubSpot field did not change | It already had a value. Turn on **Replace values already in HubSpot** if Prosyo should overwrite it. |
| Property not in the list | Check that the property exists on **Contacts** in HubSpot, then reopen the mapping. |

## Disconnect#

Open the **HubSpot** card on **Integrations** and click **Disconnect**. Contacts already in HubSpot stay there, but Prosyo forgets the field map and events. To fix a broken connection, use **Reconnect HubSpot** instead. To fully revoke access, also remove Prosyo (or the private app) in HubSpot.

Connect it in Prosyo

Open Integrations in the app to set this up in a few minutes.

[Connect in Prosyo](https://app.prosyo.com/integrations)

## Related guides

[Custom triggers Turn any form, CRM, Stripe or Calendly event into LinkedIn outreach: add the lead and enroll them in a Prosyo campaign with n8n, Zapier, Make or code.](https://prosyo.com/de/docs/integrations/custom-triggers/) [API reference Prosyo REST API reference: authentication, add leads, enroll in campaigns, enrichment, bulk actions, prospects, inbox, Intent signals, limits and errors.](https://prosyo.com/de/docs/integrations/api-reference/) [n8n Trigger n8n workflows from Prosyo events, verify webhook signatures, and add leads and enroll them in LinkedIn campaigns from n8n.](https://prosyo.com/de/docs/integrations/n8n/) [Zapier Use the Prosyo Zapier app: start Zaps on new prospects, stage changes and replies, and create prospects, update stages or add people to lists from other apps.](https://prosyo.com/de/docs/integrations/zapier/)
