CurviatexCargo
Feed Cargo plays with LinkedIn signals and actions. Connect the two with Curviate’s webhooks and API, then build the flow you need.
What is Cargo?
Cargo is go-to-market infrastructure that coding agents operate, with a shared data model, connectors, hosted execution and run traces. Technical revenue teams and GTM engineers use it.
Visit getcargo.aiHow Cargo works with Curviate
Curviate sends LinkedIn events to the Cargo HTTP › Listen webhook trigger as they happen, and Cargo calls the Curviate API to act on LinkedIn: add people to a Motion, send a message or read a company page. Signed webhooks out, a REST API in.
message.receivedconnection.acceptedenrollment.finishedadd contactsstart a Motionsend a messageWhat you can build
Three flows teams set up first. Each one takes a few minutes.
Every reply, straight to your team
A new LinkedIn reply posts the message and the sender’s profile to a Slack channel.
message.receivedForm leads into a Motion
Someone fills in your Typeform, and Cargo adds them to the right Motion within seconds.
POST /v1/motions/…/contacts
Accepted invites in your CRM
When an invitation is accepted, Cargo creates or updates the contact in HubSpot.
connection.acceptedSet up Cargo with Curviate
Everything runs on two things Curviate gives every account: signed webhooks out and a REST API in.
- 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
Start with the HTTP › Listen webhook trigger
Create a new flow in Cargo, start it with the HTTP › Listen webhook trigger and copy the URL it gives you.
# the URL your HTTP › Listen webhook trigger gives you
https://your-cargo-webhook-url - 3
Send Curviate events to it
Create a webhook in Curviate for the events you need, then send a test event so Cargo can read the fields. You can do the same in the dashboard under Settings, then API & Webhooks. Each webhook covers one source:
messagingfor replies,userfor accepted invitations,motionfor Motion outcomes,account_statusfor 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-cargo-webhook-url"
}' - 4
Call Curviate from Cargo
Add the HTTP › Call action with the headers
Authorization: Bearerplus your key andContent-Type: application/json, and call any Curviate action. This one adds a person and starts a 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_…"] } - 5
Check the signature
Every delivery carries a
Curviate-Signatureheader: 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 arrivedconnection.acceptedSomeone accepted an invitation you sent through Curviateenrollment.finishedA contact finished a Motion, with the reasonmotion.signalA Motion reached a step you marked to notify youpost.publishedA scheduled post went liveaccount.reconnect_neededAn account needs to sign in againActions you can call
POST /v1/contactsAdd or update a contactPOST /v1/motions/{id}/contactsStart a Motion for contactsPOST /v1/{account_id}/chats/{chat_id}/messagesSend a messagePOST /v1/enrollments/{id}/signalTell a waiting Motion to continueGET /v1/{account_id}/companies/{identifier}Read a company pageQuestions about Curviate x Cargo
Which LinkedIn events can start a Cargo flow?
Messages, accepted invitations, published posts, account status changes and every step of a Motion, from a contact starting it to a reply that ends it.
Can Cargo act on LinkedIn too?
Yes. Every Curviate action is a plain HTTPS call, so Cargo can search, message, invite or start a Motion, inside the limits you set for each account.
Do I need to write code?
No. A webhook trigger and an HTTP request are all it takes, and Cargo maps the fields for you.
More automation
Connect Cargo today.Free for 7 days.
Create your API key, point a webhook at Cargo and run your first flow.

