Analytics
Segment Webhooks
Customer data platform. Receive events for track, identify, page, and group calls via webhook destination.
Connecting Segment to Hookbase
Create a source in Hookbase first — it gives you an ingest URL to paste into Segment. Then:
- 1Go to Segment → Destinations → Add Destination → Webhooks
- 2Connect it to your source
- 3Set the Webhook URL to your Hookbase ingest URL
- 4Set a Shared Secret for signature verification
- 5Events from your Segment source will flow through to Hookbase
Signature verification
Segment signs its webhooks with HMAC-SHA1 in X-Signature, and Hookbase has no verifier for that combination today. We would rather say so here than let a source report every event as verified while nothing was checked.
What you can do:
- Receive them on a
customsource with no signing secret. Hookbase still dedupes, retries, transforms, routes and replays them; it just does not vouch for the sender. - Set a signing secret anyway if Segment can be configured to send a hex HMAC-SHA256 of the raw body in
X-Signature,X-Webhook-SignatureorX-Hub-Signature-256— that is the one scheme the custom verifier implements. - Verify downstream: the original headers travel with the event, so your own service or a transform can check the signature itself. The key is at Segment → Destinations → Webhooks → Settings → Shared Secret.
- Narrow the blast radius with an IP allowlist and a hard-to-guess source slug.
Segment event types
5 of the events people route most often. Hookbase accepts every event Segment sends, whether or not it is listed here.
track
A track event was sent (user action)
identify
An identify event was sent (user traits)
page
A page view event was sent
group
A group event was sent (company/team)
screen
A screen view event was sent (mobile)
What a Segment webhook looks like
A track payload. Hookbase stores the raw body exactly as it arrived, so this is also what you get back on a replay.
{
"type": "track",
"event": "Order Completed",
"userId": "user_abc123",
"timestamp": "2024-01-15T10:30:00.000Z",
"properties": {
"order_id": "ord_def456",
"total": 59.99,
"currency": "USD",
"products": [
{
"product_id": "prod_ghi789",
"name": "Premium Widget",
"price": 29.99,
"quantity": 2
}
]
},
"context": {
"page": {
"url": "https://example.com/checkout"
},
"userAgent": "Mozilla/5.0..."
},
"messageId": "msg-jkl012"
}Start receiving Segment webhooks
Create a source, paste the URL into Segment, and watch the first event arrive. The free tier includes 1,000 events a month.
Get Started Free