# What is a TradingView webhook?

Source: https://pipsync.io/en/what-is-a-tradingview-webhook
Last updated: 2026-06-07

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.

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

| | |
|---|---|
| What it is | An outbound HTTP POST request triggered by a TradingView alert |
| What fires it | An alert condition you define — a strategy signal, an indicator crossing, or a price level |
| Payload format | The alert's Message field, typically JSON (e.g. instrument, direction, entry, sl, tp1) |
| Where the URL goes | Pasted into the alert's Notifications → Webhook URL field |
| Plan requirement | A paid TradingView plan (Pro, Pro+ or Premium) — the free plan does not support webhook alerts |
| Direction | One-way: TradingView only sends; it never receives a response or executes trades itself |
| Common use | Forwarding strategy signals to a service that places orders on a broker account |
| Example receiver (PipSync) | Signals you review by default; auto-trade is opt-in on the Advanced plan and only for JSON alerts that TradingView itself sends |

## 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.

## FAQ

### What is a TradingView webhook in simple terms?

A TradingView webhook is an automatic HTTP POST that TradingView sends to a web address when an alert you created fires. The alert condition decides when it fires, the alert message is the data it sends, and the webhook URL is where it goes. It is a one-way push: TradingView sends data out and does nothing with any reply.

### Do I need a paid plan to use TradingView webhooks?

Yes. Webhook alerts require a paid TradingView plan such as Pro, Pro+ or Premium. The free TradingView plan supports basic alerts but does not let you attach a webhook URL, so you cannot send the alert to an external service on the free tier.

### What format is a TradingView webhook message?

The message is whatever text you type into the alert's Message field, and for automation it is almost always JSON. You can embed placeholders like {{ticker}}, {{close}} and {{strategy.order.action}} that TradingView replaces with live values when the alert fires, so the receiving service gets the actual symbol, price and direction. With PipSync, only JSON alerts can auto-trade; a plain-text alert is always saved as a signal for your approval.

### Does a TradingView webhook place the trade itself?

No. TradingView only sends the webhook; it does not execute orders and does not connect to a broker. To turn the webhook into a real trade, you point it at a service that receives the POST, parses the payload and submits the order to your broker. All execution logic lives on the receiving side, not in TradingView.

### Where do I put the webhook URL in TradingView?

When you create or edit an alert, scroll to the Notifications section and enable the Webhook URL option, then paste your destination URL. The alert message you write above it becomes the body of the POST that is sent to that URL each time the alert triggers.

### Can a TradingView webhook send signals to MetaTrader, cTrader or a crypto exchange?

Not on its own, because those platforms do not expose a public inbound endpoint for TradingView to post to. You need an intermediary service with its own webhook URL that receives the alert and forwards the order through each platform's API. PipSync is one such service: TradingView alerts become signals you review, or trade automatically if you opt in on the Advanced plan, while webhooks from other systems always become signals you review; it is an execution tool, not a signal provider or investment advice.

## Related

- [Why MetaTrader has no inbound webhook (and how to automate TradingView alerts anyway)](https://pipsync.io/en/metatrader-webhook)
- [Webhook to MT5 — send JSON signals from any system](https://pipsync.io/en/webhook-to-mt5)
- [TradingView webhook to MT5 — signals you review, or opt-in auto-trade](https://pipsync.io/en/tradingview-to-mt5)
- [TradingView to cTrader — signals you review, or opt-in auto-trade](https://pipsync.io/en/tradingview-to-ctrader)
- [What is a signal copier?](https://pipsync.io/en/what-is-a-signal-copier)
- [AI forex signal parser — any format, any language, no templates](https://pipsync.io/en/ai-signal-parser)

---

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.
