Pro - this recipe depends on webhooks, which are Pro-only.
{"content": "..."}, optionally embeds), not Formpaste’s envelope. This is the
honest version: how to bridge the two with a relay, without pretending it’s a one-click
integration.
Why you can’t point Formpaste straight at a Discord webhook URL
Discord’s webhook endpoint expects something like:type, version, or a nested data object - you
need something in between to reshape one into the other.
The recipe: automation platform as the relay
- Get a Discord webhook URL. In your Discord server, go to the target channel’s Integrations → Webhooks, create one, and copy its URL.
- Create an automation workflow (Zapier, Make, Pipedream, or n8n) that starts from a Catch Webhook / Webhook trigger step. This gives you a URL - that’s what Form Paste will call.
- Point Formpaste’s webhook at that URL. In the dashboard,
open your form → Settings → Webhooks, paste the automation platform’s URL
into
webhook_url, and save. Keep thewhsec_…signing secret it shows you. - (Recommended) Verify the signature in the automation before doing anything else —
check
X-Formpaste-Signatureagainst the secret, the same way as in the webhook verification snippet, so you’re not relaying arbitrary POSTs to your Discord channel. - Add an HTTP/webhook step that POSTs to your Discord webhook URL, with a JSON body
built from the incoming payload’s
datafields:
- Test it. Submit your form once and confirm the message appears in the Discord channel within a few seconds.
What fires, and what doesn’t
The webhook only fires for delivered, non-spam submissions - the same set that triggers an email notification. A submission that lands in quarantine doesn’t fire the webhook and won’t reach Discord; check the dashboard’s Spam tab for those.Free vs. Pro
This recipe needs Pro - webhooks aren’t available on Free:Webhooks
Full payload shape, signing, retries, and the delivery log.
Slack notifications
The same recipe, for Slack.