Skip to main content

Webhook Events

Superleap can send webhooks for the following events:

Event Naming Convention

Events in Superleap follow a consistent naming pattern:
object_slug.verb
  • object_slug: The identifier of the object (e.g., “lead”, “user”, “opportunity”)
  • verb: The action that occurred (e.g., “create”, “update”, “delete”)
For example, when a lead is created, the event name is lead.create.

Standard Object Events

These events correspond to the built-in objects in Superleap.
EventDescription
user.createTriggered when a new user is created
user.updateTriggered when user information is updated
user.deleteTriggered when a user is deleted
lead.createTriggered when a new lead is created
lead.updateTriggered when lead information is updated
lead.deleteTriggered when a lead is deleted
opportunity.createTriggered when a new opportunity is created
opportunity.updateTriggered when opportunity information is updated
opportunity.deleteTriggered when an opportunity is deleted

Custom Object Events

For any custom object defined in your Superleap account, events follow the same pattern. If you have a custom object with slug student, you’ll receive events like:
EventDescription
student.createTriggered when a new student is created
student.updateTriggered when a student’s information is updated
student.deleteTriggered when a student’s information is deleted

Webhook Payloads

Webhook payloads are sent as JSON in the request body and contain only three main keys:
  • before: The state of the record before the change (empty object {} for create events)
  • after: The state of the record after the change (empty object {} for delete events)
  • diff: Contains only the new values of fields that were changed
All event metadata is included in the HTTP headers:
HeaderExampleDescription
x-superleap-event-idcK2p5W:lead:1741686315971:cK2p5W_QgAejsx2:lead.create:9qRSOzKsUnique identifier for the event
x-superleap-eventlead.createType of event that triggered the webhook
x-superleap-signaturesha256=...HMAC SHA-256 signature of the request payload using your webhook secret
Example update event payload:
{
  "before": {
    "id": "lead_987654321",
    "name": "John Smith",
    "email": "[email protected]",
    "status": "new",
    "created_at": 1740126808148
  },
  "after": {
    "id": "lead_987654321",
    "name": "John Smith",
    "email": "[email protected]",
    "status": "qualified",
    "created_at": 1740126808148
  },
  "diff": {
    "email": "[email protected]",
    "status": "qualified"
  }
}
For create events, the before field will be an empty object:
{
  "before": {},
  "after": {
    "id": "lead_987654321",
    "name": "Jane Doe",
    "email": "[email protected]",
    "status": "new",
    "created_at": 1740126808148
  },
  "diff": {
    "id": "lead_987654321",
    "name": "Jane Doe",
    "email": "[email protected]",
    "status": "new",
    "created_at": 1740126808148
  }
}
For delete events, the after field will be an empty object:
{
  "before": {
    "id": "lead_987654321",
    "name": "Jane Doe",
    "email": "[email protected]",
    "status": "lost",
    "created_at": 1740126808148
  },
  "after": {},
  "diff": {}
}