Custom webhooks
Build anything on top of Analyse: every blog event can be delivered to your own HTTP endpoint as a JSON payload, signed with HMAC-SHA256 so you can verify its origin.
Every blog event
Subscribe to blog_post.published, updated, unpublished, and deleted — each delivered as an HTTP POST with a JSON body.
HMAC-signed requests
With a signing secret set, each request includes an X-Analyse-Signature header — the HMAC-SHA256 of the raw body — so your endpoint can verify authenticity.
Multiple endpoints
Add as many webhook endpoints as you need, each with its own URL, secret, and event subscriptions.
How it works
Point Analyse at your endpoint, pick the events, and verify the signature.
- 1
Add your endpoint
In Analyse, open Integrations → Webhook and enter the URL that should receive events, plus an optional signing secret.
- 2
Choose your events
Select which blog events are delivered — published, updated, unpublished, or deleted.
- 3
Verify the signature
Compute the HMAC-SHA256 of the raw request body with your secret and compare it to the X-Analyse-Signature header.
- 4
Send a test event
Deliver a sample payload to confirm your endpoint handles it correctly.
Frequently asked questions
What does the payload look like?
An HTTP POST with Content-Type: application/json containing the event name, a timestamp, and the post data: id, title, slug, excerpt, markdown body, featured image URL, publish date, URL, and categories. Unpublished and deleted events carry a null body.
Which events are available?
blog_post.published, blog_post.updated, blog_post.unpublished, and blog_post.deleted. You choose which ones each endpoint receives.
How do I verify a request came from Analyse?
Set a signing secret; every delivery then includes X-Analyse-Signature: sha256=<hex>, the HMAC-SHA256 of the raw body using your secret. Reject anything that doesn't match.