TradingView webhook setup
Send TradingView alerts and strategy alerts to PipSync by webhook. Each valid alert becomes a signal that you review on the Signals page, or trades automatically if you opt in.
Before you begin
- A connected broker account in PipSync.
- A paid TradingView plan — webhooks are not available on the free tier.
- A PipSync plan that includes webhook integration — TradingView webhooks are part of the Advanced plan.
Get your webhook URL
- 1
Open the alerts surface
Settings → Advanced → TradingView Alerts, then click Generate webhook URL.
- 2
Copy the generated URL right away
PipSync shows the full URL only once and stores just a hash of the key. If you lose it, click Regenerate. You have one URL per workspace:
https://YOUR_PIPSYNC_ADDRESS/api/tradingview/webhook/tv_YOUR_SECRET_KEY
Create the alert in TradingView
- 1
Open the Alerts panel
The clock icon in the right toolbar, or Alt+A.
- 2
Set your condition
A strategy order, an indicator crossing, a price level — anything TradingView can alert on.
- 3
Put JSON in the Message field
This is the payload PipSync receives. Use the template below, or copy it from Settings → Advanced → TradingView Alerts → Alert message.
- 4
Paste the webhook URL
Under Notifications → Webhook URL.
- 5
Create the alert
TradingView now POSTs your JSON to PipSync every time the alert fires.
{
"instrument": "{{ticker}}",
"direction": "BUY",
"entry": {{close}},
"sl": 0.0000,
"tp1": 0.0000
}Replace both 0.0000 values with real prices. An alert with a stop-loss or take-profit of 0 is rejected. Always send JSON: plain-text alerts are read on a best-effort basis and can misread a level, so they are never traded automatically — a plain-text alert is always saved as a signal for your approval.
Payload reference
| Field | Required | Meaning |
|---|---|---|
| instrument | yes | The instrument, for example {{ticker}}. Also accepted: ticker, symbol, pair. |
| direction | yes | buy, long or call for a buy; sell, short or put for a sell. Also accepted under action, side and order, so {{strategy.order.action}} works. |
| entry | yes | Entry price, greater than 0. Also accepted: entryPrice, price, close. 0 is not read as market. |
| sl | yes | Stop-loss price, greater than 0. Also accepted: stopLoss, stop_loss, stoploss. |
| tp1 | yes, at least one | Take-profit price, greater than 0. Use tp for a single target, tp1 to tp5 for several. |
comment and other unknown fields are ignored, and there is no close action: PipSync does not close positions from TradingView alerts. A size field never sets the size: an alert that names its own size or risk (lots, qty, contracts, size, volume, units, amount or risk, for example) is never traded automatically and is saved as a signal for your approval. A missing or non-positive instrument, direction, entry, stop-loss or take-profit is answered with HTTP 422 and creates no signal. {{ticker}} gives TradingView's spelling of the symbol, and there is no mapping setting for alerts: if your broker spells an instrument differently, message us in the support chat with the symbol and the broker.What happens next
A valid alert becomes a signal named TradingView Alert on the Signals page and is scored like any other signal. Unless you have switched on auto-trade (below), PipSync places no order from it — open the signal on the Signals page to review it.
Auto-trade alerts (optional)
Auto-trade is opt-in and off by default, and it needs the Advanced plan. Under Settings → Advanced → TradingView Alerts, tick the consent and click Set up auto-trading. This creates one TradingView channel, which counts toward your plan's signal-source limit; at the limit, setup is refused, so remove a source or upgrade first. Then open Accounts & auto-trade, link the broker accounts that should trade and switch auto-trade on. Until then every alert stays 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. A request from your own system or any other tool is saved as a signal for your approval.
- It names no size of its own (for example lots, qty, contracts, size, volume, units, amount or risk); otherwise it is saved as 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. An opposite-direction alert while such a position is open is held as a likely strategy exit and saved as a signal for your approval.
The loss at the stop loss is capped at the channel risk, 0.5% of the account balance by default. 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; if the broker rejects the order on every account, the signal is marked rejected. Slippage and price gaps can make the actual loss larger than the cap. If the de-duplication service is unavailable, alerts are only saved as signals.
Test before you trust it
- Fire the alert once in TradingView, or POST the JSON to your webhook URL with curl.
- Open Settings → Advanced → TradingView Alerts → Recent alerts. Every inbound call is listed with instrument, direction and outcome, including the exact parser error. An empty list means TradingView never reached PipSync.
- Review the resulting signal on the Signals page and check the instrument, entry, stop-loss and take-profit. Keep auto-trade off until a few alerts have arrived exactly as expected.
Alert fires but nothing arrives? See webhook troubleshooting.
Toujours bloqué ?
Envoyez le signal brut, l'horodatage et le nom du compte. N'envoyez jamais de mots de passe, de clés API ni d'identifiants de courtier.