# Formularz Google do Telegrama: za darmo

Wysyłaj każdą odpowiedź z Formularzy Google na czat w Telegramie za darmo: krótki Apps Script i bot. Krok po kroku, z limitami i opcjami bez kodu.

Author: Formgong
Published: 2026-10-05
Language: pl
Canonical: https://formgong.com/pl/blog/google-form-to-telegram/

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.

## 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

- W Telegramie otwórz **@BotFather**, wyślij `/newbot` i przejdź przez kroki. Skopiuj token, który dostaniesz. Traktuj go jak hasło.

- Otwórz nowego bota i naciśnij **Start** albo wyślij mu dowolną wiadomość. Bot nie może napisać do Ciebie pierwszy.

- W przypadku grupy dodaj do niej bota i wyślij tam wiadomość.

- 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](/pl/blog/telegram-bot-for-contact-form/).

## Krok 2: dodaj skrypt do formularza

Nazwy opcji podajemy tak, jak w angielskim interfejsie Google.

- Otwórz formularz w trybie edycji. Z menu ⋮ wybierz **Apps Script**. Powstanie skrypt przypięty do formularza.

- Usuń przykładowy kod, wklej skrypt poniżej i zapisz.

- 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.

```javascript
// 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](/pl/blog/website-form-to-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

- [Apps Script: Installable triggers](https://developers.google.com/apps-script/guides/triggers/installable)
- [Apps Script: Event objects (form submit)](https://developers.google.com/apps-script/guides/triggers/events)
- [Apps Script: Quotas](https://developers.google.com/apps-script/guides/services/quotas)
- [Apps Script: Properties service](https://developers.google.com/apps-script/guides/properties)
- [Telegram Bot API](https://core.telegram.org/bots/api)
- [Zapier: Google Forms and Telegram](https://zapier.com/apps/google-forms/integrations/telegram)
- [Make: Google Forms and Telegram](https://www.make.com/en/integrations/google-forms/telegram)
- [IFTTT: Google Forms and Telegram](https://ifttt.com/connect/google_forms/telegram)
- [Dokumentacja Formgong](https://formgong.com/pl/docs/)

[Pobierz klucz formularza](https://formgong.com/pl/#top)
