Alerts and automation

CueScout in Discord

Discord channel webhooks take a POST and post a message. CueScout sends the generic JSON body, which Discord renders as-is — readable, not pretty.

Worth being straight about the trade: we do not shape the payload for Discord's embed format the way we do for Slack. If you want a formatted message rather than a JSON body, route it through an automation tool that can build the embed.

Where the URL comes from: Channel settings → Integrations → Webhooks → New Webhook

Setting it up

  1. 1.Create the channel webhook

    Channel settings → Integrations → Webhooks → New Webhook. Name it, pick the channel, and copy the URL.

  2. 2.Paste it into CueScout with the generic format

    Settings → Webhook, format set to "Everything else". Do not pick Slack — the Block Kit body means nothing to Discord.

  3. 3.Send a test

    A message in the channel means the weekly delivery will land there too.

What arrives

One POST a week. Every field is top-level, because a nested object costs you a mapping step for no benefit. visibility_pct and delta are the two worth building a filter on.

Request body

{
  "event": "weekly.moved",
  "sent_at": "2026-08-14T09:00:00Z",
  "product_id": "5f0e…",
  "product": "Acme",
  "headline": "You are in 41% of AI answers, down 6 points on the previous window.",
  "detail": [
    "Rival turned up for \"best tool for x\", where you are absent.",
    "Your page \"The guide\" is now being cited."
  ],
  "url": "https://cuescout.com/insights/geo",
  "visibility_pct": 41,
  "delta": -6,
  "questions": 8,
  "answers": 11,
  "low_sample": true
}

What this does not do

  • The body is not formatted as a Discord embed. It arrives as JSON, which is legible rather than handsome.
  • Discord webhook URLs are secrets in the same way Slack's are.
  • One destination per product, and one event: the weekly what-moved reading. There is no per-event subscription list.
  • It fires once a week, with the digest email. This is not a real-time feed.
  • No retries. A failed delivery is recorded with the destination's own error text on the settings screen, and the next attempt is next week.
  • Delivery history is the last attempt only. There is no log to page through.

Frequently asked questions

Will you add a Discord-shaped payload?

Only if people actually route to Discord. Slack got its own shape because a raw body there posts as nothing at all; Discord at least renders it, so the case is weaker.

How often does it fire?

Once per week per product, at the same time the digest email goes out. The email decides there is something worth saying and the webhook rides that decision, which is also why it cannot double-send.

How do I know it is really CueScout?

Every request carries an X-CueScout-Signature header: an HMAC-SHA256 of the exact body, under a secret shown on the settings screen. Verify it if your endpoint is public — otherwise the URL is the only thing protecting your numbers from anybody who guesses it.

What happens if my endpoint is down?

The delivery is recorded as failed, with whatever your server said, and nothing is retried. You will see it on the settings screen; the next message is next week.

Related

Every integration we publish

Run the checks on your own site

The readiness check is free, needs no signup, and takes about half a minute. It works out what your site is built on and gives you the fixes written for it.