Get notifications in Slack, Zapier or Make

Get a message in Slack or any webhook when a test is ready, surveys get answers, new ideas arrive or data stops.

In this article

Notifications let your team hear about important moments without opening Varly. Each site can send to up to 5 destinations. A destination is either a Slack channel or a webhook: an address that receives data from Varly, such as a Zapier or Make scenario, or your own server.

What Varly can notify you about

Tick one or more under Notify me when:

  • An A/B test reached its planned duration: the test ran for the number of weeks you planned. The message says the result in plain words, such as Variant B wins or No clear difference, with a link to the test. Sent once per test.
  • New survey answers: how many new answers each survey got, with a link. The answers themselves are never sent, so what visitors wrote stays in Varly.
  • New test ideas: how many ideas were added, with up to 3 titles and a link to Ideas.
  • No data for 24 hours: tracking is on, but Varly received no visits for 24 hours. For example, the snippet was removed from your site. Sent once, and only again after data came back and stopped again.

Varly checks once an hour, so a message can arrive up to an hour after something happened.

Send notifications to Slack

  1. Create an incoming webhook in Slack. In Slack, add the Incoming Webhooks feature to an app in your workspace (or ask your Slack admin), choose the channel the messages should go to, and copy the webhook URL. It starts with https://hooks.slack.com/services/.
  2. Paste the URL. In Varly, go to Settings → Notifications and paste it under Slack or webhook URL. Varly recognizes it as Slack.
  3. Pick events. Under Notify me when, tick what the channel should hear about, then click Add destination.
  4. Send a test. Click Send a test message next to the new destination. A short message appears in the channel.

Send notifications to Zapier or Make

Use a webhook to pass notifications on to other tools, for example to create a task, send an email or log them in a spreadsheet.

  • Zapier: create a Zap with the trigger Webhooks by Zapier → Catch Hook and copy the webhook URL it shows.
  • Make: create a scenario that starts with Webhooks → Custom webhook and copy the address.

Paste the address in Settings → Notifications, pick the events and click Add destination. Then click Send a test message, so Zapier or Make receives a sample and shows you the fields you can use.

Right after you add a webhook, Varly shows a Signing secret once. Copy it and keep it with your webhook if you want to check that messages really come from Varly (see below).

Change what a destination gets

Click Edit next to a destination, tick or untick events under Notify me when and click Save. The address and the signing secret stay the same. To send to another address, add it as a new destination and remove the old one.

Each destination shows its host and the last 8 characters of the address, so you can tell two webhooks on the same host apart.

How to read the status

Each destination shows what happened with the last message:

  • Nothing sent yet. Nothing has happened that you asked to hear about.
  • Last message delivered with the date and time.
  • Last message failed, with the reason, such as The address answered with status 404. or No answer within 10 seconds. Varly tries a failed message once more at the next hourly check, and then skips it.

Common problems

The test message doesn't arrive in Slack. The webhook may have been removed in Slack, or the channel was deleted. Create a new incoming webhook, add it, and remove the old destination with Remove.

"Addresses on a private or local network are not allowed". Varly only sends to public addresses that start with https://, without a port number. Addresses inside your own network can't be reached.

I can't add another destination. A site can have up to 5. Remove one you no longer use.

Survey answers arrive later than other notifications. Varly waits a few minutes before counting new answers, so none are missed between two checks. They come in the next hourly message.

For developers

Webhooks receive a POST with JSON:

{
  "event": "test.ready",
  "site": { "id": "…", "name": "example.com" },
  "data": { "test": { "id": "…", "name": "Free delivery", "url": "…", "startedAt": "…", "plannedDays": 14 }, "verdict": "winner", "result": "Variant B wins", "winner": "Variant B" },
  "url": "https://…/experiments/…",
  "sentAt": "2026-11-05T09:00:00.000Z"
}

event is test.ready, survey.answers, ideas.new, site.silent, or ping for Send a test message. url links to the page in Varly. Answer with any 2xx status within 10 seconds; Varly doesn't follow redirects.

Every request has an X-Varly-Signature header: sha256= followed by the HMAC-SHA256 of the raw request body, made with your signing secret. To check it in Node.js:

import { createHmac, timingSafeEqual } from 'node:crypto'

// rawBody: the request body exactly as received (a string or Buffer), before parsing the JSON.
function isFromVarly(rawBody, signatureHeader, secret) {
  const expected = 'sha256=' + createHmac('sha256', secret).update(rawBody).digest('hex')
  const a = Buffer.from(expected)
  const b = Buffer.from(signatureHeader ?? '')
  return a.length === b.length && timingSafeEqual(a, b)
}

Reject the request when the check fails. The secret can't be shown again; if you lose it, remove the destination and add it again to get a new one.

Was this article helpful?

Still stuck? Email support@varly.ai and we'll help you out.

Related articles

Updated 5 November 2026Next: Pricing and billing →