🧪 Skills
Signallink
Forward trading alerts and webhook events from TradingView to Telegram instantly. No subscriptions, no middlemen.
v0.1.0
Description
name: signallink version: 1.0.0 description: Forward trading alerts and webhook events from TradingView to Telegram instantly. No subscriptions, no middlemen. author: Shinzzyak tags: ["tradingview", "telegram", "webhook", "trading", "signal", "fastapi", "alert"] metadata: openclaw: requires: env: - TELEGRAM_BOT_TOKEN - TELEGRAM_CHAT_ID bins: - python3 - docker optional_env: - WEBHOOK_SECRET - PORT primaryEnv: TELEGRAM_BOT_TOKEN emoji: "📡" homepage: https://github.com/Shinzzyak/SignalLink
SignalLink — Webhook-to-Telegram Signal Router
A lightweight, open-source bridge that receives webhook alerts (e.g. from TradingView) and forwards them as clean, formatted messages to a Telegram bot. No paid services, no third-party subscriptions — just deploy and route.
When To Use This Skill
Use SignalLink when the user wants to:
- Forward TradingView price alerts or strategy signals to Telegram
- Route any webhook event (uptime monitors, CI/CD pipelines, custom alerts) to Telegram
- Set up a self-hosted trading signal notification system
- Replace paid signal routing services with a free, open-source alternative
Setup
Step 1 — Get a Telegram Bot Token
- Open Telegram and message @BotFather
- Send
/newbotand follow the prompts - Copy the bot token — it looks like
123456789:ABCdef...
Step 2 — Get Your Chat ID
- Message @userinfobot on Telegram
- It will reply with your Chat ID
Step 3 — Configure Environment
cp .env.example .env
Edit .env:
TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_CHAT_ID=your_chat_id_here
WEBHOOK_SECRET=your_secret_here # Optional but recommended
PORT=8000
Step 4 — Run
With Docker (recommended):
docker compose up -d
With Python:
pip install -r requirements.txt
python -m App.main
Server starts at http://localhost:8000
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | / |
Health check |
| GET | /health |
Detailed health status |
| POST | /webhook |
Main endpoint — auto-detects signal format |
| POST | /webhook/raw |
Raw key-value formatter for generic alerts |
Usage Instructions
When a user asks to forward trading signals or webhook alerts to Telegram:
- Ask for their
TELEGRAM_BOT_TOKENandTELEGRAM_CHAT_IDif not already set - Guide them to set up the
.envfile using.env.exampleas a template - Start the server using Docker or Python
- Point their webhook source (e.g. TradingView) to
http://<server-ip>:8000/webhook - Optionally set
WEBHOOK_SECRETand instruct the user to pass it as theX-Webhook-Secretheader
TradingView Integration
In TradingView, set the alert webhook URL to:
http://your-server-ip:8000/webhook
Set the alert message body to JSON:
{
"action": "buy",
"symbol": "XAUUSD",
"price": "{{close}}",
"interval": "{{interval}}",
"strategy": "My Strategy",
"sl": "2330.00",
"tp": "2370.00",
"lot": "0.1",
"message": "Signal confirmed."
}
Supported Payload Fields
| Field | Alias | Description |
|---|---|---|
action |
signal |
Signal direction: buy, sell, close, neutral |
symbol |
ticker |
Trading pair, e.g. XAUUSD, EURUSD, BTCUSD |
price |
close |
Entry or current price |
interval |
timeframe |
Chart timeframe, e.g. 1H, 4H, 1D |
strategy |
strategy_name |
Strategy name |
sl |
stop_loss |
Stop loss level |
tp |
take_profit |
Take profit level |
lot |
quantity |
Lot size or quantity |
message |
msg |
Custom note or description |
Testing
Send a test webhook with curl:
curl -X POST http://localhost:8000/webhook \
-H "Content-Type: application/json" \
-H "X-Webhook-Secret: your_secret_here" \
-d '{
"action": "buy",
"symbol": "XAUUSD",
"price": "2345.50",
"interval": "1H",
"sl": "2330.00",
"tp": "2370.00"
}'
Example Telegram Output
🟢 BUY Signal
🥇 Pair: XAUUSD
💰 Price: 2345.50
⏱️ Timeframe: 1H
🧠 Strategy: EMA Crossover
🛑 Stop Loss: 2330.00
🎯 Take Profit: 2370.00
📦 Lot / Qty: 0.1
📝 Signal confirmed.
─────────────────────
⚡ Powered by SignalLink
Project Structure
SignalLink/
├── App/
│ ├── main.py # FastAPI entry point
│ ├── webhook.py # Request handler & auth
│ ├── formatter.py # Payload → Telegram message
│ ├── telegram.py # Telegram Bot API client
│ └── config.py # Environment config
├── Examples/
│ ├── tradingview_payload.json
│ └── custom_payload.json
├── .env.example
├── requirements.txt
├── Dockerfile
└── docker-compose.yml
Security Notes
- Always set
WEBHOOK_SECRETin production to prevent unauthorized requests - The secret is validated via constant-time comparison to prevent timing attacks
- Never expose your
TELEGRAM_BOT_TOKENpublicly
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!