All integrations

Curviate x HubSpot

Log LinkedIn replies and invites in HubSpot. Connect the two with Curviate’s webhooks and API, then build the flow you need.

No card required

What is HubSpot?

HubSpot is a customer platform with CRM, marketing, sales, service and content tools. Businesses of many sizes use it to manage contacts, deals and customer communication.

Visit hubspot.com

How HubSpot works with Curviate

Two directions, no middleware needed. A Curviate webhook with a body template posts to HubSpot’s contacts API the moment an invitation is accepted. A HubSpot workflow’s Send a webhook action posts back to a Curviate incoming event, so a booked meeting ends the follow-ups and its deal stage is saved on the Curviate Contact.

Events outmessage.receivedconnection.acceptedenrollment.finished
Actions inadd contactsstart a Motion

What you can build

Three flows teams set up first. Each one takes a few minutes.

Accepted invite, new HubSpot contact

The Motion’s acceptance event sends the Contact’s email, name, company and job title straight to HubSpot’s create contact endpoint.

enrollment.accepted

A booked meeting ends the Motion

A HubSpot workflow sends a webhook to your Curviate incoming event; the Step waiting on event.meeting_booked ends the Enrollment and keeps the deal stage on the Contact.

event.meeting_booked

Replies on the HubSpot timeline

An n8n workflow logs each LinkedIn reply as an engagement on the matching HubSpot contact.

message.received

Set up HubSpot with Curviate

Everything runs on two things Curviate gives every account: signed webhooks out and a REST API in.

  1. 1

    Copy your Curviate API key

    In the Curviate dashboard, open Settings, then API & Webhooks, and copy your key.

    # keep it in your tool's credentials, never in plain text
    CURVIATE_API_KEY=cvt_live_••••3f9a
  2. 2

    Connect HubSpot to your automation

    Sign in to HubSpot inside n8n, Make or Zapier, or create an API key in HubSpot if you write your own code.

  3. 3

    Send Curviate events to it

    Point a Curviate webhook at an n8n, Make or Zapier webhook trigger, or at your own endpoint. Each webhook covers one source: messaging for replies, user for accepted invitations, motion for Motion outcomes, account_status for account alerts.

    curl https://api.curviate.com/v1/webhooks \
      -H "Authorization: Bearer $CURVIATE_API_KEY" \
      -d '{
        "source": "messaging",
        "events": ["message.received"],
        "account_ids": ["acc_…"],
        "request_url": "https://hooks.zapier.com/hooks/catch/…"
      }'
  4. 4

    Write to HubSpot

    Add the HubSpot step your tool offers, such as creating or updating a contact, and map the fields from the Curviate event.

    # what your tool receives
    { "event": "connection.accepted",
      "data": { "account_id": "acc_…", "occurred_at": "2026-10-17T09:12:00Z", … } }
  5. 5

    Send HubSpot contacts into a Motion

    Trigger on a change in HubSpot, then add each person to Curviate and start your Motion.

    # add the person as a contact
    POST https://api.curviate.com/v1/contacts
    { "linkedin_url": "linkedin.com/in/lenaweber", "first_name": "Lena" }

    # start your Motion for them
    POST https://api.curviate.com/v1/motions/mot_…/contacts
    { "contact_ids": ["con_…"] }

HubSpot details that matter

From HubSpot’s developer docs and Curviate’s HubSpot webhook recipe.

  1. 1

    A token for the contacts API

    The webhook calls POST https://api.hubapi.com/crm/v3/objects/contacts with your HubSpot token as Authorization: Bearer. HubSpot stopped creating new legacy private apps on October 26, 2026 (September 28 for newer accounts) and points new in-account integrations to Service Keys, under Settings › Integrations › Service Keys; existing private app tokens keep working.

    { "properties": {
      "email": "{{contact.email}}",
      "firstname": "{{first_name}}",
      "company": "{{company}}" } }
  2. 2

    Send a webhook needs Data Hub

    The workflow action comes with Data Hub Professional or Enterprise, and its URL must start with HTTPS, which Curviate’s incoming event URL does. HubSpot retries a failed call for up to three days, but not a 4xx other than 429.

  3. 3

    Email is the match

    A post from HubSpot finds the Contact by email, so the Contact needs one; two Contacts with the same email match nothing (ambiguous_email). A body template that uses {{contact.email}} skips a Contact without one and records skipped_no_email.

  4. 4

    Check arrivals, not HubSpot’s log

    Curviate answers 200 to every post it can read and records the outcome on the arrival: moved, no_contact, no_enrollment_waiting. curviate incoming arrivals shows the last 20, without any value from the post.

Events you can use

message.receivedA LinkedIn message or InMail arrived
connection.acceptedSomeone accepted an invitation you sent through Curviate
enrollment.finishedA contact finished a Motion, with the reason
enrollment.repliedA contact replied to a Motion, with the reply text
motion.custom_eventA Motion ran a step you marked to notify you
post.publishedA scheduled post went live
account.reconnect_neededAn account needs to sign in again
All webhook events

Actions you can call

POST /v1/contactsAdd or update a contact
POST /v1/motions/{id}/contactsStart a Motion for contacts
POST /v1/{account_id}/chats/{chat_id}/messagesSend a message
POST /v1/enrollments/{id}/eventsTell a waiting Motion to continue
GET /v1/{account_id}/companies/{identifier}Read a company page
API reference

Questions about Curviate x HubSpot

Do I need a developer?

No. n8n, Make and Zapier all have HubSpot steps, so you can connect the two without code. Developers can call the Curviate API and HubSpot’s API directly.

Can a HubSpot list start a Motion?

Yes. Add the list’s people to Curviate and start the Motion in the same flow; people already in another Motion can be skipped automatically.

What can I see in HubSpot afterwards?

Whatever you map: new connections as records, replies on the timeline and Motion outcomes as fields for your reports.

Is there a Curviate app in the HubSpot marketplace?

No. The connection is a Curviate webhook calling HubSpot’s API with your token, and a HubSpot workflow webhook calling Curviate back. Both are set up in a few minutes.

More CRM

Connect HubSpot today.Free for 7 days.

Create your API key, point a webhook at HubSpot and run your first flow.

No card required