Documentation · Webhook

TradingView webhook payload

Exact fields read by WebhookIngress when a TradingView alert reaches TheConnector.

YouTube video (no-cookie domain), loaded only when you press play.
Silent tutorial — everything is written on screen.

Purpose

This page documents the public WebhookIngress contract for TradingView alerts. It is not the dashboard manual-order payload.

Access path

  • In the client workspace: My accounts > open a trading account > copy the access key.
  • In TradingView: Alert > Notifications > paste https://webhook.theconnector.fr/YOUR_ACCESS_KEY in Webhook URL.
  • In TradingView's Message field, paste the JSON message.
Dashboard account settings screenshot
Open the account details and copy the account code or access key from the real dashboard.

Minimal JSON

json
{
  "action": "buy",
  "symbol": "EURUSD",
  "risk": 1,
  "sl": 20,
  "tp": 40
}

Fields read by WebhookIngress

  • action is required. Accepted aliases: side, type, command, msgtype.
  • symbol is required for trading commands. Accepted aliases: pair, ticker, instrument, market, asset.
  • risk is passed as a numeric risk value. For explicit lot size, use volume, lot, lots or fixedVolume.
  • sl and tp are the current stop loss / take profit names. Accepted aliases: stoploss, stop_loss, takeprofit, take_profit.
  • price is used only for pending orders: buystop, buylimit, sellstop, selllimit.
  • ticket, orderId, order_id, positionId or position_id are used only when the instruction targets a known order or position.
  • account / accountCode and platform are optional with the account URL; they are useful only for shared routing setups.
  • streamId or id can be sent for tracking. If omitted, the server creates a tracking id.
  • tag (alias comment) names the strategy an alert belongs to. On an entry it is written into the position's broker comment; on a close it restricts the close to the positions carrying that name, so several strategies can share one account and one symbol. It is lowercased and cut to 12 characters, and it is honoured from robot 0.0.21 onwards — below that version a tagged close is refused rather than played on another strategy's position. Send your own streamId and the generated one is replaced, so the tag never reaches the position comment: leave streamId out when you use tags.
  • clientRequestedAtUtc, requestedAtUtc or requestedAt may be sent as an informational UTC timestamp.

One-line fallback

JSON is recommended, but WebhookIngress also accepts comma-separated text:

text
buy,EURUSD,risk=1,sl=20,tp=40

What not to send

Do not rely on ttl_ms, vol_lots, sl_pips or tp_pips: the current WebhookIngress parser does not read these names. Use the account price mode to decide how sl, tp and price are interpreted by the robot.

Existing third-party scripts

Do not assume that a message built for another connector is compatible as-is. Keep the strategy logic if you want, but verify and adapt the TradingView message fields above.

Need a broker-specific edge case? Contact support