Feedback source

Turn Discord messages into ranked product insight

Community feedback lands in Discord and stays there. Point FeedbackFlow at a channel and every message becomes a triaged item, grouped and prioritized with the rest.

Why connect Discord

  • Capture the community you already have. Messages in your #feedback or #suggestions channel flow in without anyone reposting them.
  • Bots are ignored automatically. Other integrations posting in the same channel do not feed their own output back in.
  • Triaged with everything else. Discord feedback is deduped and ranked alongside your widget, helpdesk, and email items.
Discord FeedbackFlow

"Export keeps timing out on large projects, this is blocking our team."

1Export reliability12 notesNegative

Deduped and ranked alongside every other source.

How it works

  1. 1

    Pick a shared secret

    Any long random string. Paste it into the Discord card in FeedbackFlow.

  2. 2

    Point an automation at the URL

    Your bot or automation POSTs channel messages to the ingest URL.

  3. 3

    Watch it triage

    New messages become feedback items, grouped and ranked by AI.

Prefer the full walkthrough? Read the Discord setup guide.

Before you start

  • A Discord server where you can add a bot or an automation, which usually means Manage Server permission or a request to someone who has it.
  • Something to forward messages. Discord does not send channel messages to arbitrary webhooks on its own, so this needs a bot, a Zapier or Make automation, or a few lines of your own code.
  • A FeedbackFlow project. The free plan covers one, and no credit card is needed to finish this setup.

How to connect Discord to FeedbackFlow

  1. 1

    Choose and save a shared secret

    Pick any long random string and paste it into the Discord card in your FeedbackFlow project settings. Discord does not sign the webhooks it sends out, which is worth being clear about: the signing Discord documents is for interactions coming *into* your bot, not for messages going out. So the secret in the URL is what proves a delivery came from your server rather than from anyone who guessed the address.

  2. 2

    Point your bot or automation at the ingest URL

    Copy the request URL from the Discord card and append ?secret=YOUR_SECRET. Any bot library, or a no-code tool like Zapier or Make, can watch a channel and POST each new message to that URL. There is no Discord app to install on our side, which also means nothing to review or approve.

  3. 3

    Send the message payload as JSON

    FeedbackFlow reads Discord's own message shape: id, content, and author. If you are using a bot library, the message object it hands you is already the right shape, so forwarding it verbatim works. A custom script only needs those three fields.

  4. 4

    Post something in the channel

    Write a real piece of feedback in the channel and watch it appear in FeedbackFlow within a few seconds, already assigned to a topic. If nothing arrives, the secret is the usual culprit: it has to match exactly, and it belongs in the query string rather than a header.

The exact Request URL and any values you need to paste are shown on the Discord card inside your project settings, because they are specific to your project. Full Discord setup guide.

What FeedbackFlow reads from Discord

Only the message text and who wrote it. Nothing else in the payload is stored, and messages from bots are dropped before anything is written.

FieldWhat FeedbackFlow does with it
contentThe feedback item's text. Truncated at 8,000 characters, which no Discord message reaches.
idDeduplication key. A redelivered message is recognised and discarded rather than becoming a second item.
author.usernameAttribution, so a topic can show who asked. No email, because Discord does not provide one.
author.botIf true, the message is dropped entirely.

What this looks like in practice

  1. Another integration posts in the same channel

    Ignored. Bot messages are dropped before ingest, which stops a channel with two integrations in it feeding us its own output forever.

  2. Someone posts an image with no text

    Ignored. There is no message to triage, so nothing is stored.

  3. Five people report the same bug over a week

    One ranked topic with five requesters behind it, not five items to read separately.

  4. You remove the bot from the channel

    The flow stops immediately. Existing items stay.

Limits worth knowing

What this connector does not do, so you can find out here rather than after you have wired it up.

  • Discord does not send channel messages to webhooks by itself. You need a bot or an automation in between, which is a real setup cost compared to Slack.
  • No email address is captured, because Discord does not expose one. Community feedback therefore cannot be weighted by account value, and close-the-loop emails cannot reach these people.
  • Threads are captured as individual messages, not as a conversation. A long back-and-forth becomes several items rather than one.
  • Attachments, reactions, and edits are not captured. An edited message is not re-ingested.

Frequently asked questions

Why does this need a bot when Slack does not?
Slack has an events API that pushes channel messages to a URL you nominate. Discord does not: its outgoing webhooks are for posting *into* Discord, not for forwarding messages out. So something has to watch the channel and forward each message, whether that is a bot you run, a Zapier automation, or a short script. It is genuinely more work than Slack, and worth knowing before you start.
Is a secret in the URL safe?
It is the same approach the Jira webhook uses, for the same reason: the sender cannot sign the request, so proof of origin has to travel with it. The URL is only known to you and whatever forwards your messages, it is never shown publicly, and rotating it is one field in project settings. If you would rather not put a secret in a query string, forwarding through your own code lets you send it as a header instead.
Will every message in the channel become a ticket?
No. Messages become feedback items, which are raw material. AI groups them into topics and ranks those, and a Jira or Linear issue is only created when someone chooses to file one. A chatty channel adds to the pile of items without generating tickets on its own.
Can I capture more than one channel?
Yes. Point as many channels as you like at the same URL. They arrive as one stream of feedback for the project, so if you need them kept apart, use a separate FeedbackFlow project per channel.

Connect Discord today

Free plan. No credit card. Live in 2 minutes.