Webhooks
Replyt can notify any external URL when new mentions are found — compatible with Zapier, Make, and custom backends.
What webhooks do
After the daily scan inserts new mentions for a project, Replyt sends a POST request to every active webhook configured for that project. The payload contains the full list of new mentions found in that run.
Use webhooks to:
- Get a Slack or Discord notification when a high-intent thread appears
- Push mentions into a CRM, Notion database, or Airtable
- Trigger a custom automation in Make or Zapier
- Send an SMS alert when a competitor mention is found
Creating a webhook
Use the REST API to create, list, and delete webhooks. All requests require authentication (your logged-in session cookie or a Bearer token).
Create
POST /api/webhooks
Content-Type: application/json
{
"url": "https://hooks.zapier.com/hooks/catch/12345/abcdef",
"label": "Zapier — Slack alert",
"project_id": "your-project-uuid", // optional — omit to receive all projects
"secret": "your-signing-secret" // optional — for HMAC verification
}List
GET /api/webhooksDelete
DELETE /api/webhooks/:idToggle active
PATCH /api/webhooks/:id
Content-Type: application/json
{ "is_active": false }project_id to receive events from all your projects in one webhook. Or create one webhook per project if you need per-project routing.Payload format
The webhook body is a JSON object sent with Content-Type: application/json:
{
"event": "new_mentions",
"project_id": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-04-28T10:05:00.000Z",
"count": 3,
"mentions": [
{
"title": "How do you track which Reddit comments drive signups?",
"url": "https://reddit.com/r/indiehackers/comments/abc123/...",
"channel_type": "reddit",
"subreddit": "indiehackers",
"matched_keyword": "track reddit signups",
"score": 142,
"relevance_score": 9
}
]
}Fields
event— always"new_mentions"for now.project_id— UUID of the project the mentions belong to.timestamp— ISO 8601 datetime of when the webhook was fired.count— total number of new mentions in this batch.mentions— array of mention objects. Each has title, URL, channel, keyword, score, and relevance score.
HMAC signature verification
If you provide a secret when creating the webhook, Replyt sends a signature header with every request so you can verify the payload wasn't tampered with:
X-Replyt-Signature: sha256=3f8a7b2c...To verify in Node.js:
import { createHmac } from 'node:crypto'
function verify(body, secret, signatureHeader) {
const expected = 'sha256=' +
createHmac('sha256', secret).update(body).digest('hex')
return expected === signatureHeader
}Zapier setup
Zapier's Webhooks by Zapier app makes it easy to receive Replyt events:
- In Zapier, create a new Zap and choose Webhooks by Zapier → Catch Hook as the trigger.
- Copy the Zapier webhook URL (starts with
https://hooks.zapier.com/...). - Create a Replyt webhook via
POST /api/webhooksusing that URL. - Trigger a test scan (or wait for the daily scan) to send a test payload.
- In Zapier, click "Test trigger" — it should receive the mention data.
- Add your action (Slack message, Notion page, Gmail, etc.) using the mention fields.
relevance_score is ≥ 8. This way only the highest-intent threads trigger your action.Make (Integromat) setup
- In Make, create a new scenario and add a Webhooks → Custom webhook module.
- Copy the Make webhook URL and create a Replyt webhook with it.
- Click "Redetermine data structure" in Make, then trigger a scan.
- Make will auto-detect the JSON structure from the incoming payload.
- Add downstream modules: Slack, Google Sheets, Airtable, Notion, etc.
Reliability notes
- Replyt fires each webhook with a 8-second timeout. If your endpoint is slow or unreachable, the webhook is dropped silently (logged in server logs but not retried).
- Webhooks are fired per-project after each successful batch insert. If a scan finds 0 new mentions, no webhook is sent.
- Failed deliveries are not retried — ensure your endpoint is stable and returns a 2xx response quickly.