Skip to main content
miji.be

Webhook

A mechanism that automatically sends an HTTP request to a specified URL when a specific event occurs. Enables real-time service integration.

Nov 4, 2026 / About 1 min read

Analytics

A webhook is a mechanism where a service automatically sends an HTTP request (typically POST) to a pre-registered URL when a specific event occurs. It's like giving someone your phone number and saying "call me when something happens" - enabling event-driven service integration.

The opposite of webhooks is polling, where you repeatedly ask "any updates?" at regular intervals. With polling, requests are made even when nothing has changed. Webhooks only fire when events occur.

In URL shortening services that offer webhooks, they can notify you when links are clicked. For example, you could receive Slack notifications for important campaign link clicks, or automatically feed click data into your own database.

Several considerations are important when implementing webhooks. First, expose the receiving endpoint over HTTPS. Stripe requires registered endpoints to be publicly accessible HTTPS URLs (per its documentation as of October 2026). Second, retry logic for failed deliveries needs consideration - how many times and for how long a delivery is retried differs by service, and events may be lost if the receiver is down for extended periods. Third, verify the webhook sender by validating its signature (such as HMAC-SHA256).

Services that use webhooks include GitHub (push notifications), Stripe (payment confirmations), and Slack (message posting).

Was this article helpful?

Related Terms

API Rate Limit

A restriction on the number of API requests a client can make within a specified time period.

API Key

A unique string used to authenticate and control access to a web API. Identifies the caller and enforces usage limits.

Click Analytics

The measurement and analysis of user clicks on links, providing insights into engagement and traffic sources.

Server

A computer that provides data and services to other devices over a network. Web servers, mail servers, and DNS servers each handle different types of requests.

HTTPS

The secure version of HTTP that encrypts data transmitted between a browser and a web server using TLS.

Webhook Retry

A mechanism that resends webhook notifications at intervals, for example with exponential backoff, upon delivery failure. Used to deliver short URL click events to external systems later.

Related Articles

URL Shortener API Guide - Generating Short URLs Programmatically

A practical guide to using URL shortener APIs. Learn about request formats, response structures, authentication, and implementation patterns.

GitHub Short URLs - Shorten Long Issue, PR, and Blob URLs for Developer Workflows

Manage GitHub long Issue, PR, and blob URLs with short links. Streamline code reviews, documentation, and team communication with custom short URLs.

Using Short URLs in Slack and Teams - Balancing Link Previews with Trust

Solve link-sharing challenges in Slack and Teams with short URLs. Covers OGP previews, branded links for trust, Bot automation, and click analytics.

FAQ

What's the difference between webhooks and APIs?
APIs are "pull" - you send a request to get information. Webhooks are "push" - the server sends you a notification when an event occurs. APIs are on-demand; webhooks arrive when an event occurs. Use each based on your needs.
What happens if a webhook delivery fails?
It depends on the service. Stripe retries failed deliveries for up to three days in live mode, while GitHub does not automatically redeliver failed deliveries (they can be redelivered manually) (per each company's documentation as of October 2026). Another design is to put incoming webhooks into a message queue (such as Amazon SQS) before processing them.
How do I secure webhook endpoints?
Verify the sender by checking the signature included in the request headers. For example, GitHub sends an HMAC (SHA-256) signature in the X-Hub-Signature-256 header, and the receiver computes the same hash with the shared secret and compares the two. Use HTTPS for your endpoint; restricting the sender's IP addresses with an allowlist is another option.

Put the terms to work

Shorten a URL for Free