Poradnik

Formularz Google do Telegrama: za darmo

Apps Script na 30 linijek za darmo wysyła każdą odpowiedź z Formularzy Google na Telegram. Konfiguracja bota, kod, wyzwalacz i limity, które warto znać.

Krótka odpowiedź. Utwórz bota w Telegramie przez @BotFather, sprawdź swój chat id i dodaj do formularza krótki Apps Script. Instalowalny wyzwalacz „on form submit” uruchamia skrypt przy każdej odpowiedzi, a skrypt wysyła odpowiedzi do Telegram Bot API. To nic nie kosztuje w ramach limitów Google, np. 20 000 wywołań URL Fetch dziennie na koncie prywatnym (stan na 05.10.2026). Gotowe szablony bez kodu mają też Zapier, Make i IFTTT.

Formgong

Formularz Google do Telegrama: za darmo
Formularz Google do Telegrama: za darmo

Trzy sposoby na odpowiedzi z Formularzy Google w Telegramie

  • Apps Script (za darmo, trochę kodu). Skrypt przypięty do formularza wysyła każdą odpowiedź do Twojego bota. Ten artykuł pokazuje go krok po kroku.
  • Automatyzacja bez kodu. Zapier, Make i IFTTT mają gotowy szablon „Google Forms → Telegram”. Konfiguracja jest szybka, ale każda usługa ma własne limity planów.
  • Formularz na Twojej stronie. Jeśli formularz jest na Twojej stronie, a nie w Formularzach Google, backend formularzy może wysyłać zgłoszenia na Telegram bez skryptu. Więcej na końcu.

Żeby było jasne: Formgong nie łączy się z Formularzami Google. Przyjmuje tylko formularze, które wysyłają do niego dane z Twoich własnych stron.

Krok 1: utwórz bota i znajdź chat id

  1. W Telegramie otwórz @BotFather, wyślij /newbot i przejdź przez kroki. Skopiuj token, który dostaniesz. Traktuj go jak hasło.
  2. Otwórz nowego bota i naciśnij Start albo wyślij mu dowolną wiadomość. Bot nie może napisać do Ciebie pierwszy.
  3. W przypadku grupy dodaj do niej bota i wyślij tam wiadomość.
  4. Otwórz w przeglądarce https://api.telegram.org/bot<token>/getUpdates. Znajdź w odpowiedzi "chat":{"id":…}. Ta liczba to Twój chat id. Id grup zaczynają się od minusa.

Boty, chat id i grupy opisuje dokładniej poradnik o bocie Telegram dla formularza kontaktowego.

Krok 2: dodaj skrypt do formularza

Nazwy opcji podajemy tak, jak w angielskim interfejsie Google.

  1. Otwórz formularz w trybie edycji. Z menu ⋮ wybierz Apps Script. Powstanie skrypt przypięty do formularza.
  2. Usuń przykładowy kod, wklej skrypt poniżej i zapisz.
  3. Otwórz Project Settings (ikona koła zębatego). W sekcji Script properties dodaj TELEGRAM_TOKEN i TELEGRAM_CHAT_ID. Dzięki temu token nie trafia do kodu.

Skrypt czyta wszystkie odpowiedzi, zapisuje każdą w osobnej linii jako „Pytanie: odpowiedź” i wysyła jedną wiadomość tekstową. Telegram przyjmuje od 1 do 4096 znaków na wiadomość, więc dłuższy tekst skrypt przycina. Zwykły tekst sprawia też, że odpowiedzi nie zepsują formatowania.

Apps Script
// Formularz Google → menu ⋮ → Apps Script. Wklej, zapisz i raz uruchom createTrigger.
// Project Settings → Script properties: TELEGRAM_TOKEN i TELEGRAM_CHAT_ID.

function createTrigger() {
  ScriptApp.newTrigger("sendToTelegram")
    .forForm(FormApp.getActiveForm())
    .onFormSubmit()
    .create();
}

function sendToTelegram(e) {
  const props = PropertiesService.getScriptProperties();
  const token = props.getProperty("TELEGRAM_TOKEN");
  const chatId = props.getProperty("TELEGRAM_CHAT_ID");
  const lines = e.response.getItemResponses().map((item) => {
    const answer = item.getResponse();
    const value = Array.isArray(answer) ? answer.join(", ") : String(answer);
    return item.getItem().getTitle() + ": " + value;
  });
  const text = ("Nowa odpowiedź z formularza\n\n" + lines.join("\n")).slice(0, 4096);
  const res = UrlFetchApp.fetch("https://api.telegram.org/bot" + token + "/sendMessage", {
    method: "post",
    contentType: "application/json",
    payload: JSON.stringify({ chat_id: chatId, text: text }),
    muteHttpExceptions: true,
  });
  if (res.getResponseCode() !== 200) console.error(res.getContentText());
}

