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
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & 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 zip
latestvk9774dgr8pz473vmecnrmzv3zs828vap

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

  1. Open Telegram and message @BotFather
  2. Send /newbot and follow the prompts
  3. Copy the bot token — it looks like 123456789:ABCdef...

Step 2 — Get Your Chat ID

  1. Message @userinfobot on Telegram
  2. 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

MethodPathDescription
GET/Health check
GET/healthDetailed health status
POST/webhookMain endpoint — auto-detects signal format
POST/webhook/rawRaw key-value formatter for generic alerts

Usage Instructions

When a user asks to forward trading signals or webhook alerts to Telegram:

  1. Ask for their TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID if not already set
  2. Guide them to set up the .env file using .env.example as a template
  3. Start the server using Docker or Python
  4. Point their webhook source (e.g. TradingView) to http://<server-ip>:8000/webhook
  5. Optionally set WEBHOOK_SECRET and instruct the user to pass it as the X-Webhook-Secret header

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

FieldAliasDescription
actionsignalSignal direction: buy, sell, close, neutral
symboltickerTrading pair, e.g. XAUUSD, EURUSD, BTCUSD
pricecloseEntry or current price
intervaltimeframeChart timeframe, e.g. 1H, 4H, 1D
strategystrategy_nameStrategy name
slstop_lossStop loss level
tptake_profitTake profit level
lotquantityLot size or quantity
messagemsgCustom 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_SECRET in production to prevent unauthorized requests
  • The secret is validated via constant-time comparison to prevent timing attacks
  • Never expose your TELEGRAM_BOT_TOKEN publicly

Files

13 total
Select a file
Select a file to preview.

Comments

Loading comments…