Webhooks: link clicks land on your server automatically
Lix.li sends an event for every click straight to your URL via HTTP POST — in real time, HMAC-signed, with reliable delivery. No constant API polling: the data arrives the moment someone clicks.
Real-time · HMAC signature · retries and delivery log
Why use webhooks
Get click data the instant it happens and build your own workflows on top of it
Real-time
Events arrive the moment a click happens. No need to poll the API on a schedule and wait for updates.
Data on every click
Country, city, device, OS, browser, referrer, and a bot flag — everything you need for your own analytics.
Secure by design
Every request is signed with HMAC using your own secret, so you can easily tell real events from spoofed ones.
Reliable delivery
If your server is down, delivery is retried. Every attempt and status is visible in the delivery log.
Use cases
Where teams typically route click events
Your own analytics or CRM
Pipe every click into your own database or CRM and build reports exactly the way you want.
Chat notifications
Have a Telegram, Slack, or Discord bot post about new clicks instantly, with no manual checking.
Automation
Trigger workflows in Zapier, Make, or n8n: a click event becomes the trigger for any downstream action.
What's inside a webhook
The redirects.batch event: a single payload bundles a batch of clicks from one time window
The visitor's IP address is not included by default (it's personal data) — it's only added if you explicitly enable it for that endpoint.
What webhooks can do
Flexible configuration, strong security, and predictable delivery
Batched event delivery
Clicks arrive in batches (redirects.batch) over a time window — that saves requests to your server.
Scope it your way
All account links, one specific group, or a single link — get only the events you actually need.
HMAC signature
Every request is signed with your secret. You can rotate the secret at any time.
Retries and auto-disable
An unreachable server gets retried; a persistently dead endpoint is disabled automatically.
Delivery log
A history of every send, with statuses and bodies — easy to trace what went wrong.
Test send (ping)
Validate your integration with one click before any real traffic — your server gets a test event.
Rich event data
link_id, timestamp, country, city, OS, device, browser, referrer, and bot flag for every click.
Private by default
IP address isn't sent unless you explicitly turn it on for a specific endpoint.
How to set up a webhook
Five steps — from your server's URL to a live stream of click events
Create an endpoint
Sign up on Lix.li, open the Webhooks section, and enter your server's URL — Lix.li will send click events there.
Choose the scope
Decide which links to get events for: all links in your account, one specific group, or a single link.
Save the signing secret
Lix.li issues a secret key. Every request is signed with HMAC — check the signature header to confirm the event really came from Lix.li.
Send a test request
Click "Test" (ping) and confirm your server accepts the request and returns a 2xx. That validates the integration before real traffic hits it.
Watch the delivery log
The log shows every send, its status, and any retries. If your server is unreachable, delivery is retried, and a persistently dead endpoint gets disabled automatically.
Webhooks FAQ
Build integrations on click events
Set up a webhook in a couple of minutes — and get click data exactly where you need it.
Webhooks on Lix.li are a way to get click notifications for your short links automatically. Instead of polling an API around the clock, you give Lix.li your server's URL, and it sends an HTTP POST there the moment someone clicks. That's a classic HTTP callback for short links, delivering click events into your system in real time.
Every request body is a redirects.batch event with an array of clicks: each one carries a
timestamp, country, city, browser, operating system, device, referrer, and a bot flag. It's easy to pipe
that data into your own database or CRM, turn it into click notifications in Telegram, Slack, or
Discord, or use it as a trigger in Zapier, Make, and n8n. Requests are protected by an HMAC
signature: you check the signature header against the body to filter out forgeries, and you can
rotate the secret whenever you need to.
Delivery is predictable: if your server has an outage, events get retried, a persistently dead endpoint is temporarily disabled, and every attempt shows up in the delivery log. You can scope things to all your links, a single group, or one link, and validate the integration with a test send (ping) before any real traffic. Webhooks work alongside regular Lix.li short links, QR codes, and analytics, and are available on the Premium plan.