BetaThe V4 API is in beta — endpoints and functionality may change.

Receive webhooks locally

Tunnel localhost and subscribe to v4 webhook events while developing.

To develop against inbound events on your laptop:

  1. Run a local HTTP server that accepts POST and reads the raw body.
  2. Expose it with a tunnel (ngrok, Cloudflare Tunnel, etc.).
  3. 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 it

Save 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.