Fillo doesn't ship a direct Discord destination yet. Use Zapier for a no-code flow, or translate a signed Fillo webhook into a Discord message on your server.
Use Zapier (recommended)
- Connect the Fillo Zapier app with a private token.
- Choose the new-or-updated response trigger and select the form.
- Add the Discord action for the destination server and channel.
- Include only the fields the channel should expose.
- Add the Fillo response link so authorized teammates can open the full record.
- Test with realistic, non-sensitive answer text.
Discord channels are often visible to more people than the Fillo workspace, so don't copy resumes, signatures, file URLs, private contact details, or unrestricted free text into a channel by default.
Server-side translator
Receive and verify the Fillo webhook first. Then build a Discord payload from an allowlist of fields and send it with the Discord credential stored on your server.
const summary = {
content: `New response to ${event.form.name}: ${dashboardUrl}`,
allowed_mentions: { parse: [] },
};
await fetch(process.env.DISCORD_WEBHOOK_URL!, {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify(summary),
});The snippet assumes event has already passed Fillo signature verification and dashboardUrl was constructed by trusted server code. Never accept a Discord webhook URL from a respondent or put it in browser code.
Why pointing Fillo straight at Discord fails
A Fillo webhook sends the Fillo event shape and signature headers; a Discord incoming webhook expects a Discord message shape. Pointing one directly at the other skips the required translation and credential boundary.
Limits and delivery
Zapier and Discord apply their own task, app, channel, and rate limits. Fillo can report delivery to your verified receiver, but not the final Discord post after your code or Zap accepts the event.
Troubleshooting FAQ
Why is Discord rejecting the request?
Don't forward the original body unchanged. Send a Discord message payload after your translator acknowledges and stores the verified Fillo event.
Why did the channel get a duplicate?
Webhook delivery is at least once. Deduplicate with X-Fillo-Delivery-Id before posting to Discord.
Can I include answers?
Yes, through your own workflow — but allowlist only the answers that belong in that channel. The direct Slack integration follows the same principle with a maximum of three explicitly selected fields.