Custom Webhooks
Send alert data to any HTTP endpoint. Perfect for custom integrations, internal tools, or services not directly supported by Roboticks.Features
- Configurable HTTP method (POST, PUT, etc.)
- Custom headers for authentication
- JSON payload with full alert details
- Webhook signature for security (HMAC-SHA256)
- Automatic retry on failure
Setup
Step 1: Set Up Your Endpoint
Create an HTTP endpoint on your server that can receive POST requests with JSON payloads:Step 2: Configure in Roboticks
- Go to Settings > Integrations in Roboticks
- Find Custom Webhook and click Add
- Enter your webhook URL
- Optionally add a signing secret for verification
- Click Create
Step 3: Test the Integration
Use the Test button to send a sample payload and verify your endpoint is working correctly.Configuration Options
| Option | Description | Required |
|---|---|---|
| Webhook URL | Your endpoint URL (HTTPS recommended) | Yes |
| HTTP Method | POST, PUT, PATCH | No (default: POST) |
| Signing Secret | Secret for HMAC signature verification | No |
| Name | Display name for this integration | Yes |
| Enabled | Toggle the integration on/off | - |
Payload Format
Webhooks receive JSON payloads with the following structure:Event Types
| Event Type | Description |
|---|---|
alert.triggered | Alert condition met |
alert.resolved | Alert condition cleared |
alert.acknowledged | Alert acknowledged by user |
Signature Verification
If you provide a signing secret, all webhooks include anX-Roboticks-Signature header:
Verification Steps
- Get the raw request body (before JSON parsing)
- Compute HMAC-SHA256 using your signing secret
- Compare with the
X-Roboticks-Signatureheader value
- Python
- Node.js
- Go
Retry Behavior
Failed webhook deliveries are automatically retried:| Attempt | Delay |
|---|---|
| 1st retry | 1 minute |
| 2nd retry | 5 minutes |
| 3rd retry | 30 minutes |
| Final retry | 2 hours |
Troubleshooting
Webhook not being called
Webhook not being called
- Verify the URL is correct and publicly accessible
- Check that HTTPS certificate is valid (if using HTTPS)
- Ensure your firewall allows incoming requests
- Review integration logs for error messages
Signature verification failing
Signature verification failing
- Ensure you’re using the raw request body (not parsed JSON)
- Verify the signing secret matches exactly
- Check for any proxy modifications to the payload
Timeout errors
Timeout errors
- Webhook endpoints should respond within 30 seconds
- Process webhooks asynchronously if needed
- Return 200 OK immediately, process data in background
Wrong HTTP method
Wrong HTTP method
Default is POST. If your endpoint requires PUT or PATCH, configure the HTTP Method option.
Best Practices
- Always verify signatures - Protect against unauthorized webhook calls
- Respond quickly - Return 200 OK within 30 seconds
- Handle duplicates - Use
alert.idfor idempotency - Use HTTPS - Encrypt webhook data in transit
- Log incoming webhooks - Helpful for debugging integration issues