Skip to content

Guide / Checked Nov 2026

TradingView webhook Schwab setup

A TradingView webhook can't reach Charles Schwab on its own. Point it at your Nyria strategy's URL and Nyria places the Schwab order. Stocks in whole shares and options up to 4 legs, on live accounts only.

Official documentation

Wire the webhook in five steps

  1. 1

    Create a strategy

    Start a strategy with TradingView as the alert source. Set what an entry and an exit do for stocks or options.

  2. 2

    Copy the webhook URL

    Every strategy has its own URL, shaped like https://trades.nyria.io/webhooks/{your_strategy_token}. Copy it from the strategy page.

  3. 3

    Write the alert message

    In TradingView, open the alert's Message box. A ticker and an action are enough, as JSON or as plain text.

  4. 4

    Paste the URL

    Under Notifications, tick Webhook URL, paste it in and select Apply. Webhooks need a paid TradingView plan with two-factor sign-in on.

  5. 5

    Test on paper first

    Nyria connects live Schwab accounts only, so test it free on Nyria Paper first. Then deploy a second bot on the Schwab account. Reconnect every 7 days.

Alert JSON for Schwab

Stock entry

{ "ticker": "NVDA", "action": "buy" }

Stock exit

{ "action": "CLOSE", "instrument": "AAPL", "direction": "LONG" }

Limit entry

{ "action": "OPEN", "instrument": "QQQ", "direction": "LONG", "order_type": "limit", "price": 740 }

Buys QQQ with a $740 limit, whatever order type the strategy uses. The bot still sets the size.

Option entry

{ "ticker": "SPY", "action": "OPEN", "direction": "LONG" }

Opens SPY on the strategy's long side, a bought call by default. Its option rules pick the type, strike, expiry and legs. The budget per entry sets how many contracts.

Option exit

{ "ticker": "SPY", "action": "CLOSE", "direction": "LONG" }

Test it with curl

curl -X POST https://trades.nyria.io/webhooks/YOUR_STRATEGY_TOKEN \
  -H "Content-Type: application/json" \
  -d '{"ticker": "SPY", "action": "buy"}'

The webhook URL shape

  • Every strategy has its own URL.
  • It looks like https://trades.nyria.io/webhooks/{your_strategy_token}.
  • The token at the end of the URL is the only authentication. Keep it private.
  • The webhook reply carries no order id. To get one back, send through the REST API.

What the alert must say

  • A body that names a ticker and an action is enough.
  • JSON like {"ticker": "SPY", "action": "buy"} or the words SPY long entry.
  • Send marketPosition and prevMarketPosition and Nyria works out the action and direction.
  • For a limit entry, add "order_type": "limit" and a price to the OPEN.
  • At Schwab, the order rests at your price until it fills or is canceled.
  • Each bot sizes the order from its budget per entry, never from the alert.

The TradingView side

  • The free plan can't send webhooks.
  • TradingView substitutes only the placeholders it publishes.
  • Every other placeholder passes through as literal text.
  • Arrows that show late or disappear mean the script repaints.
  • Nyria doesn't detect repainting.

The Schwab side

  • Nyria connects live Schwab accounts only.
  • Access ends every 7 days at Charles Schwab, so reconnect weekly.
  • Allow 1 to 3 business days for a new account to reach API access.
  • Each trade needs options approval at its level.
  • SPX alerts go to the PM-settled SPXW chain, 0DTE included.
  • Each alert sends a spread as one order, never legged in.
  • Alert to order, sub-second.

What it can't do

  • Paper trading on Schwab. Run the strategy on Nyria Paper first.
  • Order forms beyond market and limit. Charles Schwab accepts none.
  • Stops and targets are exit alerts. An exit alert can flatten a position.
  • Crypto or futures. Neither is offered on the Schwab API.

Questions

Can a TradingView alert call Schwab directly?
Not directly. A TradingView alert can only send a webhook. Nyria receives it and places the order through Schwab's Trader API.
What URL do I paste into TradingView for Schwab?
Your Nyria strategy's URL, shaped like https://trades.nyria.io/webhooks/{your_strategy_token}. Keep the token private.
What JSON does a Schwab alert need?
A ticker and an action, like {"ticker": "SPY", "action": "buy"}. Plain text such as SPY long entry works too.
Does the free TradingView plan send webhooks?
No. Webhooks need a paid TradingView plan with two-factor authentication on.
Why does my Schwab connection stop after a week?
Because Charles Schwab ends access every 7 days. Reconnect, then every 7 days after.
Can the webhook set the order size?
No. The bot sets the size from its budget per entry.

Next

More TradingView to Schwab guides

Try a paper bot first

No card required. Paper is free. Live trading from $15 a month.