Trading Educationtradingview · webhook · alerts

    TradingView Webhook Not Working? A Diagnostic Checklist

    Webhooks fail silently, which makes them miserable to debug. Work through this in order and you'll find the cause in a few minutes.

    Nikolas MetreveliNikolas MetreveliFounder of SimpleAlgo4 min read
    Share
    TradingView Webhook Not Working? A Diagnostic Checklist


    A webhook that doesn't fire gives you almost no feedback, so the only efficient approach is to eliminate causes in order. Start at the top.

    1. Does the alert itself fire?

    Before blaming the webhook, confirm the alert triggers at all. Enable a notification channel you can see — app push or a popup — alongside the webhook, and wait for a trigger.

    No trigger means it's an alert problem, not a webhook problem. Start here instead.

    2. Is the webhook checkbox actually ticked?

    Entering a URL isn't enough. The Webhook URL option in the notifications tab has its own checkbox, and an unticked box with a perfectly valid URL below it does nothing. This is the single most common cause.

    3. Is your plan eligible?

    Webhook delivery is a paid-plan feature. On a free plan the field may be visible but inert. Check your current plan before spending an hour on syntax.

    4. Is the URL valid and reachable?

  1. It must start with https:// — plain HTTP is not accepted.

  2. It must be publicly reachable. localhost, 127.0.0.1 and private network addresses can't be reached from TradingView's servers; use a tunnelling service while developing.

  3. It must respond on the standard port.

  4. No typos, no trailing spaces. Paste rather than retype.
  5. Test the endpoint independently first. Send it a request from a REST client or a curl command with the same body you expect TradingView to send. If your own request fails, the problem is entirely on the receiving side.

    5. Is the message body valid?

    If your receiver expects JSON, the alert message must be JSON — not JSON with a sentence in front of it.

    {"symbol": "{{ticker}}", "action": "buy", "price": "{{close}}"}

    Common mistakes:

  6. Smart quotes from pasting out of a document instead of straight quotes.

  7. A trailing comma after the last field.

  8. Placeholders wrapped incorrectly — it's {{close}}, not {close}.

  9. Mixing free text and JSON in one message.
  10. Paste the message into a JSON validator before saving the alert.

    6. Does your endpoint respond quickly and correctly?

    The receiving server should return a 2xx status promptly. Endpoints that take a long time to respond, return an error status, or require authentication headers TradingView can't send will fail.

    If your endpoint needs authentication, put the secret in the message body or the URL path rather than expecting a custom header.

    7. Check the logs on both sides

    TradingView's alert log shows whether the alert fired. Your server's log shows whether a request arrived. That pair localises the fault immediately:

  11. Fired, nothing arrived → URL, plan, or reachability.

  12. Arrived, rejected → body format or authentication.

  13. Arrived and accepted, nothing happened → your own downstream handling.
  14. 8. Rate limits

    Rapid repeated triggers can be throttled at either end. If the first few work and later ones don't, look at frequency. Switching the trigger to once-per-bar-close usually solves it and improves signal quality anyway.

    Test procedure

    Create a throwaway alert on a condition guaranteed to fire within a minute — price crossing a level just above the current price — pointed at a request-inspection service that shows you exactly what arrives. Once that works end to end, swap the URL for your real endpoint. Changing one variable at a time is the only fast way through this.

    Frequently Asked Questions

    Do TradingView webhooks need a paid plan?

    Yes. Webhook URLs are a paid TradingView feature. On a free plan the webhook option is not available in the alert settings.

    How do I test if my webhook is receiving alerts?

    Point the alert at a request inspection service first, trigger a test alert, and confirm the message body arrives. If it does, the problem is in the receiving app, not TradingView.



    SimpleAlgo is not affiliated with, endorsed by, or sponsored by TradingView. TradingView is a trademark of TradingView, Inc. Platform menus and settings change over time — if a step doesn't match what you see, check TradingView's current help documentation.

    Nikolas Metreveli, Founder of SimpleAlgo

    Written by

    Nikolas Metreveli

    Founder of SimpleAlgo

    Nikolas wrote his first real code at 12 and freelanced software tools and websites for small businesses before finding the markets at 15. He builds and maintains every SimpleAlgo indicator and writes these guides from hands-on use of the tools.

    More about Nikolas and SimpleAlgo

    Related Articles

    Next steps on this topic from the rest of the SimpleAlgo library.