Receive webhooks locally
Tunnel localhost and subscribe to v4 webhook events while developing.
To develop against inbound events on your laptop:
- Run a local HTTP server that accepts
POSTand reads the raw body. - Expose it with a tunnel (ngrok, Cloudflare Tunnel, etc.).
- Create a v4 webhook pointed at the public URL.
Create a v4 webhook
curl -X POST https://api.blooio.com/v4/webhooks \
-H "Authorization: Bearer bl_live_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://YOUR_TUNNEL.example/blooio",
"event_types": ["message.received", "message.*"]
}'Try itSave the signing_secret from the response and verify signatures — see Webhook signatures.
Minimal receiver (Node)
import express from "express";
const app = express();
app.post(
"/blooio",
express.raw({ type: "*/*" }),
(req, res) => {
const raw = req.body.toString("utf8");
console.log(req.headers["x-blooio-signature"]);
console.log(raw);
res.sendStatus(200);
},
);
app.listen(3000);Always return 2xx quickly; do heavy work asynchronously.