Webhooks
Receive real-time notifications when events happen in FeedIndex.
Webhooks let you receive HTTP POST requests when events occur in FeedIndex. Available on the Pro plan (up to 5 webhooks).
Setup
- Go to Workspace Settings > Integrations
- Click Add Webhook
- Enter your endpoint URL
- Choose a board to filter events, or leave as All boards to receive events from every board
- Select which events to subscribe to
- Save — your signing secret is shown once, copy it immediately
Signatures
Every webhook request includes an X-FeedIndex-Signature header — an HMAC-SHA256 of the request body, computed with your signing secret.
The secret is shared only between FeedIndex and your server. Because HMAC is a keyed hash, nobody without the secret can produce a signature that will match when you recompute it on your end. That's what proves a request really came from us: if someone POSTs to your webhook URL with a forged payload, they can't compute the right signature, and your verification will reject it.
See Signature Verification for code examples and the exact verification steps.
Board filtering
Each webhook can be scoped to a specific board or set to All boards. When scoped to a board, only events from that board are delivered. Use this to send different boards' events to different endpoints — or leave as All boards and route events yourself using the boardId field in the payload.
Event types
| Event | Trigger |
|---|---|
post.created | A new post is submitted |
post.status_changed | A post's status is updated |
post.approved | A pending post is approved |
post.deleted | A post is deleted |
Payload format
All webhook payloads follow this structure:
{
"event": "post.created",
"data": {
"postId": "uuid",
"postTitle": "Add dark mode",
"boardId": "uuid",
"boardName": "Feature Requests"
},
"timestamp": "2026-03-22T14:00:00.000Z"
}The data object always includes boardId and boardName. Additional fields vary by event type — for example, post.status_changed also includes fromStatus and toStatus. The timestamp is an ISO 8601 string.
Limits
Each Pro workspace can create up to 5 webhooks. If you need more granular routing, use a single "All boards" webhook and route events in your own endpoint using the boardId field.
Delivery
- Webhooks are delivered as HTTP POST requests with a JSON body
- The destination must resolve to a public IP address on every delivery attempt
- Your endpoint must return a
2xxstatus code within 10 seconds - Failed deliveries are not retried (fire-and-forget)
- Two headers are included:
X-FeedIndex-SignatureandX-FeedIndex-Event