Get an endpoint Sign in

Guides Discord

Send HTML form submissions to Discord

Want new enquiries to ping a Discord channel instead of sitting in an inbox? sendm8 posts each submission to Discord through a channel webhook. There’s no bot to run, no permissions to grant beyond the webhook, and no code on your side.

What you need

A Discord server where you have the Manage Webhooks permission, and a free sendm8 account.

Set it up

  1. Sign in to sendm8 with GitHub or Google and create a form. You get an endpoint like https://sendm8.com/f/k3x9q2m7ab. (Email-in-the-URL endpoints deliver by email only; channels like this one live on dashboard forms.)
  2. In Discord, open the server menu and go to Server Settings → Integrations → Webhooks → New Webhook. Name it, choose the channel submissions should go to, and click Copy Webhook URL.
  3. In sendm8, open the form’s Settings → Channels, add a Discord channel and paste the URL. It starts with https://discord.com/api/webhooks/.
  4. Click Send test. A test message appears in the channel within a couple of seconds.

The form

Point any form at the endpoint. Every named field shows up in the Discord message.

contact.html
<form action="https://sendm8.com/f/k3x9q2m7ab" method="POST">
  <label>Name <input name="name" required></label>
  <label>Email <input name="email" type="email" required></label>
  <label>Message <textarea name="message" required></textarea></label>
  <input type="text" name="_gotcha" style="display:none" tabindex="-1" autocomplete="off">
  <button>Send</button>
</form>

What arrives in Discord

Each submission becomes one message with the form’s fields laid out as a card, a link to the submission in your dashboard, and download links for any uploaded files. The message doesn’t mention @everyone or anyone else, whatever a visitor types into the form, so nobody can use your form to ping your whole server.

Discord as well as email, or instead of it

Each form can have up to 10 channels, so the same submission can go to email, Discord, Slack, Telegram and a webhook at once. Chat and webhook deliveries are unlimited and don’t count towards the daily email allowance. A failed delivery is retried after 1m, 5m, 30m, 2h, 12h, and the dashboard shows each attempt on the submission. If Discord is where you’d rather hear about everything, remove the email channel from the form and keep just Discord.

Why a webhook and not a bot?

A channel webhook can only post to the one channel it was created for. It can’t read messages, join other channels or act as a member of your server, so it’s the least access a form needs. If you ever want it gone, delete the webhook in Discord and deliveries stop.

Rather do something fancier, like threads per enquiry or slash-command replies? Use a webhook to your own bot instead: sendm8 posts signed JSON and your code takes it from there.

Questions

Can an HTML form post directly to a Discord webhook?
Not reliably. Discord expects a JSON body in its own format, a plain form post doesn’t send that, and putting the webhook URL in your page lets anyone spam the channel. A form backend receives the post, filters spam and sends Discord the right format.
Is Discord delivery free?
Yes. Discord, Slack, Telegram and webhook deliveries are unlimited on every sendm8 account.
Do I need a Discord bot?
No. sendm8 uses a channel webhook, which you create in Server Settings → Integrations. No bot to invite or host.