We’re actively updating the docs — some pages are still being written. Thanks for bearing with us!
Docs/Sharing & Integrations

Webhooks

Receive updates from external systems as messages in your Lane projects.

Webhooks let an external system send an HTTP request into a Lane project. Each webhook has a receiving URL that accepts JSON and creates a message in that project’s channel. They are useful for bringing deployment, monitoring, or other system updates into the conversation where the team works.

Creating a webhook

Create a webhook in a project, give it a meaningful name, and copy its receiving URL into the external system. Lane currently supports webhooks for incoming messages only; it does not send outbound event notifications to your endpoint.

Payloads

The incoming JSON is rendered into the project message. Leave the transformer blank to post the raw JSON body, or use a Handlebars template to format the message. Templates reference the body through payload, for example:

{
    "service": "deploy",
    "environment": "production",
    "version": "2026.08.08"
}

With the template Deployed {{payload.version}} to {{payload.environment}}, the channel receives a readable update instead of a block of JSON.

Signing and delivery details

Lane creates a signing secret for each webhook. Send an HMAC-SHA-256 of the raw request body in the X-Lane-Signature header to have the request verified. Keep the secret private.

Incoming payloads are limited to 256 KB, rate limited per webhook, and identical raw requests are deduplicated for a short period. Build the sender so it considers a successful HTTP response the confirmation that the project message was accepted.