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
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
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
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
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
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
- Paste an alert into the alert tester to see how Nyria reads it.
- Write a TradingView message with the alert builder.
- Step by step for one account: how to automate TradingView to Schwab.
- Step by step for one account: how to automate TradingView to Nyria Paper.
Guides
TradingView webhook JSON format
TradingView sends the Message box as written. What it adds, and what Nyria needs the message to say.
Read guideWhy is my TradingView webhook not firing?
Six checks, most common first, ending at the logged reason.
Read guideHow to connect TradingView to Schwab
Schwab's own sign-in and one webhook URL. Each alert places a Schwab order.
Read guideSchwab automated trading from alerts
Schwab's own sign-in, no API keys; what trades there, a worked example, and the paper run first.
Read guideSchwab API TradingView setup
An alert only sends a webhook. Build the receiver on Schwab's Trader API, or use Schwab's own sign-in through Nyria.
Read guideHow do I keep a trading webhook URL secure?
The token in the URL is the only authentication. Rotate it if it leaks.
Read guideMore TradingView to Schwab guides
Try a paper bot first
No card required. Paper is free. Live trading from $15 a month.