> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paradime.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Signed senders and delivery filters for incoming webhooks

> Trigger URLs now check signatures from Linear, GitHub, Stripe, and more, start runs only for deliveries that match a filter, and DinoAI fills in the setup.

*October 29, 2026*

![The Authentication dialog for a Trigger URL: Describe it to DinoAI, a Sender dropdown set to Custom, Signature settings with the Authorization Bearer header option, Skip repeated deliveries, and other headers to keep](https://mintcdn.com/paradime-docs/oST0Z5p2pa5abHZ6/images/bolt-incoming-webhook-auth.jpg?fit=max\&auto=format\&n=oST0Z5p2pa5abHZ6\&q=85\&s=b5be153afe66fa759172daf759b3fa4d)

An [incoming webhook](https://docs.paradime.io/products/bolt/external-triggers/incoming-webhooks.md) used to accept only a bearer token in the `Authorization` header, and every request started a run. Many tools can't send a custom header, and most send far more events than you want to run on. Each Trigger URL now has two new buttons, **Auth** and **Filter**.

* **Auth: sign in the sender's own way.** Pick the sender, such as Linear, GitHub, GitLab, Stripe, Jira, Fivetran, or Standard Webhooks, and the Trigger URL checks that tool's signature or token header. For another tool, choose **Custom** and set the HMAC algorithm, encoding, and signed content yourself. For tools that give you a signing secret, such as Linear and Stripe, paste it in. For the others, Paradime makes the secret and shows it once. A delivery Paradime has already seen is skipped, not run twice. See [Authenticate the sender](https://docs.paradime.io/products/bolt/external-triggers/incoming-webhooks.md#authenticate-the-sender).
* **Filter: run only on the deliveries you want.** Add conditions on body fields or headers, such as `data.status is SUCCESSFUL` or `data.labels[*].name is one of bug, incident`, and choose whether all or any must match. **Check recent deliveries** shows which of the last 20 requests would run. A delivery that doesn't match gets a `200` and shows as skipped. Fivetran gets a suggested filter that runs only when a sync ends successfully. See [Filter which deliveries start a run](https://docs.paradime.io/products/bolt/external-triggers/incoming-webhooks.md#filter-which-deliveries-start-a-run).
* **Describe it to DinoAI.** Type what should start the run, for example "Linear issues moved to In Progress in the DATA team", and DinoAI fills in the sender, the signature settings, and a filter. Nothing is saved until you click **Save**, and DinoAI never sees your secrets. See [Describe it to DinoAI](https://docs.paradime.io/products/bolt/external-triggers/incoming-webhooks.md#describe-it-to-dinoai).

Existing Trigger URLs keep working with their bearer token. Once a Trigger URL expects a signature, bearer requests to it get a `401`. Test requests from the Trigger URLs card skip the filter.

Shipped in Paradime v6.22.0.


## Related topics

- [Changelog](https://docs.paradime.io/changelog/overview.md)
- [Incoming webhooks](https://docs.paradime.io/products/bolt/external-triggers/incoming-webhooks.md)
- [Use a webhook payload in a Bolt run](https://docs.paradime.io/guides/orchestrate-data-pipelines/use-a-webhook-payload-in-a-run.md)
- [Run an agent from a webhook](https://docs.paradime.io/guides/programmable-agents/run-an-agent-from-a-webhook.md)
- [Getting Started](https://docs.paradime.io/developers/webhooks/getting-started.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.