Activity on a legacy LinkedIn campaign

Sent to URLs registered with type: linkedin or linkedin: true.

  • VISITED: profile visited.
  • INVITED: invitation sent. When the contact was already a connection, INVITED and ACCEPTED are sent together.
  • ACCEPTED: acceptance detected (connections polling, inferred from a reply, or real time LinkedIn notification).
  • MESSAGE_SENT: message sent, text in content.
  • INMAIL_SENT: InMail sent.
  • REPLIED: first reply detected, with reply and sentiment.

LIKED, FOLLOWED and CAMPAIGN_ENDING are never sent for these campaigns. Most events come from the LinkedIn worker (contact without id nor email). Replies and acceptances detected in real time come from the API server and add campaignId, contact.id and contact.email; that path retries once on network errors, the worker never retries.

Delivery. One POST per event and per registered URL, header Content-Type: application/json, JSON body, no signature or secret header, default User-Agent of the HTTP library. No timeout is set. Your response (status and body) is ignored: an HTTP error is never retried. Network errors are retried only for some events (see each list). No event ID, no ordering guarantee, no replay; a URL registered twice receives everything twice. Absent fields are omitted, never null.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/linkedinCampaignActivity