TL;DR

Connect TradingView to a Discord channel using a webhook URL in under 10 minutes -- paste the webhook URL into your TradingView alert, write a JSON message payload with ticker and price placeholders, and every triggered alert fires straight into your Discord server automatically.

Key Takeaways

  • 1.Discord webhooks are free and permanent -- no third-party service is required for basic TradingView-to-Discord routing.
  • 2.TradingView's built-in webhook field handles the connection on its Essential plan ($12.95/month) with no proxy or middleware needed.
  • 3.Make.com adds richer formatting, conditional routing, and multi-destination logic for traders who want more control over what gets sent and when.
  • 4.You can include dynamic values like price, ticker, and volume in your message using TradingView's double-curly-brace placeholder syntax.
  • 5.Set Discord channel permissions carefully -- a leaked webhook URL lets anyone post messages to your channel without any authentication.

I spent two years checking my phone during market hours because I didn't have a reliable alert system. I'd miss setups, then feel like I had to watch screens constantly to compensate. When I finally wired TradingView alerts into a dedicated Discord channel, that changed. Alerts showed up the moment a condition was met -- on desktop, mobile, even on my Apple Watch -- without any active screen monitoring on my end.

This guide walks through two methods. The first is a direct TradingView-to-Discord connection using a webhook URL -- zero code, zero cost beyond TradingView's Essential plan, done in under 10 minutes. The second uses Make.com to add formatting, conditional logic, and multi-destination routing for traders who want more control over what gets sent and when. Either way, you'll end the session with a live alert system firing into Discord in real time.

Why Discord Beats Email and SMS for Trade Alerts

Email alerts are too slow -- a 30-second delay is common, and longer delays happen regularly during high-volume market events when every alert service is under load simultaneously. SMS costs money at scale and doesn't support any kind of structured formatting. Telegram works but the notification grouping is awkward for high-frequency alerts, and the desktop client doesn't give you the persistent, organized channel structure that Discord does.

Discord channels behave like a persistent, searchable feed. You can create separate channels for different strategies, pin the most important alerts, search through historical messages by keyword, and share a server with your trading group without any subscription fees. The free tier supports unlimited channels, unlimited message history, and full webhook functionality. That combination -- organized, searchable, free, and accessible on every device -- makes it the best landing spot for automated trade alerts.

What you can route to Discord

  • Price alerts when a ticker crosses a specific level or percentage move threshold
  • Indicator alerts for RSI hitting oversold, MACD crossovers, Bollinger Band squeezes, or volume spikes
  • Custom Pine Script conditions from any TradingView indicator or strategy script
  • News or earnings calendar alerts via a Make.com webhook trigger
  • Scheduled trading journal reminders via Make.com time-based triggers
  • Broker fill confirmations for supported brokers via Make.com integrations

Discord supports up to 30 webhooks per channel. For most traders, 1-3 webhooks is enough -- one for price alerts, one for indicator conditions, and one for scheduled reminders. If you run a larger alert server with multiple strategies, organize webhooks by strategy or asset class to keep the configuration clean.

Step 1: Create Your Discord Channel and Get a Webhook URL

Before touching TradingView, get the Discord side ready. You need a server you own or have administrator access to, plus a dedicated channel where the alerts will land. Don't set up automated alerts in a shared community server unless you're the owner -- creating webhooks requires administrator rights that most community members don't have.

Set up your Discord server and webhook

  1. 1

    Create a Discord server

    Open Discord and click the '+' icon in the left sidebar. Select 'Create My Own' then 'For me and my friends'. Name it something like 'Trade Alerts' or your strategy name. Skip the template -- you'll configure the channels manually in the next step.

  2. 2

    Create a dedicated alerts channel

    Right-click your server name and choose 'Create Channel'. Name it something descriptive like '#spy-alerts', '#scanner-hits', or '#alerts-general'. Keep it a text channel. Set it to private if you don't want other server members seeing your specific setup conditions and price levels.

  3. 3

    Generate the webhook URL

    Click the gear icon next to your new channel (Edit Channel). Go to Integrations > Webhooks > New Webhook. Name it 'TradingView' or 'Make.com Alerts'. Click 'Copy Webhook URL'. This is the URL you will paste into TradingView or Make.com -- store it somewhere secure like a password manager.

Treat the webhook URL like a password. Anyone with the URL can post messages to your Discord channel with no additional authentication. Don't share it publicly, don't commit it to a GitHub repository, and don't paste it in a screenshot you share in a public trading community.

Step 2: Connect TradingView Directly to Discord

