Telegram Bots sind mächtige Werkzeuge für Business-Automatisierung: Kundenbenachrichtigungen, Team-Alerts, Bestellstatus-Updates oder sogar komplette Chatbots. Das Beste: Sie brauchen keine Programmierkenntnisse. In diesem Guide zeigen wir, wie Sie einen funktionierenden Telegram Bot in 30 Minuten erstellen.

Warum Telegram Bots?

Vorteile gegenüber anderen Kanälen:

KanalZustellrateKostenInteraktiv
E-Mail20-30% geöffnetKostenlosBegrenzt
SMS95%+0,05-0,10€/SMSNein
WhatsApp Business90%+Komplex, teuerJa
Telegram Bot90%+KostenlosJa

Use Cases:

  • Server-Monitoring Alerts
  • Bestellbenachrichtigungen
  • Team-Kommunikation
  • Kunden-Support Bot
  • Tägliche Reports
  • IoT-Benachrichtigungen

Schritt 1: Bot bei Telegram erstellen

BotFather kontaktieren

  1. Öffnen Sie Telegram
  2. Suchen Sie nach @BotFather
  3. Starten Sie den Chat mit /start

Bot erstellen

Sie: /newbot
BotFather: Alright, a new bot. How are we going to call it?

Sie: Mein Business Bot
BotFather: Good. Now let's choose a username for your bot...

Sie: mein_business_bot
BotFather: Done! Congratulations on your new bot...
          Use this token to access the HTTP API:
          1234567890:ABCdefGHIjklMNOpqrsTUVwxyz

Wichtig: Den API Token sicher speichern – er ist wie ein Passwort! Mehr zum Thema APIs erfahren Sie in unserem Artikel API-Integration einfach erklärt.

Bot konfigurieren

Weitere BotFather-Befehle:

BefehlFunktion
/setdescriptionBot-Beschreibung
/setabouttextInfo-Text
/setuserpicProfilbild
/setcommandsBefehle definieren

Schritt 2: Chat-ID ermitteln

Um Nachrichten zu senden, brauchen Sie die Chat-ID:

Für Einzelpersonen

  1. Schreiben Sie Ihrem Bot eine Nachricht
  2. Rufen Sie auf: https://api.telegram.org/bot{TOKEN}/getUpdates
  3. Suchen Sie "chat":{"id":123456789}

Für Gruppen

  1. Fügen Sie den Bot zur Gruppe hinzu
  2. Schreiben Sie etwas in die Gruppe
  3. Rufen Sie getUpdates auf
  4. Gruppen-IDs sind negativ: -987654321

Automatisch mit n8n

// Node: Telegram Trigger
// Wartet auf Nachrichten und extrahiert Chat-ID

const chatId = $json.message.chat.id;
const username = $json.message.from.username;
const text = $json.message.text;

// Chat-ID speichern für spätere Nutzung

Schritt 3: Ersten Workflow erstellen

Use Case: Server-Alert Bot

Benachrichtigung bei Server-Problemen:

Uptime Monitor (Server down)
        ↓
    Telegram: Alert senden
    "⚠️ Server XYZ ist nicht erreichbar!"
        ↓
    Warten auf Antwort
        ↓
    Bei "OK": Alarm bestätigt markieren

n8n Workflow

Node 1: HTTP Request (Webhook von Uptime-Monitor)

// Webhook empfängt Alert
{
  "server": "webserver-01",
  "status": "down",
  "timestamp": "2024-01-15T10:30:00Z"
}

Node 2: Telegram - Send Message

// Telegram Node konfigurieren
{
  "chatId": "-987654321",  // Gruppen-ID
  "text": "⚠️ *Server Alert*\n\nServer: {{ $json.server }}\nStatus: {{ $json.status }}\nZeit: {{ $json.timestamp }}\n\nAntworten Sie mit /ack zum Bestätigen.",
  "parseMode": "Markdown"
}

Schritt 4: Interaktiven Bot bauen

Befehle definieren

Bei BotFather:

/setcommands

status - Aktueller System-Status
help - Hilfe anzeigen
subscribe - Benachrichtigungen aktivieren
unsubscribe - Benachrichtigungen deaktivieren

Auf Befehle reagieren

