36 lines
1.9 KiB
Plaintext
36 lines
1.9 KiB
Plaintext
---
|
|
title: "Connecting a provider"
|
|
description: "Point a provider at the webhook URL and set the signing secret."
|
|
sidebarTitle: "Connecting a provider"
|
|
---
|
|
|
|
When you deploy (or run `dev`), each webhook task gets an **endpoint** with a unique, unguessable webhook URL. Open the webhook in the dashboard, go to **Endpoints**, and open the endpoint to find its **Connect** panel.
|
|
|
|
<Steps>
|
|
<Step title="Copy the webhook URL">
|
|
Copy it from the endpoint's Connect panel. On Trigger.dev Cloud it looks like
|
|
`https://webhooks.trigger.dev/webhooks/v1/ingest/<id>`. A self-hosted instance serves it from that
|
|
instance's own base URL. This is what you give the provider as its webhook destination.
|
|
</Step>
|
|
<Step title="Set the signing secret">
|
|
A webhook can't accept deliveries until its signing secret is set. Until then every request is
|
|
rejected. There are two flows, and the Connect panel shows the right one for the provider:
|
|
|
|
- **The provider generates the secret** (Stripe, Svix): copy it from the provider and paste it
|
|
into **Set secret**.
|
|
- **You choose the secret** (GitHub, or a service you control): click **Generate secret** and
|
|
Trigger.dev mints a strong secret and shows it once. Paste that into the provider's webhook config.
|
|
</Step>
|
|
<Step title="Point the provider at the webhook URL">
|
|
Add the webhook URL as the destination in your provider's dashboard. The Connect panel
|
|
shows the exact signature scheme (header, algorithm, signing string) the provider should use.
|
|
</Step>
|
|
</Steps>
|
|
|
|
<Warning>
|
|
The signing secret is stored encrypted and is never shown again after it's set. To rotate it,
|
|
use **Rotate secret** (or **Regenerate**) and update the provider with the new value.
|
|
</Warning>
|
|
|
|
Once a provider is sending events, watch them arrive on the [Deliveries](/webhooks/deliveries) page, which also explains what an [endpoint](/webhooks/deliveries#endpoints) is.
|