What is a TradingView webhook?
A TradingView webhook is an HTTP POST request that TradingView automatically sends to a URL you specify when one of your alerts fires. Instead of just showing a pop-up or email, the alert delivers a message — usually a small JSON payload — to an external service, which can then act on it, such as logging the event or executing a trade.
Billed at checkout · Cancel any time · Free plan available
Risk warning: Trading CFDs and other leveraged products is complex and carries a high risk of losing money rapidly because of leverage. Industry data indicates that 70–80% of retail trading accounts lose money on these products. Risk disclosure · Past performance.
Webhooks turn TradingView alerts from passive notifications into machine-readable events. The alert condition is your trigger, the alert message is the payload, and the webhook URL is the destination. TradingView never receives anything back and never sends trades itself — it only fires the POST. Any automation happens entirely on the receiving service.
TradingView webhook at a glance
How does a TradingView webhook work?
A TradingView webhook works in three parts: a trigger, a payload, and a destination. The trigger is the alert condition you set — for example, when a strategy fires a buy or sell, or when price crosses a level. When that condition is met, TradingView builds the alert message and POSTs it to the webhook URL.
The payload is whatever you write in the alert's Message field. TradingView lets you embed placeholders that it substitutes with live values at the moment the alert fires — so the receiving service gets the actual symbol, price and action rather than a static string.
- {{ticker}} — the symbol the alert fired on (e.g. EURUSD)
- {{close}} — the closing price of the current bar
- {{strategy.order.action}} — "buy" or "sell" from a strategy order
- A typical message is JSON, e.g. {"instrument": "{{ticker}}", "direction": "{{strategy.order.action}}", "entry": {{close}}, "sl": 1.0800, "tp1": 1.0950}
What does a TradingView webhook JSON payload look like?
Most webhook integrations expect JSON, because it is structured and easy for a receiving service to parse. A common pattern uses a field for direction, a field for the instrument, and numeric fields for entry price, stop-loss and take-profit.
The placeholders are filled in by TradingView when the alert fires, so the destination receives concrete numbers. Fields like stop-loss and take-profit can be hard-coded or driven by your strategy's own variables — the exact schema, and whether a 0 is accepted, is defined by whatever service you send the webhook to, not by TradingView.
What can you do with a TradingView webhook?
A TradingView webhook lets you connect an alert to almost anything that can receive an HTTP POST. The most common use in trading is automated execution: the webhook forwards a strategy or indicator signal to a service that translates it into a real order on a broker account.
Because the payload is just data, webhooks are also used to log signals to a spreadsheet or database, push notifications into chat apps, or chain TradingView into a larger automation pipeline. PipSync, for example, exposes a per-workspace webhook URL that accepts a JSON payload and turns a valid alert into a signal you review on its Signals page, or trades it automatically if you opt in on the Advanced plan — but the webhook itself is platform-agnostic and works the same way regardless of the receiver.
Can a TradingView webhook trade automatically?
That depends entirely on the receiver, because the webhook only carries the message. With PipSync, by default every valid alert becomes a signal you review on the Signals page and no order is placed from it. Auto-trade is opt-in and off by default: it needs the Advanced plan, and you set it up under Settings → Advanced → TradingView Alerts with an explicit consent, then link your accounts and switch auto-trade on under Accounts & auto-trade.
With auto-trade on, the loss at the stop loss is capped at the channel risk, 0.5% of the account balance by default. Slippage and price gaps can make the actual loss larger than the cap. If the risk cannot be measured on an account (the balance is unknown, there is no contract data, or the account is not held in USD for now — for now, auto-trade values the risk only for currency pairs: gold, indices, crypto and other CFDs on MT5, cTrader and Match-Trader accounts are not traded), or the broker's smallest lot would exceed the cap, that account is not traded; if every account was refused by these limits, the alert is kept as a signal for your approval, and if the broker rejects the order on every account, the signal is marked rejected. PipSync does not close positions from TradingView alerts: exits happen by stop loss, take profit or by you. The webhook URL is a secret — with auto-trade on, anyone who has it can trigger trades — so regenerate it if you suspect a leak. A webhook from your own system, such as a bot or a script, is never traded automatically: it always becomes a signal for your approval. An alert is traded automatically only when all of these hold:
- it is a JSON alert — plain-text alerts are always saved as a signal for your approval
- it comes from TradingView's published sender IP addresses
- it names no size of its own (for example lots, qty, contracts, size, volume, units, amount or risk) — otherwise it is a signal for your approval
- your Advanced plan is still active
- it is not a duplicate — TradingView retries are de-duplicated
- your workspace is under 5 automatic executions per minute
- no position in the same instrument opened by a TradingView alert is still open, in either direction
Why can't a TradingView webhook reach MetaTrader directly?
A webhook needs a destination that can accept an inbound HTTP POST at a public URL. MetaTrader 4 and MetaTrader 5 are trading terminals: they connect outward to a broker server and do not expose a public inbound endpoint that TradingView could post to. So pointing a TradingView alert directly at "MetaTrader" has nowhere to land.
Bridging the gap requires an intermediary that does have a webhook URL: it receives TradingView's POST, parses the JSON, and then acts on it — placing an order through the broker's API, or, in PipSync's case, saving a signal you review or, if you opt in, trading it automatically. This is exactly the role described on the metatrader-webhook page — the webhook hits a service, and the service talks to MT4/MT5.
Parse for free, execute on a paid plan
Connect a signal source and watch PipSync parse in real time. Start on the Free plan at $0 with no card, or subscribe from $24/month for execution — charged at checkout, cancel any time.
Billed at checkout · Cancel any time · Free plan available
Risk warning: Trading CFDs and other leveraged products is complex and carries a high risk of losing money rapidly because of leverage. Industry data indicates that 70–80% of retail trading accounts lose money on these products. Risk disclosure · Past performance.
Frequently asked questions
Written by the PipSync team · Reviewed by PipSync Editorial, Editorial team · Published · Last updated
PipSync is a cloud-based signal automation platform that routes trading signals from Telegram, Discord, TradingView alerts and custom webhooks to broker accounts on MetaTrader 5, cTrader, Match-Trader, Binance Futures and Bybit — with server-side risk management and no VPS required. PipSync is an execution tool, not a signal provider and not investment advice.
PipSync is a signal execution tool. It does not provide trading signals, does not guarantee any trading results and is not investment advice. Trading leveraged products involves substantial risk of loss. See the full risk disclosure and performance disclaimer.