Slack is the most popular integration for Feedbaxster, but it's not the only option. If you want to push feedback events to a custom server, a workflow automation tool like Zapier or Make, a database, or anything else that accepts HTTP requests, webhooks are the way to do it.
The concept is simple: when something happens in Feedbaxster (new suggestion, issue resolved, QR code scanned), we send an HTTP POST request to a URL you specify. Your endpoint receives the event data as JSON and can do whatever it wants with it.
Setting up a webhook
In your Feedbaxster dashboard, go to Settings > Integrations and click Add Webhook.
The form has three fields:
Name — A label to help you remember what this webhook does. Examples: Zapier sync, CRM updater, Analytics pipeline.
URL — The HTTPS endpoint that will receive the POST requests. This can be a Zapier "Catch Hook" URL, a Make (Integromat) webhook URL, a custom endpoint on your own server, or any service that accepts inbound webhooks. The URL must use HTTPS. Plain HTTP is not supported.
Events — The same event categories available for Slack integrations. Pick the ones relevant to your use case.
Click Create Integration and the webhook is live.
What gets sent
Every webhook delivery is an HTTP POST with a JSON body structured like this:
{
"event": "suggestion.created",
"timestamp": "2026-04-04T14:30:00.000Z",
"business_id": "abc-123",
"data": {
"id": "suggestion-456",
"type": "suggestion",
"content": "The parking lot could use better lighting at night",
"status": "pending",
"priority": "medium",
"sentiment": "negative",
"sentiment_score": -0.6,
"customer_name": "Alex",
"customer_email": null,
"created_at": "2026-04-04T14:30:00.000Z"
}
}
The data object varies by event type. Suggestions include content, sentiment, and priority. Issues include a title, description, and assignee. Comments include the comment text and the entity it belongs to. Status change events include both the old and new status values.
Webhook signatures
Every delivery includes a signature so your endpoint can verify that the request came from Feedbaxster and wasn't spoofed.
When you create a webhook integration, Feedbaxster generates a secret key and shows it once. Store it securely. Each request includes an X-Feedbaxster-Signature header containing an HMAC-SHA256 hash of the request body, signed with your secret.
To verify a delivery on your server:
const crypto = require('crypto');
function verifyWebhook(body, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(body, 'utf8')
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}
If you're using Zapier or Make, you can skip verification — those platforms handle the connection securely on their end.
Retry behavior
If your endpoint returns a non-2xx status code or the request times out (10 second limit), Feedbaxster retries the delivery up to 3 times with exponential backoff:
- First retry: ~1 second after the initial failure
- Second retry: ~2 seconds after the first retry
- Third retry: ~4 seconds after the second retry
After three failed attempts, the delivery is marked as failed and moved to a dead letter queue. You can see all delivery attempts, including failures, in the Logs panel for each webhook.
Connecting to Zapier
Zapier can receive webhooks through its "Webhooks by Zapier" trigger.
- In Zapier, create a new Zap. For the trigger, search for Webhooks by Zapier and select Catch Hook.
- Zapier gives you a URL like
https://hooks.zapier.com/hooks/catch/123456/abcdef/. Copy it. - In Feedbaxster, create a webhook integration with that URL and the events you want.
- Click Test on the integration card to send a sample payload.
- Back in Zapier, click Test trigger. Zapier should pick up the test payload.
- Add whatever action you want: create a row in Google Sheets, send an email, update a CRM record, post to Discord, etc.
Connecting to Make (Integromat)
- In Make, create a new scenario. Add a Webhooks module and choose Custom webhook.
- Click Add to create a new webhook. Make gives you a URL. Copy it.
- In Feedbaxster, create a webhook integration with that URL.
- Send a test from Feedbaxster. Make will automatically detect the data structure.
- Add downstream modules to route the data wherever you need it.
Custom server endpoint
If you're building your own receiver, here's a minimal Express.js example:
const express = require('express');
const app = express();
app.use(express.json());
app.post('/webhooks/feedbaxster', (req, res) => {
const { event, data } = req.body;
console.log(`Received ${event}:`, data);
// Do something with the event
// - Save to a database
// - Forward to another service
// - Trigger an internal workflow
res.sendStatus(200);
});
app.listen(3000);
Return a 2xx status code quickly. If your processing takes more than a few seconds, accept the webhook immediately and handle the work asynchronously (e.g., with a job queue).
Monitoring and debugging
Each webhook integration has a Logs button that opens the delivery history. Every delivery shows the event type that triggered it, whether delivery succeeded or failed, the HTTP response code from your endpoint, the number of attempts, and the full payload (click to expand).
If deliveries are failing consistently, check that your endpoint is reachable, returns a 2xx status, and responds within 10 seconds.
Webhooks vs. Slack
Use Slack when you want your team to see and react to feedback in a place they already work.
Use webhooks when you want to push feedback data into another system: a CRM, a spreadsheet, a data warehouse, a custom dashboard, or an automation pipeline. Webhooks give you the raw data. What you do with it is up to you.
You can use both at the same time. A common setup: Slack for awareness, and a webhook feeding a Google Sheet or Airtable for tracking and reporting.