Blog
BLOG — Tutorial

Build a Slack alert workflow — 20 minutes end-to-end

The most satisfying first workflow is a Slack alert. That moment when a message just drops into a team channel because something happened — that's what makes automation click faster than anything else. In this post, we'll build an "order alert" in 20 minutes.

Here's what the finished workflow does. A payment comes in, the webhook catches it, and if the amount is at least ₩100,000 a summary lands in #sales. Four nodes get you there.

Order alert workflowLIVE
HOOKWebhook triggerSETSet — clean fieldsIFIF — amount checkSLKSend to Slack

0. What you'll need

  • An n8n instance (Cloud or self-hosted)
  • Slack workspace admin rights
  • A Bot Token — issued from a fresh Slack App
You can create a Slack App at api.slack.com/apps in 5 minutes. The only scope you need is chat:write. Add the rest when you actually need them.

1. Pick a trigger

A workflow always starts with a trigger. Use Webhook for external events, and Schedule Trigger when you need to check periodically. This tutorial assumes you're catching a hook from a payment system.

curl -X POST \
  https://your-n8n.example.com/webhook/orders \
  -H 'Content-Type: application/json' \
  -d '{"order_id":1024,"amount":129000,"customer":"Hong Gildong","product":"Annual subscription"}'

2. Clean fields with a Set node

Don't push the raw incoming JSON straight into Slack. Use a Set node to pick the values you actually need and normalize the names — everything downstream, the IF and the Slack node, gets cleaner.

  • orderId = {{ $json.order_id }}
  • amount = {{ $json.amount }}
  • customer = {{ $json.customer }}
  • product = {{ $json.product }}

3. Cut noise with an IF node

You don't need to alert on every event. The moment a channel pings three times a second, people start tuning out. Add a filter with an IF node so only what's actually worth seeing survives.

  • IF — splits into true/false branches
  • Switch — routes into multiple branches (e.g. per tier, per channel)
  • Filter — passes matching items, quietly drops the rest

In this example, we set amount ≥ 100000 — small orders slip by silently and only the big ones make it to the channel.

4. Send with the Slack node

Add a Slack node and register the Bot Token you just issued as its Credential. Resource: Message, Operation: Send, Channel: #sales. Drop expressions into the message body and it assembles dynamically.

:moneybag: *New order #{{ $json.orderId }}*
• Customer: {{ $json.customer }}
• Product: {{ $json.product }}
• Amount: ₩{{ $json.amount.toLocaleString() }}

<https://admin.example.com/orders/{{ $json.orderId }}|View order details>
Slack's mrkdwn is slightly different from standard markdown. Bold is *bold* (single asterisk), italic is _italic_, and links are <url|text>. Emoji go in as :emoji:.

5. What makes an alert good

A good alert fits "what happened" and "what should I do" into a single line.SynAct.ai consulting team
  • One-line title with the key event and an identifier
  • Body with 3-4 pieces of context (who, what, how much)
  • Last line: a link to the next action

6. Pre-launch checklist

  1. Hit the test URL with curl 5 times — verify values at each of Set/IF/Slack
  2. Flip the workflow to Active
  3. Register the production URL in your payment system
  4. Trigger one real small order to prove it end-to-end
  5. Check the Executions tab for success/failure logs

Real deployment results

Build time
~20 min
Alerts per month
~1,800
Issue response time
-42%

These are results from a real e-commerce team. The response-time drop is the big one, and the reason is simple: you don't have to open email anymore. Click the link straight from the channel and you're in the admin.

Where to go from here

If you finished this tutorial, you've internalized the four-step pattern of automation: trigger → clean → condition → action. This shape applies to tax invoices, inventory alerts, lead routing, server monitoring — anywhere. Your next workflow will be three times faster to build.

This tutorial was verified on n8n 2.29.9 — Webhook → Set → IF → Slack, wired up and round-tripped with curl. Last verified: 2026-05-02.
Want to add Slack automation to your company? Book a free consultation. Payments, CRM, ticketing — 30 minutes and we'll frame the architecture with you.

Reading is fine.
Doing is better.

We'll apply what you read to your operation. Start with a free audit.

One hands-on automation piece a month

n8n patterns, AI-agent recipes, and case studies — one email a month. No sales pitches, no filler.

Unsubscribe anytime · No spam