Telegram Trigger (neue Nachricht)
        ↓
    Switch (nach Befehl)
        ↓
    /status → System-Status senden
    /help → Hilfetext senden
    /subscribe → User registrieren
    /unsubscribe → User entfernen

n8n: Command Handler

// Node: Switch
// Routing basierend auf Befehl

const text = $json.message.text;

if (text === '/status') return { route: 'status' };
if (text === '/help') return { route: 'help' };
if (text.startsWith('/subscribe')) return { route: 'subscribe' };
if (text.startsWith('/unsubscribe')) return { route: 'unsubscribe' };

return { route: 'unknown' };

Status-Befehl implementieren

// Node: HTTP Request → Ihre API
// Node: Format Response

const status = {
  webserver: $json.webserver.status,
  database: $json.database.status,
  queue: $json.queue.jobs_pending
};

const message = `
📊 *System Status*

🌐 Webserver: ${status.webserver === 'ok' ? '✅' : '❌'}
🗄️ Datenbank: ${status.database === 'ok' ? '✅' : '❌'}
📬 Queue: ${status.queue} Jobs wartend

_Aktualisiert: ${new Date().toLocaleString('de-DE')}_
`;

return { message };

Schritt 5: Inline Keyboards

Interaktive Buttons für bessere UX:

Button-Nachricht senden

// Node: Telegram - Send Message
{
  "chatId": "{{ $json.chatId }}",
  "text": "Welche Aktion möchten Sie ausführen?",
  "replyMarkup": {
    "inline_keyboard": [
      [
        { "text": "✅ Bestätigen", "callback_data": "confirm" },
        { "text": "❌ Abbrechen", "callback_data": "cancel" }
      ],
      [
        { "text": "📊 Status", "callback_data": "status" }
      ]
    ]
  }
}

Auf Button-Klicks reagieren

// Node: Telegram Trigger
// callback_query enthält Button-Daten

if ($json.callback_query) {
  const action = $json.callback_query.data;
  const chatId = $json.callback_query.message.chat.id;
  const messageId = $json.callback_query.message.message_id;

  // Button-Klick bestätigen (entfernt Ladeanimation)
  await answerCallbackQuery($json.callback_query.id);

  // Original-Nachricht updaten
  await editMessage(chatId, messageId, "Aktion ausgeführt: " + action);
}

Praxisbeispiele

1. E-Commerce Bestellbot

Shopify (Neue Bestellung)
        ↓
    Telegram an Kunden:
    "Danke für Ihre Bestellung #1234!

     📦 Produkte:
     - Produkt A (2x)
     - Produkt B (1x)

     💰 Gesamt: 149,00€

     Wir informieren Sie über den Versand."

2. Team-Standup Bot

Schedule (Mo-Fr 9:00)
        ↓
    Telegram an Team-Gruppe:
    "☀️ Guten Morgen! Zeit für den Daily Standup.

     Bitte antwortet mit:
     1. Was habe ich gestern gemacht?
     2. Was mache ich heute?
     3. Gibt es Blocker?"
        ↓
    Antworten sammeln (30 Min)
        ↓
    Zusammenfassung in Notion speichern

3. Lead-Notification Bot

Website Formular (neuer Lead)
        ↓
    Telegram an Sales-Team:
    "🔔 Neuer Lead!

     👤 Max Mustermann
     📧 max@example.com
     🏢 Firma GmbH
     💬 'Interesse an Enterprise Plan'

     [Zum CRM] [Anrufen]"

4. Monitoring & Alerts

Verschiedene Quellen:
- Server Down → ⚠️ Alert
- Hohe CPU → 🔥 Warning
- Backup fertig → ✅ Info
- Fehler in Logs → 🐛 Bug Report
        ↓
    Telegram mit Severity-Emoji

Make.com: Telegram Bot Szenario

Module

  1. Telegram Bot - Watch Updates (Trigger)
  2. Router (nach Message-Typ)
  3. Text Parser (Befehle extrahieren)
  4. HTTP (Ihre API aufrufen)
  5. Telegram Bot - Send Message

Beispiel-Szenario: FAQ Bot

Telegram Watch Updates
        ↓
    Router:
    ├─ /faq → FAQ-Menü senden (Inline Keyboard)
    ├─ callback "faq_*" → FAQ-Antwort senden
    └─ Freitext → KI-Suche in FAQ-Datenbank

Fortgeschritten: KI-Chatbot

