Core Concepts
Understand the fundamental concepts that power HookWatch. This guide explains how webhooks flow through the system and the terminology used throughout the documentation.
Webhooks
Webhooks are HTTP callbacks that notify your application when events happen in external services. Instead of polling an API repeatedly, webhooks push data to your server in real-time.
External Service (Stripe, GitHub, etc.)
│
│ Webhook (HTTP POST)
▼
┌──────────┐
│ HookWatch │ ◄── Receives, logs, and forwards
└────┬─────┘
│
│ Forward (HTTP POST)
▼
Your ServerEndpoints
An endpoint is a webhook receiver configured in HookWatch. Each endpoint has a unique URL where external services send webhooks.
Webhook URL
https://hook.hookwatch.dev/:slug The URL you give to external services. Each endpoint has a unique slug.
Destination URL
https://your-server.com/webhooks Where HookWatch forwards the webhook. This is your actual server.
Events
An event represents a single webhook received by HookWatch. Each event contains the complete request data and tracks the delivery status.
Event Data
- HTTP method, headers, and body
- Source IP address
- Timestamp of receipt
- Delivery status and response
Delivery Lifecycle
Every event goes through a delivery lifecycle from receipt to final delivery or failure.
Pending
Webhook received, queued for delivery. Initial state before first delivery attempt.
Delivery attempt...
Delivered
Successfully delivered to destination (2xx response received). Final success state.
— or —
Retrying
Delivery failed, scheduled for automatic retry. Retries follow configured intervals.
After max retries exhausted...
Failed
All retry attempts exhausted. Manual intervention required (retry or replay).
Retry Logic
When delivery fails, HookWatch automatically retries with exponential backoff.
Default Retry Schedule
Pro and Business plans can configure custom retry intervals.
Cron Jobs
Cron jobs let you schedule recurring shell commands that run locally on your CLI agent. Unlike webhooks (which are triggered by external events), cron jobs run on a schedule you define.
Webhooks
Push: External services trigger requests to your server
Cron Jobs
Schedule: CLI agents execute shell commands on a defined schedule
Agents
An agent is a registered CLI instance that executes cron jobs locally on its host machine. Each agent has a unique name and is tied to a hostname, with heartbeat monitoring to track availability.
Registration
Register your CLI as a named agent with hookwatch agent register my-server. The agent ID is stored in your config.
Execution
Agents run the cron service daemon to execute scheduled jobs, sync with the cloud, and respond to "Run Now" triggers from the dashboard.
Teams
Teams are multi-user workspaces that let you collaborate on webhook endpoints, cron jobs, and alerts. Team members share access to resources while maintaining individual authentication.
Glossary
- Slug
- Unique identifier in the webhook URL (e.g.,
abc123inhook.hookwatch.dev/abc123) - Destination URL
- Your server URL where webhooks are forwarded
- Replay
- Create a new event with the same payload as an existing event
- Retry
- Resend the original event without creating a new one
- Buffer
- Service that stores webhooks when your server is unavailable
- Agent
- A registered CLI instance that executes cron jobs locally on its host machine
- Team
- A shared workspace where multiple users collaborate on endpoints, cron jobs, and alerts