TradingView's alert system includes a native webhook field. When an alert condition fires, TradingView sends an HTTP POST request to the URL you specify, with a message body you define in the alert dialog. Discord webhooks accept POST requests in a specific JSON format -- so the two services connect directly, with no middleware or proxy layer required.

The critical detail: Discord expects a JSON body with a 'content' key containing your message text. TradingView sends exactly that if you format the message field correctly in the alert dialog. The message you write becomes the body of the POST request, so it needs to be valid JSON -- no curly quotes, no trailing commas, proper key-value structure.

Configure TradingView to send alerts to Discord

  1. 1

    Create your alert condition in TradingView

    Click the Alerts icon (clock) in the right toolbar or press Alt+A. Choose your condition -- price crosses above or below a level, RSI reaches a threshold, a MACD crossover fires, or a custom Pine Script condition triggers. Set the frequency to 'Once Per Bar Close' to avoid duplicate alerts on every price tick.

  2. 2

    Write your Discord message payload

    In the 'Message' field, write valid JSON using this exact format: {"content": "ALERT: {{ticker}} hit {{close}} at {{time}} UTC. Volume: {{volume}}"} -- the double curly braces are TradingView placeholders that get replaced with live market values when the alert fires. Use straight quotes only.

  3. 3

    Paste your Discord webhook URL

    Scroll to the 'Notifications' section in the alert dialog. Check the 'Webhook URL' box and paste your Discord webhook URL from Step 1. You can uncheck Email and Push notifications if you want Discord to be the only delivery channel.

  4. 4

    Test the alert immediately

    Save the alert. To test right away, temporarily set a condition that's already true -- like close of SPY above 1 -- trigger it, then check your Discord channel within 5 seconds. If the message appears, the connection is live and working correctly.

  5. 5

    Refine the message format

    Once it's firing reliably, improve the message content. Add a setup label at the start: {"content": "VWAP RECLAIM: {{ticker}} | {{close}} | {{time}} UTC"} -- or add emoji for faster visual scanning. Keep it under 120 characters so it reads in one glance on a phone screen while a trade is moving.

TradingView placeholders worth knowing

PlaceholderWhat it returns
{{ticker}}Symbol name (e.g. AAPL, SPY, BTCUSDT)
{{close}}Close price at the moment the alert fires
{{time}}Alert trigger time in UTC
{{volume}}Volume on the bar that triggered the alert
{{open}}, {{high}}, {{low}}OHLC values for the triggered bar
{{exchange}}Exchange name (NASDAQ, NYSE, BINANCE, etc.)

Stack multiple placeholders for maximum signal density in a single message. 'LONG SETUP: {{ticker}} broke {{close}} at {{time}} | Vol: {{volume}}' gives you ticker, price level, timing, and volume confirmation in under 15 words -- everything you need to make a quick decision without switching to your charting window.

Step 3: Add Make.com for Richer Formatting and Conditional Routing

Make.com (formerly Integromat) is a no-code automation platform where you build visual workflows called scenarios. A scenario receives a TradingView webhook, applies formatting or conditional logic, and then posts to Discord -- or to multiple destinations simultaneously. This method adds roughly 20-30 minutes of setup time but unlocks capabilities the direct webhook connection cannot deliver.

When Make.com is worth the extra setup time

The direct TradingView-to-Discord webhook handles 90% of use cases cleanly. Make.com earns its place when you want to route long alerts to one channel and short alerts to a separate channel automatically, when you want to log every alert to a Google Sheet at the same time as posting to Discord, or when you want Discord's embed format -- color-coded cards with structured fields -- instead of plain text messages.

Pros

  • Route alerts to different Discord channels based on conditions like direction, setup type, or ticker
  • Log every alert to Google Sheets, Notion, or Airtable in parallel with Discord delivery
  • Use Discord's embed format for color-coded, visually structured alert cards with custom fields
  • Add filters to suppress low-quality or duplicate conditions before they hit your Discord channel
  • 1,000 free operations per month on Make.com's free tier covers most active traders comfortably

Cons

  • 20-30 minutes of additional configuration compared to the direct webhook method
  • Adds a third-party dependency -- if Make.com has an outage, your alert pipeline goes down even if TradingView and Discord are both running normally
  • Free tier has a 15-minute minimum execution interval for scheduled triggers
  • JSON payload structure for Discord embeds is more complex to write and debug than plain text