Mit OpenAI/Claude verbinden

// Node: OpenAI
// Konversation mit Kontext

const systemPrompt = `
Du bist ein freundlicher Support-Bot für Firma XYZ.
Du beantwortest Fragen zu unseren Produkten und Services.
Bei komplexen Anfragen verweise auf den menschlichen Support.
`;

const messages = [
  { role: 'system', content: systemPrompt },
  { role: 'user', content: $json.message.text }
];

// Konversationshistorie einbeziehen
const history = await getConversationHistory($json.message.chat.id);
messages.splice(1, 0, ...history);

Konversation speichern

// Node: Redis/Database
// Kontext für 24h speichern

await saveMessage({
  chatId: $json.message.chat.id,
  role: 'user',
  content: $json.message.text,
  timestamp: Date.now()
});

await saveMessage({
  chatId: $json.message.chat.id,
  role: 'assistant',
  content: aiResponse,
  timestamp: Date.now()
});

Best Practices

1. Rate Limits beachten

AktionLimit
Nachrichten an User30/Sekunde
Nachrichten in Gruppe20/Minute
Bulk-Nachrichten30 User/Sekunde

// Delay einbauen bei Bulk
for (const user of users) {
  await sendMessage(user.chatId, message);
  await sleep(100); // 100ms Pause
}

2. Fehlerbehandlung

// Telegram API Fehler abfangen
try {
  await sendMessage(chatId, text);
} catch (error) {
  if (error.code === 403) {
    // User hat Bot blockiert
    await removeSubscriber(chatId);
  } else if (error.code === 429) {
    // Rate Limit - warten und retry
    await sleep(error.parameters.retry_after * 1000);
    await sendMessage(chatId, text);
  }
}

3. Nachrichten formatieren

// Markdown V2 Syntax
const text = `
*Fett*
_Kursiv_
~Durchgestrichen~
\`Code\`
\`\`\`
Code Block
\`\`\`
[Link](https://example.com)
`;

// Sonderzeichen escapen
const escaped = text.replace(/[_*[\]()~`>#+=|{}.!-]/g, '\\$&');

4. Medien senden

// Bild senden
{
  "method": "sendPhoto",
  "chatId": "123456",
  "photo": "https://example.com/image.jpg",
  "caption": "Beschreibung"
}

// Dokument senden
{
  "method": "sendDocument",
  "chatId": "123456",
  "document": "{{ $binary.data }}",
  "filename": "report.pdf"
}

Sicherheit

Token schützen

  • Nie im Code committen
  • Umgebungsvariablen nutzen
  • Bei Leak: Token bei BotFather revoken

Zugriff beschränken

// Nur bestimmte User erlauben
const allowedUsers = [123456, 789012];

if (!allowedUsers.includes($json.message.from.id)) {
  await sendMessage(chatId, "Zugriff verweigert.");
  return;
}

Webhook absichern

Mehr zum Thema Webhooks finden Sie in unserem Guide Webhook erstellen: Schritt-für-Schritt-Anleitung.

// Secret Token prüfen
const secretToken = $headers['x-telegram-bot-api-secret-token'];
if (secretToken !== process.env.TELEGRAM_SECRET) {
  return { status: 403 };
}

Kosten

KomponenteKosten
Telegram Bot APIKostenlos
n8n CloudAb 20€/Monat
Make.comAb 9€/Monat
Server (Self-Hosted)Ab 5€/Monat

Stand: August 2026. Anbieterpreise ändern sich — prüfen Sie die aktuellen Konditionen beim Anbieter.

Gesamtkosten: 5-30€/Monat für einen voll funktionsfähigen Bot

Fazit

Telegram Bots sind eine kostengünstige und effektive Lösung für Business-Automatisierung:

  • Kostenlose API
  • Hohe Zustellraten
  • Interaktive Features
  • Einfache Integration mit n8n/Make.com

Weiterführende Artikel

Nächste Schritte

  1. Bot erstellen bei BotFather
  2. Ersten Workflow aufsetzen (z.B. einfacher Alert)
  3. Interaktivität hinzufügen (Buttons, Befehle)
  4. Skalieren (KI-Integration, mehr Use Cases)

Wir unterstützen Sie bei der Telegram-Automatisierung – von der Einrichtung bis zum produktiven Einsatz. Jetzt Kontakt aufnehmen.