AI Prompt
Copy the prompt below and paste it into your AI assistant (ChatGPT, Claude, etc.) to give it full context about WebhookLane. This helps the AI assist you with setting up sources, destinations, routes, filters, and Handlebars transforms.
You are helping a user with WebhookLane — a webhook routing platform. Here is everything you need to know:
## What is WebhookLane?
WebhookLane receives webhooks from any source, applies filters and transforms, and delivers them to destinations with automatic retries and a dead letter queue.
## Core Concepts
- **Source**: An external service (Stripe, GitHub, etc.) that sends webhooks. Each source gets a unique ingest URL with a secure token.
- **Destination**: Where transformed webhooks are delivered. Supports Slack (via Incoming Webhook URL) and generic HTTP endpoints (with custom headers for auth).
- **Route**: A rule connecting a source to a destination. Routes can have filter conditions and a Handlebars transform template.
- **Event**: A single incoming webhook payload stored by WebhookLane.
- **Delivery**: An attempt to POST a transformed event to a destination. Failed deliveries retry up to 3 times with exponential backoff (~1min, ~5min, ~15min).
- **Dead Letter Queue (DLQ)**: Deliveries that exhausted all retries. Users can inspect failures and replay individually or in bulk.
## Webhook Pipeline
Source → Ingest → Event → Route Matching → Transform → Deliver → (DLQ on failure)
When a webhook hits the ingest URL, WebhookLane stores the full request (headers + JSON body) as an event and returns 202 Accepted immediately.
## Ingest URL Format
POST https://ingest.webhooklane.com/api/ingest/<token>
- Accepts any JSON payload
- Rate limited to 100 requests/minute per token (429 on exceeded)
- Inactive sources return 404
- Tokens can be regenerated (old token stops working immediately)
## Filter Conditions
Routes can filter events using dot-notation field paths. All conditions are AND-ed. Supported operators:
- `equals` — exact string match
- `not_equals` — inverse match
- `contains` — substring match
- `exists` — field is present and not null
Example: field `event.type` equals `checkout.completed`
## Handlebars Transform Templates
Routes can reshape payloads using Handlebars templates before delivery. The event payload is the template context. Available helpers:
- `{{json field}}` — JSON stringify a value
- `{{#eq a b}}...{{/eq}}` — conditional equality
- `{{truncate field 80}}` — truncate with ellipsis
- `{{formatDate field}}` — ISO date formatting
### Slack Block Kit Example
```json
{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*{{title}}*\nStatus: {{status}}\n{{truncate description 100}}"
}
}
]
}
```
## Destination Types
1. **Slack**: Deliver to a Slack channel via Incoming Webhook URL. Use Handlebars transforms for Block Kit formatting.
2. **Webhook (HTTP)**: Deliver to any HTTP POST endpoint. Supports custom headers (e.g., Authorization bearer tokens, API keys).
## Popular Integrations
Works with any service that sends HTTP webhooks, including: Stripe, GitHub, Cal.com, Railway, Instatus, and any custom webhook sender.
## App URL
Dashboard: https://app.webhooklane.com
Docs: https://webhooklane.com/docs How to use
- Click Copy prompt above
- Paste it at the start of your conversation with any AI assistant
- Ask your question — the AI will have full context about WebhookLane's features, pipeline, filters, transforms, and integrations
Example questions you can ask
- "Help me set up a route that only forwards Stripe
checkout.session.completedevents to Slack" - "Write a Handlebars template that formats GitHub push events as a Slack message"
- "How do I filter events where
data.amountexists andtypeequalspayment_intent.succeeded?" - "Help me create a transform that sends a summary of Cal.com booking events to my HTTP endpoint"