Webhook event
Every InMail Reply Received
inmail.repliedA lead answered an InMail. Fires for every answer.
Salesteam sends it as a POST to your webhook’s address. Answer with any 2xx status within 10 seconds; check the signature first (how).
Headers
X-Salesteam-EventstringX-Salesteam-DeliverystringThe event ID, the same on every retry.
X-Salesteam-TimestampstringUnix seconds when this try was signed.
X-Salesteam-Signaturestringv1= and the hex HMAC-SHA256 of
${timestamp}.${rawBody}with the webhook’s signing secret.
Body
idstringRequiredEvent ID, the same on every retry. Use it to skip repeats.
typeone ofRequiredInside it
One of these shapes:
Option 1: An event type
Option 2
occurredAtstring · date-timeRequiredworkspaceone ofRequiredInside it
One of these shapes:
Option 1
idstringRequiredThe workspace ID. Events carry the same one.
namestringRequiredThe workspace’s name.
Option 2
leadone ofRequiredInside it
One of these shapes:
Option 1
idstringRequiredfirstNamestringRequiredlastNamestringRequiredfullNamestringRequiredtitlestringRequiredcompanystringRequiredlocationstringRequiredlinkedinUrlstringRequiredemailstring or nullRequiredemailStatusstring or nullRequiredOne of
deliverable,catch_all,unknown.tagsarray of stringRequiredcustomFieldsobjectRequiredThe lead's custom field values by field key: text, numbers, dates as YYYY-MM-DD, web addresses, and lists for Multi-select fields.
Option 2
campaignobject or nullRequiredInside it
idstringnamestring
senderobject or nullRequiredInside it
idstringnamestring
messageone ofRequiredInside it
One of these shapes:
Option 1
idstringRequireddirectionstringRequiredOne of
inbound,outbound.textstringRequiredsubjectstringInMail only.
sentAtstring · date-timeRequired
Option 2
conversationobject or nullRequiredInside it
idstringchannelstringOne of
linkedin,inmail.linkstring
linkstringRequiredWhere to open this in Salesteam.
tagobjectInside it
idstringRequirednamestringRequired
meetingobjectInside it
atstring · date-time
finishobjectInside it
reasonstringRequiredOne of
completed,replied,stopped,not_accepted,moved,suppressed.
postobjectpost.liked: the post that was liked. url is null when LinkedIn didn’t name it.
Inside it
urlstring or nullRequired
outcomeobjectlead.outcome_changed, and lead.not_interested from a Lost outcome: the new outcome and the one before it.
Inside it
statusstringRequiredOne of
interested,qualified,booked,attended,no_show,won,lost.labelstringRequiredHow the app names it, like "Meeting booked".
previousone ofRequiredInside it
One of these shapes:
Option 1
Option 2
resultsobjectcampaign.completed: the campaign’s numbers.
Inside it
leadsintegerRequiredPeople in the campaign.
contactedintegerRequiredacceptedintegerRequiredConnection requests accepted.
repliedintegerRequired
acceptanceobjectcampaign.requests_paused: of the requests old enough to answer, how many were accepted, against the workspace’s safety line.
Inside it
sentintegerRequiredacceptedintegerRequiredpercentnumberRequiredthresholdintegerRequiredThe safety line, in percent.
accountobjectaccount.disconnected: the account is sender. campaigns is how many active or paused campaigns wait for it.
Inside it
statusstringRequiredOne of
disconnected.campaignsintegerRequired
sentimentstringLead Auto Tagged events: how Salesteam read the first reply, which is in message. tag is the tag it added: Interested for positive, Not interested for negative, none for generic. One of
positive,negative,generic.