Core Concepts
The Webhook Pipeline
Every webhook flows through a consistent pipeline:
Source → Ingest → Event → Route Matching → Transform → Deliver → (DLQ) 1. Ingest
When a webhook hits your ingest URL, WebhookLane stores the full request
(headers + JSON body) as an event and returns 202 Accepted
immediately. This ensures your webhook provider never times out.
2. Route Matching
Active routes for the event's source are evaluated. Each route can have filter conditions — if all conditions match (AND logic), the route fires.
3. Filter Conditions
Filters use dot-notation field paths and support these operators:
equals— exact string matchnot_equals— inverse matchcontains— substring matchexists— field is present and not null
Example: event.type equals checkout.completed
4. Payload Transformation
Routes can include a Handlebars template that reshapes the payload before delivery. The original event payload is the template context. Custom helpers include:
{{json field}}— JSON stringify a value{{#eq a b}}...{{/eq}}— conditional equality{{truncate field 80}}— truncate with ellipsis{{formatDate field}}— ISO date formatting
5. Delivery
Deliveries are HTTP POST requests to the destination URL. If a delivery fails (non-2xx response or timeout), it is retried up to 3 times with exponential backoff (~1min, ~5min, ~15min).
6. Dead Letter Queue
After all retries are exhausted, the delivery enters the dead letter queue. From the DLQ, you can inspect the failure reason, replay individual deliveries, or replay in bulk.