Introduction
Learn what Nahook is and how it works
Nahook is a webhook delivery platform that handles the complexity of reliably delivering events to your endpoints. You send events — Nahook delivers them with automatic retries, signature verification, and delivery logging.
Key Concepts
Environments
Isolate your webhook infrastructure across stages like Production, Staging, and Development. API keys, endpoints, and event routing are all scoped per environment.
Endpoints
HTTP URLs or Slack channels where events are delivered. Each webhook endpoint gets a unique signing secret for verification.
Event Types
Named categories like order.created or payment.failed. Subscribe endpoints to specific event types for targeted routing. Control visibility per environment.
Deliveries
Each event sent to an endpoint creates a delivery. Nahook tracks every attempt, status code, and response for full observability.
Subscriptions
Connect endpoints to event types. When an event of that type is ingested, Nahook fans out delivery to all subscribed endpoints in the same environment.
How It Works
- Set up an environment — Every workspace starts with a Production environment. Add Staging or Development as needed.
- Create an endpoint — Register the URL where you want to receive events, scoped to an environment.
- Get an API key — Create an API key for the same environment to authenticate ingestion requests.
- Send events — POST event payloads to Nahook's ingestion API.
- Nahook delivers — Events are routed to endpoints in the matching environment, signed, delivered, and automatically retried on failure.
Nahook supports two delivery modes:
- Direct delivery — Send an event to a specific endpoint by ID.
- Fan-out delivery — Send an event by type, and Nahook routes it to all subscribed endpoints.
Endpoint Types
| Type | Description | Signing |
|---|---|---|
| Webhook | HTTP POST to any URL | HMAC-SHA256 with Standard Webhooks headers |
| Slack | Post to a Slack channel via Incoming Webhook | No signing (Slack handles auth) |
Retry Strategy
Failed deliveries are retried automatically with exponential backoff:
- Hot retries: 3 attempts within ~20 seconds (immediate, 5s, 15s)
- Cold retries: 5 attempts over 24 hours (5min, 30min, 2h, 6h, 24h)
- Total: Up to 8 delivery attempts before moving to the dead letter queue