Connect TradingView to Discord via Make.com

  1. 1

    Create a Make.com account

    Go to Make.com and sign up for a free account. The free tier gives 1,000 operations per month and unlimited scenarios. Create a new scenario from your dashboard and give it a clear name like 'TradingView to Discord Alerts'.

  2. 2

    Add a Custom Webhook trigger module

    In the scenario editor, click the first module and search for 'Webhooks'. Choose 'Custom Webhook'. Click Add, name the webhook 'TradingView Alerts', and copy the unique URL it generates. This URL goes into TradingView, not Discord.

  3. 3

    Send a sample payload from TradingView

    In TradingView, create an alert and paste the Make.com webhook URL in the Webhook URL field. Set the message to structured JSON: {"ticker": "{{ticker}}", "price": "{{close}}", "setup": "VWAP reclaim", "time": "{{time}}"}. Save and trigger the alert once so Make.com receives a sample payload it can map.

  4. 4

    Add a Discord Send Message module

    Back in Make.com, click '+' to add a second module. Search for 'Discord', choose 'Send a Message to a Channel'. Connect your Discord account by following the OAuth prompt, or paste your webhook URL directly. Select your alerts channel and write the message using the mapped TradingView fields: 'ALERT: {{1.ticker}} at {{1.price}}' -- the 1. prefix references the first module's output.

  5. 5

    Test the complete flow

    Click 'Run Once' in Make.com, then trigger the TradingView alert manually. Watch the execution flow in the Make.com editor -- green checkmarks on each module mean it processed successfully. Check Discord to verify the message arrived and the content looks exactly right.

  6. 6

    Activate the scenario

    Click the toggle in the bottom left of the editor to turn the scenario On. It now runs automatically whenever TradingView sends a webhook, 24 hours a day. Check the execution history tab once a week to confirm alerts are processing without errors.

Make.com's free tier handles 1,000 monthly operations. If you're running 50 trades a month with 3-5 alerts per trade setup, you'll use roughly 150-250 operations -- well within the free limit. Even fairly active traders rarely hit the ceiling without running scanner-style multi-ticker conditions.

Common Mistakes and How to Fix Them

Most problems with this integration come down to JSON formatting errors or alert frequency settings. These are the issues I see most often when traders first wire up TradingView to Discord, and all of them are straightforward to diagnose and fix.

Webhook fires but nothing shows in Discord

Check your JSON format first. Discord rejects malformed JSON silently -- TradingView shows the alert as 'sent' but nothing arrives in the channel. Paste your message payload into jsonlint.com to validate it before saving the alert. The two most common errors are missing double quotes around the 'content' key and using curly (smart) quotes instead of straight quotes. Curly quotes look similar but break JSON parsing completely.

Getting too many or duplicate alerts

Check the alert frequency setting in TradingView. 'Every time condition is met' fires on every price tick while the condition remains true -- for a price-above condition on a 1-minute chart, that's potentially hundreds of alerts per hour. Switch to 'Once Per Bar Close' for most conditions. If you only want a single notification when a level is first broken, use 'Only Once'. In Make.com, you can also add a duplicate filter that suppresses alerts from the same ticker within a configurable cooldown window.

Discord rate-limits webhooks to roughly 5 messages per second per webhook URL. If TradingView fires 10 alerts in rapid succession -- common with scanner-style conditions running across multiple tickers -- some messages will be silently dropped. Use 'Once Per Bar Close' frequency and consolidate related alerts where possible to avoid hitting the rate limit.

Make.com scenario runs but Discord shows an error

Open the execution log in Make.com and look at the Discord module output. Error 400 means a malformed message payload -- check the JSON structure of your Discord message. Error 429 means you hit Discord's rate limit -- add a delay module between the webhook trigger and Discord module to throttle delivery. Error 50006 means you're sending an empty message -- add a Make.com filter that verifies key fields like ticker and price are not empty strings before the Discord module runs.

What to Do Next

Start with Method 1 -- the direct TradingView webhook. Get one alert firing into Discord today. The whole setup takes under 10 minutes, and you'll immediately see whether the alert message format works for how you actually trade in real time. If the plain-text format is enough, you're done. If you want routing, richer formatting, or logging, layer in Make.com after you've validated the basics.

A few things worth setting up once your first alert is live: create separate channels for different setup types (opening range breakouts in one channel, VWAP reclaims in another), pin the most important recurring alerts so they're easy to find during fast-moving sessions, and consider inviting your trading group or accountability partner to the server so everyone gets the same signal at the same moment.

Automating alerts doesn't replace reading the tape or doing your own pre-market analysis -- it removes the need to watch 10 tickers simultaneously while trying to stay focused and rested. The automation handles the monitoring; your judgment handles the trade decision. That division of labor is what makes the system genuinely useful rather than just an interesting technical project.

Get smarter trades, weekly

One short email every Sunday. AI workflows, tool reviews, and trader productivity tips.