Docs
Get API key

Webhooks

Sample events

GET/webhooks/sample

Recent real events of one type, newest first, or an example when there are none yet. Zapier and Make use it to map fields.

Try itSend a real request with your API key

Your key stays in this page and goes only to Salesteam.

Query

  • eventstringRequired

    One of connection.sent, connection.accepted, message.sent, lead.replied, message.replied, inmail.sent, inmail.replied, lead.finished, lead.tagged, lead.interested, meeting.booked, profile.viewed, post.liked, profile.followed, lead.not_interested, lead.outcome_changed, campaign.completed, campaign.requests_paused, account.disconnected, message.first_reply, inmail.first_reply, lead.auto_tagged_positive, lead.auto_tagged_negative, lead.auto_tagged_generic.

Answer

200 OK Up to 3 events.

  • dataarray of EventRequired
    Each item
    • idstringRequired

      Event ID, the same on every retry. Use it to skip repeats.

    • typeone ofRequired
      Inside it

      One of these shapes:

      Option 1: An event type

      Option 2

    • occurredAtstring · date-timeRequired
    • workspaceone ofRequired
      Inside it

      One of these shapes:

      Option 1

      • idstringRequired

        The workspace ID. Events carry the same one.

      • namestringRequired

        The workspace’s name.

      Option 2

    • leadone ofRequired
      Inside it

      One of these shapes:

      Option 1

      • idstringRequired
      • firstNamestringRequired
      • lastNamestringRequired
      • fullNamestringRequired
      • titlestringRequired
      • companystringRequired
      • locationstringRequired
      • linkedinUrlstringRequired
      • emailstring or nullRequired
      • emailStatusstring or nullRequired

        One of deliverable, catch_all, unknown.

      • tagsarray of stringRequired
      • customFieldsobjectRequired

        The 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 nullRequired
      Inside it
      • idstring
      • namestring
    • senderobject or nullRequired
      Inside it
      • idstring
      • namestring
    • messageone ofRequired
      Inside it

      One of these shapes:

      Option 1

      • idstringRequired
      • directionstringRequired

        One of inbound, outbound.

      • textstringRequired
      • subjectstring

        InMail only.

      • sentAtstring · date-timeRequired

      Option 2

    • conversationobject or nullRequired
      Inside it
      • idstring
      • channelstring

        One of linkedin, inmail.

      • linkstring
    • linkstringRequired

      Where to open this in Salesteam.

    • tagobject
      Inside it
      • idstringRequired
      • namestringRequired
    • meetingobject
      Inside it
      • atstring · date-time
    • finishobject
      Inside it
      • reasonstringRequired

        One of completed, replied, stopped, not_accepted, moved, suppressed.

    • postobject

      post.liked: the post that was liked. url is null when LinkedIn didn’t name it.

      Inside it
      • urlstring or nullRequired
    • outcomeobject

      lead.outcome_changed, and lead.not_interested from a Lost outcome: the new outcome and the one before it.

      Inside it
      • statusstringRequired

        One of interested, qualified, booked, attended, no_show, won, lost.

      • labelstringRequired

        How the app names it, like "Meeting booked".

      • previousone ofRequired
        Inside it

        One of these shapes:

        Option 1

        Option 2

    • resultsobject

      campaign.completed: the campaign’s numbers.

      Inside it
      • leadsintegerRequired

        People in the campaign.

      • contactedintegerRequired
      • acceptedintegerRequired

        Connection requests accepted.

      • repliedintegerRequired
    • acceptanceobject

      campaign.requests_paused: of the requests old enough to answer, how many were accepted, against the workspace’s safety line.

      Inside it
      • sentintegerRequired
      • acceptedintegerRequired
      • percentnumberRequired
      • thresholdintegerRequired

        The safety line, in percent.

    • accountobject

      account.disconnected: the account is sender. campaigns is how many active or paused campaigns wait for it.

      Inside it
      • statusstringRequired

        One of disconnected.

      • campaignsintegerRequired
    • sentimentstring

      Lead 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.

  • nextCursorstring or nullRequired

    Pass as cursor for the next page; null on the last page.

Errors

  • 400 Bad requestinvalid_request invalid_json duplicate_in_request
  • 401 Unauthorizedunauthorized
  • 429 Too many requestsrate_limited
  • 500 Server errorserver_error

Every error has the same shape. See Errors.

GET /webhooks/sample
curl "https://app.salesteam.dev/api/v1/webhooks/sample?event=EVENT" \
  -H "Authorization: Bearer $SALESTEAM_API_KEY"
200 answer
{
  "data": [
    {
      "id": "id_7Qm2xT9a",
      "type": "connection.sent",
      "occurredAt": "2026-11-12T09:00:00.000Z",
      "workspace": {
        "id": "ws_7Qm2xT9a",
        "name": "Founders Q4"
      },
      "lead": {
        "id": "lead_7Qm2xT9a",
        "firstName": "Jamie",
        "lastName": "Lee",
        "fullName": "Jamie Lee",
        "title": "Head of Sales",
        "company": "Pear Sky",
        "location": "London, United Kingdom",
        "linkedinUrl": "https://www.linkedin.com/in/jamie-lee-example",
        "email": "jamie@example.co",
        "emailStatus": "deliverable",
        "tags": [
          null
        ],
        "customFields": {}
      },
      "campaign": {
        "id": "cmp_7Qm2xT9a",
        "name": "Founders Q4"
      },
      "sender": {
        "id": "acc_7Qm2xT9a",
        "name": "Founders Q4"
      },
      "message": {
        "id": "msg_7Qm2xT9a",
        "direction": "inbound",
        "text": "Thanks for connecting, Jamie.",
        "subject": "subject",
        "sentAt": "2026-11-12T09:00:00.000Z"
      },
      "conversation": {
        "id": "conv_7Qm2xT9a",
        "channel": "linkedin",
        "link": "link"
      },
      "link": "link",
      "tag": {
        "id": "tag_7Qm2xT9a",
        "name": "Founders Q4"
      },
      "meeting": {
        "at": "2026-11-12T09:00:00.000Z"
      },
      "finish": {
        "reason": "completed"
      },
      "post": {
        "url": "https://example.com/hooks/salesteam"
      },
      "outcome": {
        "status": "interested",
        "label": "label",
        "previous": "interested"
      },
      "results": {
        "leads": 1,
        "contacted": 1,
        "accepted": 1,
        "replied": 1
      },
      "acceptance": {
        "sent": 1,
        "accepted": 1,
        "percent": 1,
        "threshold": 1
      },
      "account": {
        "status": "disconnected",
        "campaigns": 1
      },
      "sentiment": "positive"
    }
  ],
  "nextCursor": null
}