Skip to main content

Webhooks Overview

Slate POV Platform webhooks allow you to receive real-time event notifications from the platform, such as when a contact is created or an application status changes.

What are Webhooks?

A webhook is an event-driven method of communication between applications. Unlike typical APIs where you would need to poll for data very frequently to get it “real-time”, webhooks only send data when there is an event to trigger the webhook. This makes webhooks seem “real-time”, but it’s important to note that they are asynchronous.
Important: Webhooks are asynchronous. If you are onboarding a new user, you can’t rely on the webhook delivery as part of that flow. Typically the delivery will happen quickly, but it’s not guaranteed to be delivered immediately or at all.

How the Webhooks Work

When an event occurs, Slate POV Platform will send an HTTP POST request to your webhook endpoint configured for the event type. The payload carries a JSON object. You can then use the information from the request’s JSON payload to trigger actions in your app, such as sending a notification or updating a database. Slate POV Platform uses Svix to send our webhooks, ensuring reliable delivery and security.

Payload Structure

The payload of a webhook is a JSON object that contains the following properties:
  • event: the type of event that triggered the webhook
  • timestamp: timestamp in ISO 8601 format of when the event occurred
  • source: always set to "homestar_pov_platform"
  • data: contains the actual payload sent by Slate POV Platform

Example Payload

{
  "event": "contact.created",
  "timestamp": "2024-01-15T10:30:00Z",
  "source": "homestar_pov_platform",
  "data": {
    "slatePrimaryContactId": "user_29w83sxmDNGwOuEthce5gg56FcC",
    "email": "example@example.org",
    "firstName": "Example",
    "lastName": "Example",
    "phoneNumber": "+61412345678"
  }
}
The payload should always be treated as unsafe until you validate the incoming webhook. Webhooks will originate from another server and be sent to your application as a POST request. A bad actor would fake a webhook event to try and gain access to your application or data.

Event Types

Slate POV Platform emits several types of events:

Delivery & Reliability

Retry Schedule

Svix will use a set schedule and retry any webhooks that fail. To see the up-to-date schedule, see the Svix Retry Schedule. If Svix is attempting and failing to send a webhook, and that endpoint is removed or disabled from the Webhooks page in the Slate POV Platform Dashboard, then the attempts will also be disabled.

Message Replay

If a webhook message or multiple webhook messages fail to send, you have the option to replay the webhook messages. This protects against your service having downtime or against a misconfigured endpoint. To replay webhook messages:
  1. In the Slate POV Platform Dashboard, navigate to the Webhooks page
  2. Select the affected endpoint
  3. In the Message Attempts section, next to the message you want to replay, select the menu icon on the right side, and then select Replay
  4. The Replay Messages menu will appear. You can choose to:
    • Resend the specific message you selected
    • Resend all failed messages since the first failed message in that date range
    • Resend all missing messages since the first failed message in that date range

Next Steps

I