TradingView Webhook to Phone Call Tutorial (Complete Technical Guide)
TradingView Webhook to Phone Call Tutorial
Webhooks are TradingView's most powerful notification method - they're fast, reliable, and enable unlimited automation possibilities. But setting them up can be confusing, especially if you're not a developer.
In this comprehensive technical guide, you'll learn exactly how to configure TradingView webhooks to trigger instant phone calls, including code examples, JSON formatting, and troubleshooting tips.
What Are Webhooks?
A webhook is an HTTP POST request that TradingView sends to a URL you specify when an alert triggers. Think of it as TradingView calling your phone line the moment your conditions are met.
Key characteristics:
- Real-time: Sent within 1-2 seconds of alert trigger
- Reliable: 99.5% delivery rate
- Flexible: Can send to any web service
- Automation-friendly: No human interaction needed
Webhooks are the fastest notification method TradingView offers and the only way to achieve true sub-2 second phone call alerts.
Prerequisites
Before you start, ensure you have:
- TradingView Pro or higher ($14.95/month minimum) - Webhooks are NOT available on the free Basic plan
- 2-Factor Authentication (2FA) enabled - Required by TradingView for webhook security
- TradeAlert.Pro account (or similar service) to convert webhooks into phone calls
- Basic understanding of URLs - You'll be copying and pasting webhook URLs
Important: If you're on TradingView's free plan, you must upgrade to Pro first. There's no workaround for this requirement.
Part 1: Understanding Webhook Basics
How Webhooks Work
When your TradingView alert triggers, here's what happens:
- Alert condition is met (e.g., BTC crosses $45,000)
- TradingView sends HTTP POST request to your webhook URL
- Webhook service receives the request (TradeAlert.Pro)
- Service processes the data and initiates phone call
- Your phone rings in under 2 seconds
The entire process is automated and happens faster than you can blink.
Webhook URL Format
A webhook URL looks like this:
https://tradealert.pro/hook/yourUsername/abc123def456
Breaking it down:
https://- Must use secure HTTPStradealert.pro/hook/- The webhook endpointyourUsername/- Your unique account identifierabc123def456- Your API key for authentication
Security note: Never share your webhook URL publicly. It contains your API key and can be used to trigger alerts on your account.
TradingView Webhook Limitations
TradingView imposes these technical limits:
- Rate limit: 60 requests per minute, 500 per hour per account
- Timeout: 3 seconds maximum response time
- Ports: Only ports 80 (HTTP) and 443 (HTTPS) are accepted
- 2FA required: You must have two-factor authentication enabled
- Paid plan only: Pro ($15/mo), Pro+ ($30/mo), or Premium ($60/mo)
If you exceed the rate limit, TradingView will drop subsequent webhook requests until the limit resets.
Part 2: Setting Up Your First Webhook
Step 1: Get Your Webhook URL from TradeAlert.Pro
- Sign up at TradeAlert.Pro (free tier available)
- Verify your phone number with the 6-digit code
- Navigate to your dashboard
- Find the "Webhook URL" section
- Click "Copy" to copy your unique URL
Your URL will be automatically formatted correctly and ready to use.
Step 2: Enable 2FA on TradingView
TradingView requires 2FA for webhook security:
- Log into TradingView.com
- Click your profile → Settings
- Go to Security settings
- Click "Enable Two-Factor Authentication"
- Scan QR code with Google Authenticator or Authy
- Enter the 6-digit verification code
- Save your backup codes
Pro tip: Use Authy instead of Google Authenticator - it backs up to the cloud and won't be lost if you lose your phone.
Step 3: Create Your First Webhook Alert
Now for the actual webhook configuration:
- Open TradingView and load the chart you want to monitor
- Click the Alert button (clock icon) in the top toolbar
- Set your alert condition:
- Condition: "Crossing"
- Value: Your target price
- Options: "Once Per Bar Close" (recommended)
- Configure the webhook:
- Scroll down to the Notifications section
- Check the box labeled "Webhook URL"
- Paste your TradeAlert.Pro webhook URL
- Set the alert message (this will be spoken in the phone call):
{{ticker}} crossed {{price}}. Check chart immediately. - Click Create
That's it! Your webhook is now live.
Step 4: Test Your Webhook
Always test before relying on a webhook:
- Create a test alert that will trigger immediately:
- Set condition to current price
- Enable webhook with your URL
- Use message: "Test alert - please disregard"
- Click Create
- Your phone should ring within 2 seconds
- Verify the voice message is clear and contains correct info
- Check TradeAlert.Pro dashboard for call log
- Delete the test alert
If the call doesn't come through, see the Troubleshooting section below.
Part 3: Advanced Webhook Configuration
Using TradingView Placeholders
TradingView provides dynamic placeholders that are automatically filled when the alert triggers:
Price & Market Data:
{{ticker}}- Symbol name (e.g., "BTCUSD"){{exchange}}- Exchange name (e.g., "BINANCE"){{close}}- Closing price of the bar{{open}}- Opening price{{high}}- Highest price{{low}}- Lowest price{{volume}}- Trading volume
Time Data:
{{time}}- Alert trigger time{{timenow}}- Current server time
Interval & Chart:
{{interval}}- Chart timeframe (e.g., "15")
Example message using placeholders:
{{ticker}} on {{exchange}}: Price {{close}}, Volume {{volume}}
When alert triggers at BTC price $45,123:
BTCUSD on BINANCE: Price 45123, Volume 1234567
Custom JSON Payloads
For advanced users, you can send structured JSON data:
{
"symbol": "{{ticker}}",
"price": {{close}},
"action": "BUY",
"strategy": "Breakout",
"timestamp": "{{time}}"
}
Important: If your message is valid JSON, TradingView automatically sets the content-type header to application/json. Otherwise, it uses text/plain.
For phone calls with TradeAlert.Pro, simple text messages work best since they're converted to speech. JSON is more useful for bot integrations.
Creating Multiple Webhooks
You can create separate webhooks for different alert types:
High Priority (Phone Calls):
- Stop-loss triggers
- Entry signals
- Major breakouts
Medium Priority (SMS backup):
- Profit targets
- Resistance/support tests
Low Priority (Dashboard only):
- Information alerts
- Volume spikes
Simply use different webhook URLs for each priority level, or use a single URL and differentiate with message tags like [URGENT] or [INFO].
Part 4: Best Practices
Message Optimization for Voice
Since your webhook message will be spoken aloud, follow these guidelines:
DO:
- Use simple, clear language: "Bitcoin crossed 45,000 dollars"
- Include essential info only: ticker, price, action
- Use commas for natural pauses
- Spell out abbreviations: "BTC" → "Bitcoin"
DON'T:
- Use special characters: @#$%^&*
- Write long paragraphs (limit 200 characters)
- Use technical jargon that sounds unclear when spoken
- Include URLs or complex data
Good example:
Ethereum reached 3,000 dollars. Buy signal confirmed on 4 hour chart.
Bad example:
{{ticker}}@{{exchange}}|P:{{close}}|V:{{volume}}|ACT:BUY|STRAT:BB_SQUEEZE
Alert Condition Best Practices
Use "Once Per Bar Close" instead of "Only Once":
- Prevents alert from expiring after first trigger
- Waits for candle close (more reliable signals)
- Reduces false breakouts
Combine multiple conditions to reduce noise:
- Price AND volume threshold
- Multiple indicator confirmations
- Different timeframe alignments
Set appropriate cooldown periods:
- For scalping: Once per 5 minutes
- For swing trading: Once per 4 hours
- For position trading: Once per day
Managing Rate Limits
TradingView limits you to 60 webhooks per minute and 500 per hour. To stay within limits:
- Use "Once Per Bar Close" not "Any alert() function call"
- Don't create alerts on 1-second charts - stick to 1-minute minimum
- Consolidate similar alerts - use one alert with multiple conditions instead of many separate alerts
- Monitor your usage in TradingView's alert manager
If you hit rate limits, your webhooks will be dropped silently. There's no error message.
Part 5: Troubleshooting
Webhook Not Firing
Check these first:
- Verify you have TradingView Pro or higher
- Confirm 2FA is enabled on your account
- Check webhook URL has no extra spaces or characters
- Ensure alert condition is set correctly
- Verify alert is Active (not expired or paused)
Test your webhook URL: You can test if your webhook URL is valid by creating a test alert that triggers immediately (set to current price).
Phone Call Not Received
If webhook fires but no phone call:
- Check TradeAlert.Pro dashboard for webhook logs
- Verify your phone number is verified
- Check you haven't exceeded your monthly call limit
- Ensure your phone isn't blocking unknown numbers
- Check TradeAlert.Pro status page for outages
Webhook Timing Out
TradingView cancels webhooks that take longer than 3 seconds to respond.
Solutions:
- Use a reliable service like TradeAlert.Pro (responds in <1 second)
- Check your internet connection isn't blocking HTTPS requests
- Verify the webhook URL is correct (port 80 or 443 only)
Message Not Clear in Phone Call
If the voice message is garbled or unclear:
- Remove special characters from your alert message
- Use simpler language and shorter sentences
- Add commas to create natural pauses
- Spell out abbreviations
- Keep total message under 200 characters
Part 6: Advanced Use Cases
Strategy Alert Webhooks
You can trigger webhooks from Pine Script strategies:
//@version=5
strategy("Webhook Strategy", overlay=true)
// Your strategy logic here
longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
if longCondition
strategy.entry("Long", strategy.long)
alert("Long entry at " + str.tostring(close), alert.freq_once_per_bar_close)
Then create an alert on your strategy and enable webhooks.
Multi-Exchange Monitoring
Monitor the same asset across multiple exchanges:
- Create alerts on different exchange feeds (BINANCE:BTCUSD, COINBASE:BTCUSD, etc.)
- Use same webhook URL for all
- Include
{{exchange}}in message to identify source - Get phone call from whichever exchange triggers first
Conditional Webhooks
Use PineScript to create complex conditions:
// Only alert if volume is above average AND price breaks resistance
highVolumeBreakout = volume > ta.sma(volume, 20) * 2 and close > resistance
if highVolumeBreakout
alert("High volume breakout confirmed", alert.freq_once_per_bar_close)
Part 7: Security Considerations
Protecting Your Webhook URL
Your webhook URL contains your API key and should be treated as a password:
DO:
- Keep it private and secure
- Regenerate it if accidentally shared
- Use different webhook URLs for different purposes
- Store it in a password manager
DON'T:
- Share it publicly on forums or social media
- Include it in screenshots or videos
- Send it via unsecured email
- Hard-code it in public GitHub repositories
Regenerating Your API Key
If your webhook URL is compromised:
- Log into TradeAlert.Pro dashboard
- Go to Settings → API Key
- Click "Regenerate API Key"
- Update all your TradingView alerts with the new URL
This immediately invalidates the old webhook URL.
Frequently Asked Questions
Q: Can I use webhooks without TradingView Pro? A: No. Webhooks are only available on paid TradingView plans (Pro, Pro+, Premium). This is a TradingView limitation, not a TradeAlert.Pro limitation.
Q: How many webhook alerts can I create? A: TradingView Pro allows up to 400 simultaneous alerts. Each can have its own webhook. However, remember the rate limits (60/minute, 500/hour).
Q: Can I send webhooks to multiple URLs? A: No, each TradingView alert can only send to one webhook URL. However, you can create duplicate alerts with different webhook URLs if needed.
Q: What happens if TradeAlert.Pro is down? A: TradingView will attempt to send the webhook but it will fail after 3 seconds. We maintain 99.9% uptime, but you can check our status page or set up a backup webhook to a different service.
Q: Can I see webhook delivery logs? A: Yes! Your TradeAlert.Pro dashboard shows all received webhooks, including timestamp, message content, and call status.
Q: Will webhooks work on mobile? A: Yes, webhooks are sent from TradingView's servers (not your device). Even if your phone is off, the webhook will fire and call your phone.
Next Steps
Now that you understand webhooks, here's how to level up:
- Test thoroughly: Create multiple test alerts with different conditions
- Optimize messages: Experiment with different message formats to find what's clearest
- Monitor usage: Check your alert manager to ensure you're not hitting rate limits
- Explore Pine Script: Write custom strategies that trigger webhooks
- Set up backups: Enable SMS backup in TradeAlert.Pro for redundancy
Ready to set up your first webhook-to-phone-call alert? Start your free trial and get 3 free test calls to verify everything works before you commit.
Related Resources: