Webhook Notifications
Send real-time feedback notifications to your own systems and third-party tools. Build custom workflows that integrate Feedbackview with Slack, Discord, Microsoft Teams, or any HTTP endpoint.
⚡Pro Feature
Webhook notifications are available on Pro plans and above. Upgrade to unlock real-time integrations with your development and communication tools.
View Pricing →How Webhooks Work
When new feedback matches your notification rules, Feedbackview sends an HTTP POST request to your specified webhook URL. This happens in real-time, typically within seconds of feedback submission.
Webhook Flow
- 1User submits feedback through your widget
- 2Feedbackview evaluates your notification rules
- 3If rules match, webhook payload is prepared
- 4POST request sent to your webhook URL (10s timeout)
- 5Your system receives and processes the feedback data
Webhook Payload
Every webhook request includes a structured JSON payload with complete feedback data and metadata. Here's what you'll receive:
{
"event": "feedback.created",
"project": {
"id": "proj_abc123",
"name": "My SaaS App"
},
"feedback": {
"id": "fb_xyz789",
"title": "Cannot save my profile changes",
"description": "Clicking save button does nothing. Tried in Chrome and Firefox.",
"type": "bug",
"impact_score": 4,
"name": "Sarah Chen",
"email": "[email protected]",
"created_at": "2024-01-15T14:30:00.000Z"
},
"timestamp": "2024-01-15T14:30:01.234Z"
}Payload Fields
| Field | Type | Description |
|---|---|---|
| event | string | Always "feedback.created" for new feedback |
| project.id | string | Your project identifier |
| project.name | string | Human-readable project name |
| feedback.id | string | Unique feedback identifier |
| feedback.type | string | One of: bug, feedback, question, feature |
| feedback.impact_score | number | Impact level from 1 (minimal) to 5 (critical) |
| timestamp | string | ISO 8601 timestamp when webhook was sent |
Security & Authentication
Feedbackview webhooks include security features to verify the authenticity of requests and protect against unauthorized access.
HMAC Signature Verification
When you provide a webhook secret, Feedbackview signs each request with HMAC-SHA256. The signature is included in the X-Feedbackview-Signature header.
# Example signature header
X-Feedbackview-Signature: sha256=8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
# Verify in Node.js
const crypto = require('crypto')
function verifySignature(payload, signature, secret) {
const expectedSignature = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex')
const receivedSignature = signature.replace('sha256=', '')
return crypto.timingSafeEqual(
Buffer.from(expectedSignature, 'hex'),
Buffer.from(receivedSignature, 'hex')
)
}
// Usage
const isValid = verifySignature(
JSON.stringify(req.body),
req.headers['x-feedbackview-signature'],
process.env.WEBHOOK_SECRET
)Request Headers
All webhook requests include these headers:
Content-Type: application/jsonUser-Agent: Feedbackview-Webhook/1.0X-Feedbackview-Signature: sha256=...(when secret provided)
Configuration
Set up webhooks from your project's notification settings. The same alert conditions that apply to email notifications also determine when webhooks are triggered.
- 1Navigate to Webhook Settings
Go to Settings → Notifications → Webhooks tab
- 2Enable Webhooks
Toggle on "Enable Webhook Notifications"
- 3Add Webhook URL
Enter your endpoint URL (must be HTTPS in production)
- 4Set Webhook Secret (Optional)
Add a secret key for HMAC signature verification
- 5Test Your Webhook
Click "Test Webhook" to verify connectivity
- 6Configure Alert Rules
Go to Advanced Settings to set feedback types, impact scores, and keywords
🔒 Security Tip: Always use HTTPS for production webhook URLs and implement signature verification to ensure requests are from Feedbackview.
Popular Integrations
Webhooks enable integration with virtually any tool. Here are some popular use cases and example implementations:
#Slack Notifications
Send feedback alerts directly to your Slack channels
Setup:
- 1. Create a Slack incoming webhook
- 2. Use middleware to format Feedbackview payload
- 3. Forward to Slack with custom styling
🎫Linear/Jira Integration
Automatically create tickets for bug reports
Features:
- • Auto-create issues for bugs
- • Set priority based on impact score
- • Include user contact information
- • Link back to Feedbackview dashboard
📧Custom Email Routing
Route feedback to specific team members
Use Cases:
- • Route bugs to engineering team
- • Send feature requests to product
- • Critical issues to on-call engineer
📊Analytics Integration
Send feedback data to your analytics platform
Possibilities:
- • Track feedback metrics in Datadog
- • Create custom dashboards
- • Set up alerting thresholds
- • Correlate with product metrics
Webhook Testing
Feedbackview includes built-in testing tools to help you debug and validate your webhook integration.
Test Webhook Feature
Use the "Test Webhook" button in your settings to send a sample payload:
{
"event": "webhook.test",
"project_id": "proj_abc123",
"project_name": "My SaaS App",
"timestamp": "2024-01-15T14:30:00.000Z",
"data": {
"message": "This is a test webhook from feedbackview.io",
"test": true
}
}Debugging Tips
- •Use tools like
ngrokfor local development testing - •Webhook timeouts are 10 seconds - ensure your endpoint responds quickly
- •Return 2xx status codes to acknowledge successful receipt
- •Log webhook payloads during development to understand the data structure
- •Feedbackview does not retry failed webhooks - implement your own retry logic if needed
Error Handling
When webhook delivery fails, Feedbackview logs the error for your review. Common issues and solutions:
Webhook endpoint not responding?
- • Check if your server is running and accessible from the internet
- • Verify the webhook URL is correct and uses HTTPS
- • Test connectivity with
curlor similar tools - • Check firewall rules and load balancer configuration
- • Ensure your endpoint returns a 2xx status code
Signature verification failing?
- • Ensure you're using the exact same secret configured in Feedbackview
- • Verify you're hashing the raw request body (not parsed JSON)
- • Check that you're comparing signatures using timing-safe comparison
- • Make sure to strip the "sha256=" prefix before comparison
- • Test with the webhook test feature first
Webhooks timing out?
- • Optimize your webhook handler to respond within 10 seconds
- • Process webhook data asynchronously after responding
- • Queue heavy operations for background processing
- • Return early with 200 OK, then handle the payload
Best Practices
✅ Do This
- •Implement signature verification for security
- •Use HTTPS endpoints for production
- •Respond with 2xx status codes promptly
- •Log webhook events for debugging
- •Handle duplicate events gracefully
- •Process heavy operations asynchronously
❌ Avoid This
- •Don't perform expensive operations in webhook handler
- •Don't rely on webhooks for guaranteed delivery
- •Don't expose webhook URLs publicly
- •Don't skip signature verification
- •Don't ignore error handling
- •Don't hardcode sensitive data in webhook handlers