Documentation

Send form submissions to Slack and Discord

Create Slack and Discord incoming webhooks, connect them to a PostMyForm form, send tests, and troubleshoot delivery.

Last updated 2026-07-28

Send form submissions to chat

PostMyForm can deliver accepted form submissions to Slack and Discord incoming webhooks in addition to the form's email notification.

Each destination belongs to one form. Your account plan determines how many destinations may be configured for that form.

Before you begin

Create or choose the Slack channel or Discord text channel where form notifications should appear.

Webhook URLs are credentials. Do not paste them into source code, screenshots, public issue reports, chat messages, or documentation.

Create a Slack incoming webhook

  1. Open the Slack app dashboard.
  2. Select Create New App.
  3. Choose Blank app.
  4. Give the app a name such as PostMyForm and select your Slack workspace.
  5. Open Incoming Webhooks in the app settings.
  6. Turn on Activate Incoming Webhooks.
  7. Select Add New Webhook to Workspace.
  8. Choose the channel where PostMyForm notifications should appear.
  9. Select Allow or Authorize.
  10. Copy the webhook URL shown under Webhook URLs for Your Workspace.

A Slack incoming webhook is associated with the channel selected during authorization. PostMyForm cannot override that channel.

For a private channel, join the channel before creating the webhook so it is available in Slack's channel picker.

Slack webhook URLs normally begin with:

https://hooks.slack.com/services/

See Slack's incoming webhook documentation for provider-specific details.

Create a Discord webhook

You need permission to manage webhooks in the Discord server or channel.

  1. Open the Discord server.
  2. Open Server Settings.
  3. Select Integrations.
  4. Open Webhooks.
  5. Select New Webhook or Create Webhook.
  6. Give the webhook a recognizable name.
  7. Select the text channel where notifications should appear.
  8. Select Copy Webhook URL.

Discord webhook URLs normally begin with:

https://discord.com/api/webhooks/

Discord lets an authorized administrator change the selected channel later from the server's integration settings.

See Discord's webhook documentation for provider-specific details.

Add the destination to PostMyForm

  1. Sign in to PostMyForm.
  2. Open Forms.
  3. Open the form you want to configure.
  4. Select Edit.
  5. Find the Slack and Discord section.
  6. Choose the provider.
  7. Enter a descriptive destination name.
  8. Paste the complete incoming webhook URL.
  9. Select Add destination.

The provider selected in PostMyForm must match the webhook URL.

After saving, PostMyForm displays only a masked value:

••••••••

The saved webhook URL cannot be viewed again. To change it, supply a complete replacement URL.

Send a test message

Select Send test message on the saved destination.

A PostMyForm test message:

  • is clearly identified as a test;
  • confirms which provider destination was tested;
  • contains no form submission data;
  • records a safe success or failure result in PostMyForm.

A test can be sent while a destination is disabled. This lets you verify a new or replacement webhook before enabling live submission delivery.

Active and disabled destinations

An Active destination receives eligible live form submissions.

A Disabled destination:

  • does not receive live submissions;
  • remains stored;
  • may still receive an explicit test message;
  • can be enabled again later.

Email and webhook delivery are independent. An email notification can succeed even when a Slack or Discord destination is disabled or fails.

Change the channel

Slack

The Slack channel is associated with the webhook URL.

To send notifications to another channel:

  1. Return to the Slack app's Incoming Webhooks settings.
  2. Add another webhook to the desired channel.
  3. Copy the new webhook URL.
  4. Use Replace webhook URL in PostMyForm.
  5. Send a test message.

Discord

An authorized Discord administrator can either:

  • change the webhook's channel in Server Settings → Integrations → Webhooks; or
  • create a new webhook and replace the URL in PostMyForm.

Send a new test message after changing the Discord channel or URL.

Remove a destination

Select Remove, then confirm the destructive action.

Removal cannot be undone. Create a new destination when the integration is needed again.

Troubleshooting

PostMyForm will not accept the webhook URL

Check that:

  • the selected provider matches the URL;
  • the entire URL was copied;
  • the URL begins with https://;
  • no spaces or punctuation were added before or after it;
  • the webhook belongs to Slack or Discord rather than another integration system.

If a valid provider URL continues to be rejected, contact support@postmyform.com.

Do not include the complete webhook URL in the support message.

The test message was rejected

The provider may reject a webhook when it has been revoked, disabled, deleted, restricted by an administrator, or connected to a channel that no longer accepts messages.

Create or re-enable the webhook at the provider, replace the URL in PostMyForm when necessary, and send another test.

The test timed out

Wait briefly and retry once.

If repeated tests time out:

  • check the provider's service status;
  • confirm the webhook still exists;
  • create a replacement webhook;
  • replace the saved URL and test again.

The test succeeds but live submissions do not appear

Check that:

  • the destination status is Active;
  • the form itself is active;
  • the submission was accepted by PostMyForm;
  • the message did not arrive in a different provider channel;
  • the latest destination result does not show a failure.

Spam-suppressed and otherwise blocked submissions do not generate normal integration notifications.

Email arrives but Slack or Discord does not

Email and integration delivery are separate.

Check the destination's:

  • Active or Disabled status;
  • latest result;
  • provider channel;
  • webhook validity.

A disabled destination is intentionally skipped while email delivery continues.

Messages appear in the wrong channel

PostMyForm sends to the channel associated with the provider webhook.

For Slack, create a webhook for the intended channel and replace the saved URL.

For Discord, change the webhook's channel in Discord or replace it with a newly created webhook.

A webhook URL may have been exposed

Immediately revoke or delete it at Slack or Discord.

Then:

  1. create a replacement webhook;
  2. replace the URL in PostMyForm;
  3. send a test message;
  4. review the provider channel for unexpected messages.

Replacing a URL in PostMyForm does not revoke the old credential at the provider.

How PostMyForm protects webhook URLs

PostMyForm:

  • encrypts saved webhook URLs at rest;
  • masks them after saving;
  • never returns the existing URL through the normal customer interface;
  • requires the complete URL when replacing it;
  • avoids including webhook URLs in delivery history;
  • does not include submission data in test messages.