How to Send Discord Webhook Notifications From Zapier
🔍 WiseChecker

How to Send Discord Webhook Notifications From Zapier

You want Discord to send an alert every time a new lead comes in from your CRM or a payment is received in your store. A webhook is a simple URL that accepts data from another app and posts it to a Discord channel. Zapier can send data to that URL automatically when a trigger event happens. This article explains how to create a Discord webhook, set up a Zapier zap, and map the data fields correctly so the notification arrives in the right format.

Key Takeaways: Discord Webhook Integration With Zapier

  • Server Settings > Integrations > Webhooks: Create a unique URL that Zapier will send data to
  • Zapier Webhooks by Zapier app > POST action: Send a JSON payload to the Discord webhook URL
  • Customize message content and embeds: Use Zapier fields to insert dynamic data like name, email, or amount

How Discord Webhooks Work With Zapier

A Discord webhook is a special URL that belongs to a specific text channel. When an external service sends a POST request to that URL, Discord posts a message in the channel. The message can include text, embedded rich content, and even file attachments.

Zapier connects over 5,000 apps. When a trigger event occurs in one app, Zapier can perform an action in another app. The action for Discord is a POST request to the webhook URL. You do not need a Discord bot or API key for this integration. You only need the webhook URL from Discord and a Zapier account with a paid or free plan that includes Webhooks by Zapier.

Before you start, decide which app will be the trigger. Common triggers include new rows in Google Sheets, new payments in Stripe, new leads in HubSpot, or new orders in Shopify. The zap will send a notification each time the trigger fires.

Steps to Set Up a Discord Webhook in Zapier

Follow these steps exactly. Each step assumes you are already logged into Discord and Zapier in separate browser tabs.

  1. Create a Discord webhook URL
    Open Discord and go to the server that contains the target channel. Click the server name at the top left, then select Server Settings. In the left sidebar, click Integrations, then click Webhooks. Click Create Webhook. Give it a name, choose the channel where notifications will appear, and click Copy Webhook URL. Store this URL in a text file temporarily.
  2. Create a new Zap in Zapier
    Log into Zapier and click Create Zap at the top left. Give your zap a descriptive name, such as “New Stripe Payment to Discord Alert.”
  3. Set up the trigger app and event
    Click the trigger section and search for your source app, for example Google Sheets or Stripe. Select the trigger event, such as New Spreadsheet Row or New Payment. Follow the steps to connect your account and select the specific sheet, spreadsheet, or data source. Test the trigger to confirm Zapier receives sample data.
  4. Add the action app: Webhooks by Zapier
    Click the action section and search for Webhooks by Zapier. Select the event POST. This tells Zapier to send an HTTP POST request to the Discord webhook URL.
  5. Configure the webhook action
    In the action configuration, set URL to the Discord webhook URL you copied. Set Payload Type to JSON. In the Data field, enter the JSON payload. A basic payload looks like this:
    {"content": "New lead: {{Name}} from {{Company}}"}
    Replace {{Name}} and {{Company}} with the actual fields from your trigger app. Click the plus icon to insert dynamic fields. You can also add an embeds array for richer messages. Example:
    {"embeds": [{"title": "New Payment", "description": "Amount: {{Amount}} from {{CustomerEmail}}", "color": 65280}]}
  6. Test the action
    Click Test & Continue. Zapier sends a test POST to the Discord webhook URL. Check the Discord channel. You should see a message from the webhook with the sample data. If the message appears, the integration works.
  7. Turn on the zap
    After the test passes, click Publish or toggle the zap to On. The zap will now run automatically each time the trigger event occurs.

Common Mistakes and Limitations

Message Does Not Appear in Discord

The most common cause is an incorrect webhook URL. Double-check that you copied the full URL from Discord, including the random string at the end. Another cause is a malformed JSON payload. Use a JSON validator like jsonlint.com to check your payload before testing. Finally, ensure the webhook is not deleted or renamed in Discord.

Dynamic Fields Show Raw Text Instead of Values

This happens when you type the field name manually instead of inserting it using Zapier’s field picker. Always click the plus icon in the Data field and select the field from the dropdown. If you type {{Name}} by hand, Zapier treats it as literal text.

Message Length Exceeds Discord Limits

Discord webhooks have a maximum message length of 2000 characters for the content field. For embeds, the total combined content of all embeds cannot exceed 6000 characters. If your zap sends very long data, truncate the fields in Zapier using a Formatter step before the webhook action.

Webhook Sends Multiple Messages for One Event

This usually occurs when the zap runs multiple times due to a misconfigured trigger. Check the trigger settings. For example, a Google Sheets trigger set to New Spreadsheet Row may fire for every row if the sheet is re-sorted. Use a unique identifier field as a deduplication key in Zapier.

Discord Webhook Message Types: Basic Text vs Embedded Rich Content

Feature Basic Text Message Embedded Rich Content
Payload key content embeds
Max characters 2000 6000 total across all embeds
Supports formatting Markdown bold, italic, code blocks Title, description, fields, author, footer, color, timestamp
Inline images No Yes, via thumbnail and image URLs
Best use case Simple alerts with one line of text Detailed notifications with structured data like order summaries

You can now send automated Discord notifications from any Zapier-connected app using a webhook. Start with a simple content payload to confirm the connection works. Then add embeds to display richer data such as customer names, amounts, and links. As an advanced tip, use Zapier’s Formatter step to convert dates to a Discord-friendly format like MM/DD/YYYY before sending them in the embed timestamp field.