Krok 3: włącz wyzwalacz

Skrypt działa tylko wtedy, gdy wywoła go instalowalny wyzwalacz przesłania formularza. Dodasz go na dwa sposoby:

  • W edytorze wybierz createTrigger i raz kliknij Run. Google poprosi o autoryzację skryptu. Zezwól.
  • Albo otwórz Triggers (ikona zegara), kliknij Add Trigger, wybierz sendToTelegram, źródło zdarzenia From form i typ zdarzenia On form submit.

Użyj jednego sposobu, nie obu, bo każda odpowiedź przyjdzie dwa razy. Potem wyślij testową odpowiedź przez publiczny link formularza. Nie uruchamiaj sendToTelegram z edytora: nie ma wtedy odpowiedzi do odczytania i kończy się błędem.

Limity i częste problemy

  • Limity. Prywatne konta Google mają 20 000 wywołań URL Fetch i 90 minut działania wyzwalaczy dziennie, konta Workspace 100 000 wywołań i 6 godzin. Jedna odpowiedź to jedno wywołanie.
  • Odpowiedzi utworzone przez skrypty się nie liczą. Google pisze, że FormResponse.submit() w innym skrypcie nie uruchamia wyzwalacza.
  • Przesyłanie plików. Odpowiedzi na pytanie z plikiem to identyfikatory plików na Dysku, nie same pliki.
  • Nic nie przychodzi. Otwórz Executions w Apps Script. Błąd chat not found oznacza zły chat id albo brak kliknięcia Start w bocie.
  • Zmiana właściciela. Wyzwalacz działa jako osoba, która go utworzyła. Jeśli straci dostęp do formularza, utwórz go ponownie.

Gdy formularz jest na Twojej stronie

Formularze Google sprawdzają się w ankietach i zapisach. Przy formularzu kontaktowym na własnej stronie możesz pominąć i Google, i skrypt. Formularz HTML wysyłający dane do backendu formularzy może przekazywać każdą wiadomość prosto na Telegram i e-mail.

Formgong robi to w każdym planie, także darmowym: 300 zgłoszeń miesięcznie i przechowywanie danych w UE. Telegram podłączasz w panelu, więc nie trzeba kopiować tokenu ani chat id. Kroki opisuje artykuł jak wysyłać zgłoszenia z formularza na Telegram.

Pytania i odpowiedzi

Czy mogę wysyłać odpowiedzi z Formularzy Google na Telegram bez kodu?

Tak. Zapier, Make i IFTTT mają gotowe szablony Google Forms → Telegram. Zanim na nich polegasz, sprawdź limity planu każdej usługi.

Czy metoda z Apps Script jest darmowa?

Tak, w ramach dziennych limitów Google. Konto prywatne może wykonać 20 000 wywołań URL Fetch dziennie (stan na 05.10.2026), a każda odpowiedź zużywa jedno.

Dlaczego mój skrypt nic nie wysyła?

Zwykle brakuje wyzwalacza lub nie jest autoryzowany, chat id jest zły albo nie kliknięto Start w bocie. Strona Executions w Apps Script pokaże błąd.

Czy Formgong działa z Formularzami Google?

Nie. Formgong przyjmuje formularze z Twojej własnej strony, które wysyłają do niego dane. Nie potrafi czytać odpowiedzi z Formularzy Google.

Źródła i dokumentacja

Oficjalne materiały pomocnicze: Apps Script: Installable triggers, Apps Script: Event objects (form submit), Apps Script: Quotas, Apps Script: Properties service, Telegram Bot API, Zapier: Google Forms and Telegram, Make: Google Forms and Telegram, IFTTT: Google Forms and Telegram. Dokumentacja Formgong, Przechowywanie danych.

Artykuł w formacie Markdown

Oceń ten poradnik

Twoja ocena

Czytamy każdą ocenę. Komentarz pojawi się tutaj dopiero po naszym zatwierdzeniu.

← Wróć do bloga