Ask or search…


Configuring Webhooks

Endpoints can be configured in each workspace in order for an app to receive webhook notifications for resources such as Devices and Connected Accounts.
To configure webhook endpoints:
  1. 1.
    Navigate to the webhook menu.
  2. 2.
    Click the "+ Add Webhook" button.
  3. 3.
    Enter your Webhook URL, and select the event types you want to receive events for.
  4. 4.
    Click "Create".
  5. 5.
    Copy your Webhook Secret and store it somewhere secure. You'll be using this to validate the payloads you receive on your Webhook.
You can add webhooks via the Seam Dashboard or programmatically. Let's start by looking at how to add and test a webhook via the dashboard.
Press "Add Webhook" to create a webhook for your device events
You can specify any public URL endpoint to receive webhook events by pasting the URL into the "Add Webhook" dialog.
You can specify any internet-accessible URL for your webhook URL
Webhook endpoints can receive many different types of events such as device.connected or device.low_battery . It's a good idea when getting started with webhooks to review the list of webhook event types and test your endpoint using the sandbox environment.
The sandbox environment allows you to test sending requests to an endpoint.
You can view all the event types and their fields in the "Event Catalog" tab.
Go to the "Event Catalog" tab to view all available events.
We use webhooks from svix! If you want more information about consuming events such as testing or verifying webhooks, you can get more info from the svix docs.

Retry Schedule for Webhooks

Seam delivers each webhook event based on a retry schedule with exponential backoff. Each message is attempted based on the following schedule, where each period is started following the failure of the preceding attempt.
  • Immediately
  • 5 seconds
  • 5 minutes
  • 30 minutes
  • 2 hours
  • 5 hours
  • 10 hours
  • 10 hours (in addition to the previous)
For example, an attempt that fails three times before eventually succeeding will be delivered roughly 35 minutes and 5 seconds following the first attempt.
If you remove or disable a webhook, delivery attempts to the endpoint will be disabled as well.