HomeShopify & E-commerceShopify order alerts to Discord with…

Shopify order alerts to Discord with n8n

Shopify order alerts to Discord with n8n









Shopify order alerts to Discord with n8n give your team a live sales feed in the app they already keep open all day. Instead of refreshing the Shopify admin or waiting on the mobile push, every new order drops into a channel the moment it is placed, with the order number, customer, total, and item count. This guide builds that alert in three n8n nodes: a Shopify webhook trigger, a step that formats the message, and a Discord post. No bot to build and no code to write.

What it does

Plenty of small teams run their whole day inside Discord. Support, fulfillment, and the founder are all in one server, so that is where a new-order ping actually gets seen. Shopify does not post to Discord on its own, and the built-in order notifications are email or the mobile app, neither of which lands where the team is talking.

This workflow closes that gap. It listens for every new order through a Shopify webhook, formats a short readable message, and posts it to a Discord channel of your choice. A message looks like this in the channel:

🛒 New order #1042
Customer: Emily Rodriguez
Total: 148.00 USD
Items: 3

Everyone watching the channel sees the sale as it happens. No one has to be logged into Shopify, and there is no polling delay, because the webhook fires the instant the order is created.

Why it beats the default

Shopify’s own order alerts are an email to the store owner and a push from the Shopify mobile app. Email gets buried, and the mobile push only reaches whoever installed the app and left notifications on. Neither reaches a shared team space, so the person who needs to act on the order often hears about it last.

A Discord channel is shared by default. The whole team sees the same feed, you can react with an emoji to claim an order, and the history is searchable. Compared with Shopify Flow, which is limited to Shopify Plus and cannot post to Discord, n8n does the routing on any plan and leaves room to grow. You can later add a value filter, split alerts across channels, or attach line-item detail without rebuilding anything.

Because the connection is a plain Discord webhook, there is nothing to maintain. No bot token to rotate, no server permissions to manage, and no extra app installed in your Discord. It is the lightest possible way to get Shopify sales into a team channel.

What you need

  • A Shopify store on any plan, with an admin login that can create a custom app.
  • An n8n instance, either n8n Cloud or self-hosted (version 1.0 or newer).
  • A Shopify Admin API access token, created through the 2026 Shopify Dev Dashboard method. New to connecting the two? Follow connect Shopify to n8n (2026 guide) first, then return here.
  • A Discord server where you can edit a channel, so you can create a webhook.

Build time is about 15 minutes from scratch, or a couple of minutes if you import the ready-made template below and paste in your access token and webhook URL.

Node-by-node list

Three nodes, in a straight line. Here is each one and what it does.

# Node Type Job
1 New Shopify order shopifyTrigger Fires on the orders/create webhook for every new order and hands the full order payload to the next node.
2 Build Discord message set Pulls out the order number, customer name, total, and item count, and assembles the formatted discordMessage string.
3 Post to Discord discord Posts the message to your channel through a Discord webhook. No bot needed.

