Events
Hyperspell sends webhooks for the following events:| Event | Description |
|---|---|
connection-created | A user has connected a new account (e.g. Notion, Google Drive, Slack) |
index-started | A memory has started indexing |
index-completed | A memory has finished indexing |
Webhook payload
You will receive a JSON payload with the following fields:The event that triggered the webhook. One of
connection-created, index-started, or index-completed.The app slug that triggered the webhook.
The user id that triggered the webhook. Maybe be
null.The source that triggered the webhook, ie.
notion, slack, web_crawler, etc.The resource id that triggered the webhook. Present on
index-started and index-completed events. For the web_crawler source, this is the URL that started the crawl.The connection id. Present on
connection-created events.The integration id. Present on
connection-created events.The timestamp of the event in seconds since the Unix epoch.
A SHA256 hash of the webhook payload using the app secret as the key. You can verify the hash to ensure the request is from Hyperspell.
Verifying the webhook
To verify that the webhook is coming from Hyperspell, you can use theX-Hyperspell-Signature header. This is a SHA256 hash of the webhook payload using the app’s secret as the key. You can get the secret from the Dashboard (it’s the same as the JWT Secret)
You can verify the hash to ensure the request is from Hyperspell. Here’s an example of how to receive and verify the webhook: