Overview
Webhooks allow you to react to important events in your project by sending HTTP POST requests to a URL you specify. For example, you can use webhooks to:- Update your CRM when a user signs up for your project.
- Notify your team in Slack when a new user subscribes to a paid plan.
- Keep your database in sync when a user is created or updated.
- Get noticed when a user reached their quota limit.

Register a webhook
To register a webhook:- Open the Webhooks page in your dashboard.
- Then click on create a webhook
- Enter the URL of the endpoint that will receive the webhook requests.
- Enter a description for you to remember what this webhook is for.
- Select all the events you want to receive HTTP requests for.
You can register as many webhook URLs as you want. Every webhook URL can handle one or more subscription.

Security considerations
Every webhook request sent by Kobble will be signed with a secret key. It’s crucial to validate the signature of the request to ensure that it was sent by Kobble and not by a malicious user. To validate the signature, you need to compare the signature sent in theKobble-Signature
header with the signature of the request body.
The signature is a HMAC-SHA256 hash of the request body using the secret key as the key.
Get your secret key
You can get your secret key in the webhook detail page.
Validate the signature
To validate the signature, you need to compare the signature sent in theKobble-Signature
header with the signature of the request body.
Here is an example of how to validate the signature in Node.js and Python:
The Node.js SDK or Go SDK provides a method to validate the signature for you.
Request Headers
Kobble will always send the following headers with a webhook request:- Kobble-Signature: ‘signature’,
- Kobble-Signature-Algorithm: sha256 by default
- User-Agent: Kobble Webhooks/1.0
Test a webhook
The easiest way to test a webhook is to use the Send ping event button located in the webhook detail page.

If you want to test a webhook with a specific payload, the best way is to use the application as a user would do.