Discord

Turn messages from a Discord channel into feedback.

What you will need

  • Shared secret

Steps

In FeedbackFlow, open your project, go to Integrations, and select Discord. Then:

  1. 1

    Choose any long random string as a shared secret and paste it into FeedbackFlow. Discord does not sign outgoing webhooks, so this secret in the URL is what proves a delivery came from your server.

  2. 2

    Point your bot or automation at this URL, appending ?secret=YOUR_SECRET:

    https://www.usefeedbackflow.com/api/ingest/discord/YOUR_PROJECT_ID
  3. 3

    Post the message payload as JSON with id, content, and author. Messages from bots are ignored, so a channel with other integrations in it will not feed itself back to you.

Replace YOUR_PROJECT_ID with the ID of your project, shown on the integration setup screen.

What gets captured from Discord

Messages posted in the channel the webhook is attached to. Messages from bots are skipped, which matters more here than anywhere else: a Discord channel containing any other integration would otherwise feed us its own output indefinitely. The Discord message ID is the deduplication key.

Check that it worked

  1. Discord does not sign outgoing webhooks, so the shared secret travels with the request: either an x-webhook-secret header or a ?secret= query parameter on the Request URL.
  2. Post a message in the channel as a human user.
  3. It appears in the inbox with the author’s Discord username attached.

If it is not working

Every delivery returns 401
The secret is missing from the request. Discord’s own signing applies to incoming interactions, not to outgoing webhooks, so the secret in the header or query string is the only credential this endpoint has.
Bot posts are ignored
By design, and deliberately not configurable. It is the only thing stopping a feedback loop between two integrations sharing a channel.
Attachments and embeds do not arrive
Only the text content of a message is read. A post that is nothing but an image has no message to triage and is skipped.

Still stuck? Widget and integration troubleshooting covers the problems that are not specific to Discord.

Open the Discord docs