All integrations

Curviate x Salesforce

Keep Salesforce leads in step with LinkedIn. Connect the two with Curviate’s webhooks and API, then build the flow you need.

No card required

What is Salesforce?

Salesforce is a cloud CRM and customer platform covering sales, service, marketing and data. Businesses from small teams to large enterprises use it to manage customer relationships.

Visit salesforce.com

How Salesforce works with Curviate

Salesforce’s API signs in with OAuth and its access tokens expire, so the LinkedIn side usually reaches it through n8n, Make or Zapier, whose Salesforce steps keep the sign-in fresh: an accepted invitation upserts a Lead, a reply becomes a Task. The other way, a record-triggered Flow with an HTTP Callout action calls Curviate to put a Lead into a Motion.

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, Lead upserted

n8n’s Salesforce node creates the Lead, or updates it if it already exists, with the LinkedIn URL in a custom field.

connection.accepted

Replies become Tasks

Each LinkedIn reply adds a Task to the matching Lead, so its owner sees the conversation in Salesforce.

message.received

A Flow starts the Motion

When a Lead reaches the status you pick, a Flow sends its LinkedIn URL to Curviate and adds the new Contact to a Motion.

POST /v1/motions/…/contacts

Set up Salesforce 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 Salesforce to your automation

    Sign in to Salesforce inside n8n, Make or Zapier, or create an API key in Salesforce 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 Salesforce

    Add the Salesforce step your tool offers, such as creating or updating a lead, 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 Salesforce leads into a Motion

    Trigger on a change in Salesforce, 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_…"] }

Salesforce details that matter

What Salesforce Help says about HTTP Callout, applied to Curviate’s API.

  1. 1

    Credentials before the callout

    Flow Builder’s HTTP Callout needs a named credential, linked to an external credential. For Curviate pick the Custom protocol with a key: an Authorization header holding Bearer and your key, with Generate Authorization Header cleared. Grant the external credential’s principal through a permission set.

  2. 2

    Call out after the save

    In a record-triggered Flow, put the callout on the Run Asynchronously path, so it runs after the Lead is saved. Creating credentials and the action needs the Customize Applications permission.

  3. 3

    One field for the LinkedIn URL

    Curviate recognises a person by the LinkedIn profile URL, any spelling of it. Keep it in one custom field on Lead and Contact, so the Flow can send it and your automation can find the record when a reply comes in.

    POST https://api.curviate.com/v1/contacts
    { "linkedin_url": "linkedin.com/in/lenaweber",
      "list_name": "Salesforce MQLs" }
  4. 4

    One webhook per source

    Accepted invitations come from the user source and replies from messaging, so create one Curviate webhook for each and point both at your flow.

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 Salesforce

Do I need a developer?

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

Can a Salesforce 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 Salesforce afterwards?

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

Is there a Curviate package on AppExchange?

No. Salesforce talks to Curviate through a Flow’s HTTP Callout, and Curviate talks to Salesforce through the Salesforce steps of n8n, Make or Zapier.

More CRM

Connect Salesforce today.Free for 7 days.

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

No card required