What Is a TradingView Webhook Explained Simply

TradingView webhook alert flow — from chart signal to trade execution

What Is a TradingView Webhook, Explained Simply

You built a strategy on TradingView. It fires alerts. You watch. You click. You switch to your broker’s terminal. You enter the trade manually. By the time you’re done, the price has already moved.

This is where most automation stories begin — and where most traders get stuck. They hear “webhook” and assume it’s developer territory. JSON, endpoints, HTTP POST requests. It sounds like backend engineering, not trading.

It’s not. A webhook is the simplest piece of the automation puzzle. Understanding what it does — and what it doesn’t — takes five minutes. Those five minutes decide whether you automate your execution or keep copy-pasting alerts into a terminal window.

A Webhook in One Sentence

A webhook is a message that TradingView sends to an external URL the moment an alert fires.

That’s it. No polling. No refreshing. No manual check. Your alert condition triggers, and TradingView immediately sends an HTTP POST request — a small packet of data — to whatever URL you specified. The receiving server reads the message and acts on it.

Think of it as a text message from TradingView to another computer. “Hey, the condition you set on EURUSD just triggered. Here’s what happened.” The receiving computer decides what to do with that information.

How It Works, Step by Step

The entire chain from chart event to webhook delivery has four stages.

1

Alert Evaluation

TradingView’s servers continuously check your alert conditions against incoming market data. When a condition is met — a price cross, an indicator signal, a strategy entry — the system flags it. This stage takes 25–100ms under normal conditions.

2

Webhook Dispatch

TradingView constructs an HTTP POST request and sends it to the URL you entered. The request body contains whatever text you put in the “Message” field. If it’s valid JSON, the content-type is application/json. Takes 50–300ms normally, up to 500ms–2s during major events.

3

Server Receives

Your trade copier, custom bot, or automation platform receives the POST request. It parses the message, validates it, and decides what to do. If the server doesn’t respond within 3 seconds, TradingView cancels the request.

4

Action

The receiving system executes its programmed logic. Place a trade. Send a notification. Log the signal. This part is entirely on the receiving end — TradingView’s job is done.

End-to-end, from candle close to webhook arrival, the typical time is 200–800ms under normal market conditions. During high-volume events like Non-Farm Payrolls or FOMC announcements, expect 500ms–2s.

What the Webhook Message Contains

The webhook sends exactly what you put in the alert’s “Message” field. Nothing more, nothing less.

TradingView doesn’t automatically include the symbol name, the price, the timeframe, or the action. If you want those in the message, you write them in — either as static text or using TradingView’s built-in placeholder variables.

A simple plain-text message might look like this:

buy EURUSD

A structured JSON message for an automation platform might look like this:

{“action”: “buy”, “symbol”: “EURUSD”, “price”: {{close}}, “time”: {{timenow}}}

The double-brace variables ({{close}}, {{timenow}}, {{ticker}}) are TradingView placeholders that get replaced with actual values when the alert fires.

This is where the concept splits into two worlds. If you’re connecting to a system that reads JSON — most custom bots, many third-party platforms — you need to format the message correctly. One missing comma, one unclosed bracket, and the receiving system can’t parse it.

If you’re connecting to a system designed to work without manual message formatting — like Nordman Connector’s No-Code workflow — the webhook message comes pre-built. You copy it from the client area, paste it into the alert. No JSON editing. No placeholder debugging.

What You Need Before You Can Use Webhooks

Three requirements. Miss any one, and the webhook won’t fire.

A Paid TradingView Plan Webhooks aren’t available on the free tier. As of 2026, you need at least TradingView Essential to access webhook notifications. The free plan limits you to three price-level alerts with no webhook capability.
Two-Factor Authentication Enabled TradingView requires 2FA on your account before it allows webhook alerts. This is a security measure — webhooks send data to external servers, and TradingView wants to ensure the account owner authorized it.
A Receiving URL The webhook needs somewhere to go. This is either a URL provided by your trade copier service, your custom server endpoint, or a third-party automation platform. The URL must be accessible over HTTPS on port 80 or 443. IPv6 is not supported.
All Three — No Exceptions Missing the paid plan means no webhook option in the alert dialog. Missing 2FA means TradingView blocks the webhook URL field. Missing the receiving URL means the webhook fires into nothing.

Common Webhook Failures (and What Actually Causes Them)

Webhooks look simple until they stop working. Here’s where they break.

The URL Is Wrong The most common failure. A typo, a trailing space, a missing character. TradingView sends the POST request, gets no valid response, and logs it as failed. Check the alert log — TradingView shows webhook delivery status for each alert.
Server Took Too Long TradingView has a 3-second timeout. If the receiving server is slow — overloaded, cold-starting, or geographically distant — the request gets cancelled. The trade never executes. TradingView doesn’t retry.
Alert Didn’t Fire at All The webhook is fine, but the alert condition was never met. Common with “Once Per Bar Close” alerts on higher timeframes — the condition might be met mid-bar but not at close.
Message Format Is Broken The receiving server expects JSON but gets malformed text. A missing quote, an extra comma after the last field, a placeholder variable that didn’t resolve. The server receives the request, can’t parse it, and drops it.
Plan Downgrade Webhooks stop working if the account drops below the Essential tier. The alerts stay, but webhook delivery silently stops.
Receiving Terminal Is Offline The webhook fires, the server receives it, but the terminal that’s supposed to execute the trade isn’t connected. With real-time copiers, there’s no queue. If the terminal is down when the signal arrives, the trade is missed.

