Descrizione
Avvia il workflow quando qualcuno scrive al tuo bot Telegram (Bot API ufficiale). Ogni update in arrivo = una run del workflow con payload GIÀ normalizzato: chatId e userId del mittente, username e nome, testo o caption, riferimenti media (file_id di foto/documento/audio/video/sticker da scaricare via getFile), posizione, risposte a messaggi (reply), e i click sui bottoni inline (callback_query) già estratti come interactive {id, title}. Il bot si crea in 2 minuti con @BotFather (/newbot → token) — nessuna verifica aziendale, nessun costo, nessun template pre-approvato: il canale più rapido per mettere in piedi un bot conversazionale o una demo dal vivo. Collegamento in 2 passi: (1) scegli un Secret token qui sotto; (2) registra il webhook con https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://<dominio-workspace>/webhooks/telegram/<workflow-id>&secret_token=<il-tuo-secret> — l'id del workflow compare nel path dell'editor dopo il primo salvataggio. Sicurezza fail-closed: ogni POST è accettato SOLO se l'header X-Telegram-Bot-Api-Secret-Token combacia (confronto timing-safe) col Secret token configurato — secret mancante o errato = 401, mai esecuzione. Dedup automatico per update_id (Telegram ri-consegna gli update non ACK-ati: lo stesso update non fa MAI ripartire il workflow due volte, TTL 24h). Risposta 200 immediata + run asincrona (Telegram ritenta i non-2xx). Messaggi editati ignorati di default — attivabili con lo switch dedicato. Differenza con i sibling: trigger_webhook = endpoint HTTP generico (dedup update_id, secret header e normalizzazione li dovresti costruire a mano); integration_telegram_send = solo INVIO. Il pattern completo per un bot è trigger_telegram → (logica/AI) → integration_telegram_send con chatId = quello ricevuto. Output per ogni run: { updateId, kind: "message" | "callback" | "edited", messageId, chatId, chatType, userId, username, firstName, text, interactive {id, title} | null, media {kind, fileId, mimeType, fileName, caption} | null, location {latitude, longitude} | null, replyToMessageId, timestamp (ISO 8601), raw }. Use case: (1) demo bot ordinazioni pizzeria dal vivo — bot creato al momento con @BotFather, stesso workflow AI del canale WhatsApp; (2) notifiche bidirezionali di squadra — il bot riceve comandi (/stato, /report) e risponde con dati dai nodi DB; (3) raccolta documenti/foto dai clienti via chat; (4) bottoni inline per conferme rapide (callback_query → interactive.id) senza digitare.
