Back to site

TradingView Alert Sources

Use an alert source when TradingView should be the trigger and Tickory should handle routing, delivery tracking, and proof. A source receives the inbound event, and one or more routes decide where that event gets delivered.

Inbound vs outbound

This guide is for inbound TradingView alerts flowing into Tickory. If you want Tickory scan alerts to call your own service, use the Webhook Deliveries guide instead.

Overview

The full flow looks like this:

  1. Create a TradingView source in Tickory.
  2. Copy the source webhook URL and secret into your TradingView alert.
  3. Add one or more routes so Tickory knows which delivery channels should receive matching events.
  4. Send a test event or test payload and inspect the resulting source trace and alert history.

Tickory keeps two different views on purpose:

  • Source Trace & Proof shows the inbound payload, route evaluation, and receipt proof for one source event.
  • Alert History shows provider/channel delivery attempts, retries, and failures after a route enqueues an alert.

Create A Source

  1. Open Integrations in the dashboard.
  2. Go to Alert Sources.
  3. Click Create TradingView Source.
  4. Give the source a name that matches the TradingView strategy or alert.

Tickory creates two values for that source:

  • Inbound Webhook URL: the URL TradingView should POST to.
  • TradingView Secret: the shared secret used to authenticate the payload.

One source per feed is usually easiest

Create separate sources when you want separate trace history, separate secrets, or different delivery routes for different TradingView strategies.

Configure TradingView

In your TradingView alert, paste the Tickory source webhook URL into the webhook field. TradingView does not let you set custom headers on native webhook alerts, so include the source secret directly inside the JSON body:

{
  "ticker": "{{ticker}}",
  "close": {{close}},
  "volume": {{volume}},
  "time": "{{timenow}}",
  "alert_message": "{{strategy.order.action}} {{ticker}}",
  "secret": "paste-the-source-secret-from-tickory"
}

Tickory normalizes a few fields automatically:

  • ticker is also available as symbol
  • close is also available as price
  • alert_message, volume, and time are preserved for filters and trace inspection

Custom relays can sign instead

If you send the TradingView payload through your own relay or automation layer, Tickory also accepts an X-TradingView-Signature header containing an HMAC SHA-256 of the raw JSON body. The same source secret is used for either method.
const crypto = require("crypto");

function tradingViewSignature(secret, rawBody) {
  return crypto.createHmac("sha256", secret).update(rawBody).digest("hex");
}

Add Routes

After a source accepts an event, routes decide which destinations should receive it. Open the source detail page and click Add Delivery Route.

Current direct destinations include:

  • Email
  • Telegram chat ID
  • Webhook URL
  • Discord webhook URL

You can also add a CEL route filter if only certain TradingView events should go to that route. For example:

symbol == "BTCUSDT" && price > 40000

That route would only fire for BTCUSDT alerts above 40,000. Leave the filter empty when every inbound event for the source should go to the destination.

Test And Inspect

The source detail page gives you two test tools:

  • Send Test Event creates a synthetic event using the stored source and routes.
  • Test Payload lets you paste custom JSON and see which routes would match before sending a live alert.

After testing, inspect outcomes in this order:

  1. Open Source Trace & Proof on the source detail page.
  2. Confirm the inbound payload was accepted and see which routes matched, skipped, or failed.
  3. Open the proof panel on a route when you need the receipt-level evidence for that alert event.
  4. Switch to Alert History when you need channel-level retry and provider error details.

No routes means no delivery

Tickory can accept a TradingView payload before any routes exist, but nothing will be delivered until the source has at least one route.

Security And Limits

  • Keep the source secret private. Anyone with the webhook URL and secret can post events to that source.
  • Rotate or recreate the source if you suspect the secret was exposed.
  • Tickory enforces per-source and per-IP rate limits on TradingView ingestion.
  • Use separate sources when different teams or automations should not share the same secret or trace history.