The Latency Question: How Fast Is “Fast Enough”?

Every webhook-based system adds latency to your execution. The question is whether that latency matters for your strategy.

According to measurements published by ClearEdge Trading, the full execution chain — from alert trigger through broker fill — typically takes 1–5 seconds under normal market conditions. Breaking that down:

Stage Normal During Events
Alert detection (TradingView) 25–100ms 200–1,000ms
Webhook dispatch (TradingView) 50–300ms 500–2,000ms
Platform processing (copier) 3–50ms 50–200ms
Broker execution 50–500ms 500–5,000ms

The webhook dispatch — TradingView’s part — is typically the largest single contributor. It’s also the one you have the least control over. Your TradingView plan tier affects it (Premium plans tend to deliver faster), but you can’t eliminate the delay.

For ES futures during fast market conditions, ClearEdge estimates that each second of latency produces 1–2 ticks of slippage per contract. On quiet midday sessions, latency is mostly irrelevant.

The practical takeaway: if your strategy targets moves of 20+ ticks and holds for minutes, webhook latency is noise. If you’re scalping 3-tick moves on ES during the open, the execution chain matters more than the strategy.

How This Connects to Trade Copying

A webhook by itself does nothing. It’s a delivery mechanism — a way to get a message from point A to point B.

The real question is what happens at point B. And that’s where the architecture of your copier determines whether the webhook actually results in a trade.

Most webhook-based copiers work like this: receive the JSON message, parse the symbol name, look up the symbol in the broker’s catalog (symbol mapping), translate the lot size, and submit the order. Every one of those steps is a potential failure point.

Nordman Connector uses the webhook as a trigger, not as a full instruction set. The Receiver — our terminal-side component — is already attached to the chart of the instrument you want to trade. When the webhook arrives, the Receiver doesn’t need to parse a symbol name or look up a mapping table. It executes on the chart it’s sitting on.

This means the webhook message doesn’t need to carry the symbol, the lot size, or the execution parameters. Those are configured on the terminal side, in the Receiver’s settings. The webhook says “go.” The Receiver already knows where and how.

No-Code Workflow The webhook message comes pre-configured from the client area. Copy, paste into TradingView alert. No JSON editing, no placeholder debugging.
Low-Code Workflow Edit Pine Script alert conditions directly for custom logic. Same webhook infrastructure, same Receiver on the terminal side.
~0.5s End-to-End We measured our webhook processing leg at ~0.1–0.15 seconds based on our internal measurements. End-to-end, including TradingView’s dispatch, total execution time is ~0.5 seconds on our production infrastructure.
Multi-Platform Support Same Receiver architecture for TradingView to MT5 and TradingView to NinjaTrader. The webhook is the transport. The Receiver handles execution.

More detail on connecting TradingView to multiple terminals without code: Can You Connect TradingView to MT4, MT5, and NinjaTrader 8?

Who This Is For — and Who Should Close This Tab

Webhooks are the right tool if you have a strategy on TradingView — manual or automated — and you want it to execute on an external terminal without you sitting at the screen.

Nordman Connector is not for you if you don’t use TradingView — cross-terminal copiers exist for that workflow. It’s not for you if you expect zero latency — webhooks add 200ms–2s to your execution, and if your strategy can’t absorb that, you need co-located execution, not a webhook. And it’s not for you if your broker is in a different region from our infrastructure (Frankfurt) — the additional network hop adds latency on top of TradingView’s dispatch delay. If any of those describe you — this article was interesting, close the tab, don’t spend €25 with us.

A walkthrough of how this looks in practice:

Start Your 5-Day Free Trial →

Need something custom built? We develop automation to order — learn more.

Sources referenced in this article:

  1. How to Configure Webhook Alerts — TradingView Official Documentation: tradingview.com
  2. TradingView Alert Delivery Speed for Automated Futures Trading — ClearEdge Trading: clearedge.trading
  3. TradingView Alert Delay: Causes and Solutions — ClearEdge Trading: clearedge.trading
  4. What Are TradingView Webhooks? — TradersPost: traderspost.io
  5. TradingView Alerts Setup: Free Plan Limits (2026) — TV-Hub: tv-hub.org

Nordman Algorithms provides software infrastructure for trade automation and does not offer financial advice, trading signals, or managed trading services. This article is for informational and educational purposes only. Trading leveraged instruments such as Forex and CFDs carries a high level of risk and may not be suitable for all investors — only risk capital should be used. Full Risk Disclosure: https://www.nordman-algorithms.com/risk-disclosure/