All integrations

CurviatexFactors.ai

Reach accounts Factors.ai flags as in market. Connect the two with Curviate’s webhooks and API, then build the flow you need.

No card required

What is Factors.ai?

Factors.ai is an account-based marketing and attribution platform that helps B2B teams identify target accounts, act on intent signals and track which touches drive revenue.

Visit factors.ai

How Factors.ai works with Curviate

Factors.ai spots who is showing interest, and Curviate reaches them on LinkedIn while it matters. Send each signal to Curviate’s API to start a Motion, and get replies back with a webhook.

Replies outmessage.receivedenrollment.finished
People inadd contactsstart a Motion

What you can build

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

A signal starts a Motion

When Factors.ai flags a person or account, they get a LinkedIn touch the same day.

POST /v1/motions/…/contacts

Hot leads, a personal note

The signal travels along as a field, so your message can mention what they did.

POST /v1/contacts

Replies to your team

When someone replies on LinkedIn, your team hears about it in Slack.

message.received

Set up Factors.ai 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

    Send people from Factors.ai to Curviate

    Use Factors.ai’s HTTP request or webhook action, or an automation tool, to call Curviate with each person’s LinkedIn URL. Extra fields travel along for your messages.

    POST https://api.curviate.com/v1/contacts
    { "linkedin_url": "linkedin.com/in/lenaweber",
      "list_name": "Factors.ai signals",
      "extra": { "signal": "visited pricing" } }
  3. 3

    Start the Motion

    Add the new contacts to a Motion. They start within its schedule and each account’s limits.

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

    Get replies back

    Point a Curviate webhook at Factors.ai, your automation tool or Slack to hear about replies. 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://your-endpoint.example.com/curviate"
      }'
  5. 5

    Check the signature

    Every delivery carries a Curviate-Signature header: an HMAC-SHA256 of the timestamp and the raw body, made with your webhook’s secret. Compare it before you act, and drop anything older than five minutes.

    Curviate-Signature: t=1792230000,v1=5f2c9a…e81b

    # expected = HMAC_SHA256(secret, t + "." + raw_body)

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
motion.signalA Motion reached 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}/signalTell a waiting Motion to continue
GET /v1/{account_id}/companies/{identifier}Read a company page
API reference

Questions about Curviate x Factors.ai

What does Curviate need from Factors.ai?

A LinkedIn profile URL per person. Names, company and any extra fields are optional and can be used in your messages.

Will someone be contacted twice?

No. Curviate recognises a person by their LinkedIn profile, so sending them again updates the contact, and Motions can skip people who are already in another Motion.

How fast does a new person start?

Right away, within the Motion’s schedule and each account’s limits.

More signals and prospecting

Connect Factors.ai today.Free for 7 days.

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

No card required