How it works

  [New Shopify order]  (orders/create webhook)
          |
          v
  [Build Discord message]  (order #, customer, total, items)
          |
          v
  [Post to Discord]  (webhook -> your channel)
  

Step-by-step build

  1. Create a new workflow in n8n and name it “Shopify order alerts to Discord.”
  2. Add a Shopify Trigger node. Set Authentication to Access Token and attach your Shopify Admin API credential. Set the Topic to orders/create. When you activate the workflow later, n8n registers this webhook in your store for you, so there is nothing to paste into Shopify by hand.
  3. In Discord, open the channel you want alerts in, choose Edit Channel, then Integrations, then Webhooks, and click New Webhook. Give it a name like “Shopify orders,” confirm the channel, and copy the webhook URL.
  4. Back in n8n, add a Set (Edit Fields) node named “Build Discord message” and connect the trigger to it. Add these assignments: orderName = {{ $json.name }}, customerName = {{ $json.customer ? $json.customer.first_name + ' ' + $json.customer.last_name : 'Guest checkout' }}, total = {{ $json.total_price }} {{ $json.currency }}, itemCount (number) = {{ $json.line_items ? $json.line_items.length : 0 }}, and a string discordMessage that stitches them together:
    🛒 **New order {{ $json.name }}**
    Customer: {{ $json.customer ? $json.customer.first_name + ' ' + $json.customer.last_name : 'Guest checkout' }}
    Total: **{{ $json.total_price }} {{ $json.currency }}**
    Items: {{ $json.line_items ? $json.line_items.length : 0 }}

    The double asterisks are Discord markdown, so the order number and total render in bold.

  5. Add a Discord node named “Post to Discord” after the Set node. Set Authentication to Webhook and create a Discord Webhook credential, pasting the URL you copied in step 3. Set Message (content) to {{ $json.discordMessage }}. Because the Set node is directly upstream, $json here already holds your prepared message.
  6. Save, then toggle the workflow to Active so the webhook registers. Place a test order in your store and watch the channel for the alert.
💡

Tip: send only the orders that matter by dropping an IF node between the trigger and the message builder. A condition of {{ $json.total_price }} greater than 200 turns this into a high-value order alert, so a muted all-orders channel and a noisy VIP channel can run from the same store.

Common mistakes

  • Using bot authentication by habit. For posting to one channel, the Webhook authentication is far simpler than a bot token, and it needs no server permissions. Pick Webhook unless you specifically need bot features.
  • Pasting the webhook URL into the message instead of the credential. The URL is the destination, and it belongs in the Discord Webhook credential, not in the content field.
  • Forgetting to activate the workflow. The orders/create webhook is only registered while the workflow is Active. If test orders produce no message, check the Active toggle first.
  • Assuming a customer always exists. Guest checkouts can arrive without a customer object. The expressions above fall back to “Guest checkout” so the message never breaks on a missing name.
  • Expecting markdown to render everywhere. Bold and italics work in the message body, but Discord will not render HTML. Keep formatting to Discord markdown, or move to an embed for a structured card.

Cost at realistic volume

This workflow runs inside free tiers at any normal store volume. Discord webhooks are free and generous, with rate limits far above what a store’s order flow will hit. The Shopify Admin API is included with your plan, and the webhook trigger costs you nothing on the Shopify side.

On n8n, each order runs three quick steps. A store doing 1,000 orders a month runs about 1,000 short executions, which sits comfortably inside n8n Cloud’s entry plans and is free on self-hosted n8n. In practice this is a zero-cost alert that replaces the habit of refreshing the Shopify admin to see whether a sale came in.

Download the ready-to-import template

The guide above is free to follow, and building it by hand takes about 15 minutes. The template is the same validated workflow as a single .json import, so you skip the build and just add your token and webhook URL. Want it handled for you? Our done-for-you setup service installs and tests it on your instance.

Download the template ($9) →

Instant download · Works on n8n Cloud and self-hosted

FAQ

Do I need a Discord bot to send order alerts?

No. This template uses a Discord channel webhook, which is a URL you generate inside the channel settings in under a minute. There is no bot to create, no server-wide permissions to grant, and nothing to host. n8n simply posts to that webhook URL, and Discord shows the message in the channel you picked.

Where do I get the Discord webhook URL?

Open the target channel in Discord, go to Edit Channel, then Integrations, then Webhooks, and click New Webhook. Name it, pick the channel, and copy the webhook URL. In n8n you paste that URL into a Discord Webhook credential, and the node uses it to post. Keep the URL private, since anyone with it can post to your channel.

Will this spam my channel on a busy sales day?

Every new order posts one message, so a high-volume store can get chatty. If that is too much, add an IF node after the trigger to only alert on orders above a value threshold, or route alerts to a dedicated low-traffic channel. Many stores keep an all-orders channel muted and a high-value channel with notifications on.

Can I alert only on high-value orders?

Yes. Insert an IF node between the trigger and the message builder, with a condition like total price greater than 200. Only orders that pass reach the Discord node. This is a one-node change and does not touch the rest of the flow, so you can add or remove the filter whenever your alert needs shift.

Can I show line items or a richer card in Discord?

Yes. Discord supports embeds, which render as a titled card with fields and color. The Discord node exposes an embeds option where you can add the order number as the title and line items, shipping city, or payment status as fields. The template ships with a clean text message you can extend into an embed whenever you want.

Related guides