Signallink
Forward trading alerts and webhook events from TradingView to Telegram instantly. No subscriptions, no middlemen.
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 0 · 178 · 0 current installs · 0 all-time installs
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description match the required binaries (python3, docker), environment variables (TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID), and included FastAPI + Telegram client code. Nothing requested is unrelated to forwarding webhooks to Telegram.
Instruction Scope
SKILL.md instructs the agent to collect the Telegram bot token/chat ID, configure .env, and run the service (Docker or Python). Runtime instructions and code only reference webhook payload handling, message formatting, and sending to Telegram; they do not instruct the agent to read unrelated files or exfiltrate data to other endpoints.
Install Mechanism
No external installers or downloads are specified. The skill includes application source files and uses standard Python dependencies listed in requirements.txt—no extract-from-arbitrary-URL installs or unusual package hosts.
Credentials
Requested env vars are minimal and expected for the stated purpose (bot token, chat id; optional webhook secret and port). Note: TELEGRAM_BOT_TOKEN is sensitive—the app logs incoming payloads (logger.info) which can contain signal data; ensure logs and deployed environment are protected and do not leak tokens or payloads.
Persistence & Privilege
Skill does not request permanent platform privileges (always is false). It does not attempt to modify other skills or system-wide agent settings.
Assessment
This implementation appears to do exactly what it says: receive JSON webhooks, optionally validate a shared secret, format the data, and post messages via the Telegram Bot API. Before installing: (1) Only provide TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID to trusted agents/services and rotate the token if it’s ever exposed. (2) If you deploy publicly, set WEBHOOK_SECRET and ensure your endpoint is not open to the internet or is protected by firewall/ingress rules; otherwise anyone can POST to your webhook. (3) Logs print incoming payloads — treat logs as sensitive and secure log storage. (4) Run in an isolated environment (Docker recommended) and limit the bot’s permissions (use a bot with only the needed scope). (5) If you want extra assurance, review the referenced GitHub repo history and run the code locally to audit network calls during testing.Like a lobster shell, security has layers — review code before you run it.
Current versionv0.1.0
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
📡 Clawdis
Binspython3, docker
EnvTELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID
Primary envTELEGRAM_BOT_TOKEN
SKILL.md
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
Files
13 totalSelect a file
Select a file to preview.
Comments
Loading comments…
