# allerts telegram

**URL:** <https://community.netbeez.net/t/allerts-telegram/307>\
**Category:** Site Feedback\
**Created:** [October 10, 2025, 12:08pm UTC](https://community.netbeez.net/t/allerts-telegram/307 "2025-10-10T12:08:09Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aknar\_Tolegen](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.netbeez.net/aknar_tolegen/32/194_2.png) [@Aknar\_Tolegen](https://community.netbeez.net/u/Aknar_Tolegen)\
**Post date:** [October 10, 2025, 12:08pm UTC](https://community.netbeez.net/t/allerts-telegram/307/1 "2025-10-10T12:08:09Z")

</div>

Here’s the English version for NetBeez support:

* * *

**Subject:** Issue with Telegram Webhook Setup and Alert Delivery

**Message:**

Hello NetBeez Support Team,

I need assistance with configuring Telegram webhook integration and resolving alert delivery issues.

**Problem Description:**

1. **Telegram webhook is configured** and test messages are delivered successfully

2. **NetBeez agent is connected** to [redacted] server, registration completed successfully

3. **But real alerts are not delivered** to Telegram when actual issues occur

**What has been done:**

✅ Web server set up on port 5000 with `/webhook` endpoint  
✅ Telegram bot created and operational  
✅ Test POST requests to `/webhook` return “OK”  
✅ Health-check endpoint `/health` is working  
✅ NetBeez agent version 15.1.2 connected to cloud  
✅ Logs show: “node registration granted”

**Issues in logs:**

- WebSocket connection fails: `WebSocket CONNECTION ERROR: HS: ws upgrade response not 101`

- But TLS connection on port 20018 works: `ENCRYPTED connection established`

**Questions:**

1. Why are real alerts not delivered to Telegram while test messages work?

2. Is additional webhook configuration required in NetBeez dashboard?

3. Could the WebSocket error be related to the issue?

4. What alert settings should I verify?

**Technical Information:**

- Agent version: 15.1.2

- Server: [redacted]

- Webhook URL: http://[IP]:5000/webhook

- OS: Ubuntu 22.04

Please provide instructions for proper Telegram webhook configuration and alert setup verification.

Best regards,  
[Your Name]

* * *

**Additional information to include when sending:**

1. **Agent logs** (from `sudo journalctl -u netbeez-agent -n 50`)

2. **Your server IP address**

3. **Screenshot** of your webhook configuration in NetBeez dashboard (if available)

---

<div class="post-metadata">

**Author:** ![panickos](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.netbeez.net/panickos/32/8_2.png) [@panickos](https://community.netbeez.net/u/panickos)\
**Post date:** [October 10, 2025, 1:37pm UTC](https://community.netbeez.net/t/allerts-telegram/307/2 "2025-10-10T13:37:58Z")

</div>

Hi there — great question. The short version is: **NetBeez webhooks are sent by the NetBeez server, not by agents** , so agent WebSocket messages or port-20018 details won’t affect webhook delivery. Let’s get your Telegram bot receiving _real_ alerts.

## 1) Enable and test the webhook in NetBeez (server side)

1. In the NetBeez dashboard go to **Settings → Integrations**.
2. Enable **Webhooks** (or expand the integration you’re using) and paste your endpoint:  
`http://<public-ip-or-dns>:5000/webhook`
3. Click **Test** and confirm you see the green check and that your endpoint returns 2xx. ([help.netbeez.net](https://help.netbeez.net/en/articles/10406745-integrations?utm_source=chatgpt.com))

> Tip: After enabling an integration, set which notifications it receives under **Settings → Notification Settings** (e.g., alerts vs incidents, minimum severity). If this mapping isn’t set, you’ll pass the “Test” but won’t get live alerts. ([help.netbeez.net](https://help.netbeez.net/en/articles/10406745-integrations?utm_source=chatgpt.com))

## 2) Verify your alerting actually produces events

Make sure your tests/targets **have an Alert Profile** (baseline/watermark/up-down) and that the **severity threshold** you’ve chosen is included in the notification mapping above. Otherwise nothing gets emitted to the webhook. ([help.netbeez.net](https://help.netbeez.net/en/articles/10406734-alerts-configuration?utm_source=chatgpt.com))

## 3) Confirm your endpoint is reachable by NetBeez Cloud

- The URL must be **publicly reachable** from the Internet. If you’re on raw `http://IP:5000`, ensure inbound rules allow traffic, or front it with HTTPS via a reverse proxy.
- Your handler must **reply 2xx quickly** (within a few seconds) and not hang; non-2xx responses are treated as failures.
- If you need to restrict sources, allowlist the path behind a token (e.g., `POST /webhook?token=...`) or a header secret, rather than IP-based filtering.

## 4) Payload your handler should expect

Example (matches what you posted):

```auto
{
  "data": {
    "id": "4868703",
    "type": "alert",
    "attributes": {
      "severity": 6,
      "severity_name": "informational",
      "alert_dedup_id": 4868695,
      "event_type": "ALERT_CLEARED",
      "agent": "BCN Wired",
      "target": "Genesys",
      "destination": "WEST (netdiag.usw2.pure.cloud)",
      "message": "Warning Cleared: The 5 minute errors metric (0%) is less than the watermark errors value of 3%.",
      "test_type": "PingTest",
      "alert_ts": 1760102886934
    }
  }
}

```

Notes:

- You’ll also see **raise events** (e.g., `event_type: "ALERT_RAISED"`). Make sure your code handles **both raised and cleared**.
- Newer versions include a **dedup key** so you can suppress repeats (`alert_dedup_id`). ([help.netbeez.net](https://help.netbeez.net/en/articles/10406765-release-notes-version-14-3?utm_source=chatgpt.com))

## 5) Minimal Express handler → Telegram

Here’s a tight Node/Express example that formats the alert and sends it to Telegram via `sendMessage`:

```auto
import express from "express";
import fetch from "node-fetch";

const app = express();
app.use(express.json());

const TELEGRAM_TOKEN = process.env.TELEGRAM_TOKEN; // e.g. 123456:ABC...
const CHAT_ID = process.env.TELEGRAM_CHAT_ID; // e.g. -1001234567890

app.post("/webhook", async (req, res) => {
  try {
    const a = req.body?.data?.attributes || {};
    const when = new Date(Number(a.alert_ts)).toISOString();

    const text =
`🔔 NetBeez ${a.event_type?.replace("_", " ")}
• Severity: ${a.severity_name ?? a.severity}
• Test: ${a.test_type}
• Agent: ${a.agent}
• Target: ${a.target}${a.destination ? ` → ${a.destination}` : ""}
• Message: ${a.message}
• Time: ${when}
• Dedup: ${a.alert_dedup_id ?? "-"}`
      .replace(/\n\s+/g, "\n");

    const tgUrl = `https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendMessage`;
    const body = { chat_id: CHAT_ID, text, parse_mode: "HTML", disable_web_page_preview: true };
    const r = await fetch(tgUrl, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(body) });
    if (!r.ok) {
      const err = await r.text();
      console.error("Telegram error:", err);
      return res.status(202).send("Received but Telegram failed");
    }
    res.status(200).send("OK");
  } catch (e) {
    console.error(e);
    res.status(500).send("Handler error");
  }
});

app.get("/health", (_, res) => res.send("OK"));
app.listen(5000, () => console.log("Listening on :5000"));

```

**Local tests**

```auto
curl -sS -X POST http://localhost:5000/webhook \
  -H 'Content-Type: application/json' \
  --data @example-alert.json

```

## 6) About the WebSocket error you’re seeing

> `WebSocket CONNECTION ERROR: HS: ws upgrade response not 101`

That’s from the **agent → server control channel** (e.g., registration/tunnels). It’s **unrelated** to webhook delivery, which is a simple **HTTP POST from the NetBeez server to your URL**. Focus troubleshooting on the Integration + Notification Settings + your webhook endpoint path/availability. ([help.netbeez.net](https://help.netbeez.net/en/articles/10406769-release-notes-version-13-0?utm_source=chatgpt.com))

* * *

### Quick troubleshooting checklist

- **Integrations → Webhooks** is **On** , your URL is saved, and the **Test** succeeds. ([help.netbeez.net](https://help.netbeez.net/en/articles/10406745-integrations?utm_source=chatgpt.com))
- **Notification Settings** include **Alerts** (and/or **Incidents** ) for your webhook, with the **severity** you expect. ([help.netbeez.net](https://help.netbeez.net/en/articles/10406745-integrations?utm_source=chatgpt.com))
- The tests/targets actually have an **Alert Profile** that can fire (baseline/watermark/up-down). ([help.netbeez.net](https://help.netbeez.net/en/articles/10406734-alerts-configuration?utm_source=chatgpt.com))
- Your endpoint returns **HTTP 2xx quickly** ; logs show it receives **both** `ALERT_RAISED` and `ALERT_CLEARED`.
- Endpoint is **publicly reachable** (consider placing behind HTTPS + DNS).
- Telegram token/chat\_id are correct (send a manual `sendMessage` to verify).

If you’d like, share (a) a redacted screenshot of **Notification Settings** , and (b) a brief log line from your `/webhook` on an _actual_ alert window, and I can spot-check the mapping.
