All CollectionsAPIUsing Webhooks

Using Webhooks

Push real-time events from SalesMind AI to your own server or CRM.

Updated 2 days ago

SalesMind AI can send event data to your server the moment something happens — a connection request goes out, a prospect accepts, a reply comes in, or a conversation gets tagged. Instead of polling the API, your endpoint gets a POST request with the full context.

This guide shows you how to set up a webhook endpoint, pick the events you care about, and handle the payload.

Prerequisites

  • A SalesMind AI account with at least one active sender
  • A publicly accessible HTTPS endpoint that can receive POST requests

How webhooks work

SalesMind AI fires a webhook whenever a relevant event happens on a conversation thread in your inbox — whether triggered by a campaign action or a manual change you make in the UI. Each event sends an HTTP POST request to the URL you set up.

Available event types

Event typeFires when…
activity.invitation.sent.v1A connection request is sent to a prospect
activity.connection.accepted.v1A prospect accepts your connection request
activity.message.received.v1A prospect replies to your conversation
activity.threadbox.tags.update.v1A tag is added or removed on a conversation thread

Set up your webhook endpoint

  1. In the left sidebar, click the Settings gear icon at the bottom.
  2. Click Webhooks.
  3. Paste your HTTPS endpoint URL.
  4. Pick the event types you want to receive.
  5. Select which agents you want to receive events from.
  6. Click Save.

💡 Tip: Use the Test button to send a sample payload to your endpoint. This confirms your server can receive requests before any real events fire.

Understand the payload

Every webhook delivery sends a JSON object with three top-level fields and a nested data object containing the full context.

Top-level fields:

FieldDescriptionExample
idUnique delivery ID (used as idempotency key)df313559-7cb1-...
typeThe event typeactivity.connection.accepted.v1
timestampWhen the event occurred (ISO 8601)2026-02-06T05:05:36+01:00

The data object contains these sections:

SectionWhat it contains
data.agentYour agent name, company details, services, brand tone of voice, and sales playbook
data.campaignCampaign ID, name, status, objective, product page URL, landing page URL, and campaign type
data.campaignContactContact status in campaign (e.g. invitation_send), last activity details, and terminated flag
data.threadBoxSender and contact full names, tags array, conversation status, fit score, AI rationale, persona name, and answer status
data.senderFull LinkedIn profile of the sending account, knowledge base contact info, and MBTI personality analysis
data.contactProspect's LinkedIn profile, headline, summary, location, skills, current companies, and MBTI analysis
data.messagesArray of messages in the conversation thread

Security headers included with every delivery:

HeaderDescription
webhook-signatureHMAC signature to verify the request came from SalesMind AI
webhook-timestampUnix timestamp of when the payload was sent
webhook-idempotency-keyUnique key to prevent processing duplicate deliveries
webhook-key-idIdentifies which signing key was used

💡 Tip: The full payload is large and includes the complete agent context. Send a test webhook to your endpoint first, then use that JSON to map only the fields you need in your handler.

Check delivery history

You can check whether a webhook fired and review its delivery status directly in the app. Go to SettingsWebhooks to see recent deliveries, their status codes, and timestamps.

Common pitfalls

"The test works but real events don't fire"

Make sure you have an active campaign with prospects moving through the workflow. Webhooks fire when the system takes an action (sends an invite, gets a reply, tags a thread) or when you manually change a tag. If no activity is happening, there are no events to send.

"I'm getting events but the payload is missing fields"

The payload varies slightly by event type. An activity.invitation.sent.v1 event won't have reply-related fields, for example. Check the test payload for your specific event type to see which fields are included.

"The payload is very large"

This is expected. Each delivery includes the full agent context (services, sales playbook, brand tone of voice) so your handler has everything it needs to route and process the event. Parse only the fields you need.

Key takeaways

  • Webhooks push real-time data to your server when events happen — both automated campaign actions and manual changes.
  • Four event types cover the full outreach lifecycle: invite sent, connection accepted, message received, and tag updated.
  • The payload includes the complete agent, campaign, and contact context in a nested JSON structure.
  • Security headers let you verify that each delivery came from SalesMind AI.
  • Start with a test webhook to capture the full payload shape before you build your handler.