Webhooks
What you receive
Each event is a POST with a JSON body. Every event has the same shape: workspace, lead, campaign, sender, message and conversation, each null when the event doesn’t have one, plus link, which opens it in Salesteam. Campaign and account events have no lead.
Some events add one more part:
| Event | Adds |
|---|---|
lead.tagged | tag: the tag’s ID and name |
lead.finished | finish.reason: completed, replied, stopped, not_accepted, moved or suppressed |
post.liked | post.url: the post that was liked |
campaign.completed | results: people in the campaign, contacted, accepted and replied |
campaign.requests_paused | acceptance: requests sent and accepted, the rate and your safety line |
account.disconnected | account: how many running campaigns wait for the account (sender) |
| Header | What it holds |
|---|---|
X-Salesteam-Event | The event type, like lead.replied |
X-Salesteam-Delivery | The event’s ID, the same on every retry. Use it to skip repeats. |
X-Salesteam-Timestamp | Unix seconds when this try was signed |
X-Salesteam-Signature | v1= and the signature |
Answer with any 2xx status within 10 seconds. Events usually arrive within a minute of happening.