Connect webhooks and prove you own a site

Send this workspace's news to Slack, Teams or your own service, and prove a site is yours so heavy tests may run against it.

In short

A webhook posts a short, signed message to Slack, Microsoft Teams or your own service when something happens in your workspace. A verified site proves a site is yours, so heavy tests such as load tests may run against it.

Before you start

Add a webhook

  1. Open Settings › "Webhooks" and press "Add a webhook".
  2. Type a "Name", such as Releases channel, and the https "Address" the receiver gave you.
  3. Choose a "Format": "Generic JSON" for your own service, "Slack" or "Microsoft Teams" for a channel.
  4. Under "Also send when", tick the workspace events it should hear of - a card finished, an application came in, a member joined. You can change them later with "Edit".
  5. Press "Add webhook". Copy the signing secret with "Copy secret" - it is not shown again - and press "Done".
  6. Press "Send a test", then "Open the log" to see it arrive with the answer's status code and time.

Prove you own a site

  1. Open Settings › "Verified sites" and press "Prove a site".
  2. Type the "Site address" heavy tests will use, such as https://api.example.com, and press "Get a token".
  3. Put the token on the site in one of two ways. With "Serve a file", the address shown answers with the token as its whole text. With "Or send a header", the site's root page answers with the header shown.
  4. Press "Verify now". The card says "Verified" and "Verified until".

The signing secret

Every message carries a signature header - its name is on the dialog that shows the secret - holding t=<time>,v1=<HMAC-SHA256 of "<time>.<body>">, made with the webhook's signing secret. The receiver recomputes it and refuses a message whose signature differs or whose time is more than a few minutes old. "Replace signing secret" asks what happens to the old one: "Keep it for a day" signs every message with both secrets for 24 hours - a second v1 value - so the receiver can switch over without refusing one; "Stop it now" ends the old one at once, for a secret that leaked. The webhook's row says until when the old one still signs.

Send a failed message again

  1. Open the webhook's "Delivery log". A message that failed after every retry shows "Failed".
  2. Press "Send again" on its row, or "Send failed messages again" above the log for all of them.
  3. Each goes again under its own delivery id, so a receiver that drops repeats handles it once. A failed message can be sent again for 30 days, while the webhook is on.

Good to know

If something goes wrong

Related