# Google Form'dan Telegram'a: ücretsiz yöntem

Her Google Form yanıtını kısa bir Apps Script ve bir botla ücretsiz olarak Telegram sohbetine gönderin. Adım adım; limitler ve kodsuz seçeneklerle.

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

@BotFather ile bir Telegram botu oluşturun, chat id'nizi bulun ve forma kısa bir Apps Script ekleyin. Yüklenebilir bir "on form submit" tetikleyicisi her yanıtta betiği çalıştırır, betik de yanıtları Telegram Bot API'ye gönderir. Google kotaları içinde ücretsizdir; örneğin kişisel hesapta günde 20.000 URL Fetch çağrısı (05.10.2026 itibarıyla). Zapier, Make ve IFTTT'de de kodsuz şablonlar var.

## Google Form yanıtlarını Telegram'da almanın üç yolu

- **Apps Script (ücretsiz, biraz kod).** Forma bağlı bir betik her yanıtı botunuza gönderir. Bu yazı adım adım anlatıyor.

- **Kodsuz otomasyon.** Zapier, Make ve IFTTT'de hazır bir "Google Forms → Telegram" şablonu var. Kurulumu hızlıdır, ama her servisin kendi plan limitleri vardır.

- **Kendi sitenizdeki form.** Form Google Forms'ta değil de sitenizdeyse, bir form backend'i betik olmadan Telegram'a gönderebilir. Ayrıntısı en sonda.

Açık olalım: Formgong, Google Forms'a bağlanmaz. Yalnızca kendi sayfalarınızdan ona veri gönderen formları alır.

## 1. adım: botu oluşturun ve chat id'yi bulun

- Telegram'da **@BotFather**'ı açın, `/newbot` gönderin ve adımları izleyin. Verdiği token'ı kopyalayın ve bir şifre gibi saklayın.

- Yeni botunuzu açıp **Start**'a basın ya da ona herhangi bir mesaj gönderin. Bot size ilk mesajı atamaz.

- Bir grup için botu gruba ekleyin ve orada bir mesaj gönderin.

- Tarayıcıda `https://api.telegram.org/bot<token>/getUpdates` adresini açın. Yanıtta `"chat":{"id":…}` kısmını bulun. Bu sayı chat id'nizdir. Grup id'leri eksi işaretiyle başlar.

Botlar, chat id'ler ve gruplar [iletişim formu için Telegram botu rehberinde](/tr/blog/telegram-bot-for-contact-form/) daha ayrıntılı anlatılıyor.

## 2. adım: betiği forma ekleyin

Menü adları Google'ın İngilizce arayüzündeki gibi yazıldı.

- Formu düzenleme modunda açın. ⋮ menüsünden **Apps Script**'i seçin. Böylece forma bağlı bir betik oluşur.

- Örnek kodu silin, aşağıdaki betiği yapıştırın ve kaydedin.

- **Project Settings**'i (dişli simgesi) açın. **Script properties** altında `TELEGRAM_TOKEN` ve `TELEGRAM_CHAT_ID` ekleyin. Böylece token kodun dışında kalır.

Betik tüm yanıtları okur, her birini "Soru: yanıt" biçiminde ayrı bir satıra koyar ve tek bir düz metin mesajı gönderir. Telegram mesaj başına 1 ile 4.096 karakter kabul eder, bu yüzden betik daha uzun metni keser. Düz metin, yanıtların mesaj biçimini bozamayacağı anlamına da gelir.

```javascript
// Google Form → ⋮ menüsü → Apps Script. Yapıştırın, kaydedin, createTrigger'ı bir kez çalıştırın.
// Project Settings → Script properties: TELEGRAM_TOKEN ve 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 = ("Yeni form yanıtı\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());
}
```

## 3. adım: tetikleyiciyi açın

Betik yalnızca **yüklenebilir bir form gönderim tetikleyicisi** onu çağırdığında çalışır. Eklemenin iki yolu var:

- Düzenleyicide `createTrigger`'ı seçip bir kez **Run**'a tıklayın. Google betiği yetkilendirmenizi ister; izin verin.

- Ya da **Triggers**'ı (saat simgesi) açın, **Add Trigger**'a tıklayın, `sendToTelegram`'ı, olay kaynağı olarak **From form**'u ve olay türü olarak **On form submit**'i seçin.

İkisini birden değil, birini kullanın; yoksa her yanıt iki kez gelir. Sonra formun herkese açık bağlantısından bir test yanıtı gönderin. `sendToTelegram`'ı düzenleyiciden çalıştırmayın: okuyacak yanıt olmadığı için hatayla durur.

## Limitler ve sık görülen sorunlar

- **Kotalar.** Kişisel Google hesapları günde 20.000 URL Fetch çağrısı ve 90 dakika tetikleyici çalışma süresi alır; Workspace hesapları 100.000 çağrı ve 6 saat. Bir yanıt bir çağrı kullanır.

- **Betiklerin oluşturduğu yanıtlar sayılmaz.** Google'a göre başka bir betikteki `FormResponse.submit()` tetikleyiciyi çalıştırmaz.

- **Dosya yükleme.** Dosya yükleme sorusunun yanıtları dosyaların kendisi değil, Drive dosya kimlikleridir.

- **Hiçbir şey gelmiyor.** Apps Script'te **Executions**'ı açın. `chat not found` hatası, chat id'nin yanlış olduğunu ya da botta Start'a hiç basmadığınızı gösterir.

- **Sahip değişikliği.** Tetikleyici onu oluşturan kişi adına çalışır. O kişi forma erişimini kaybederse tetikleyiciyi yeniden oluşturun.

## Form kendi sitenizdeyse

Google Forms anketler ve kayıt listeleri için mantıklıdır. Kendi sitenizdeki bir iletişim formu için hem Google'ı hem betiği atlayabilirsiniz. Bir form backend'ine veri gönderen HTML form, her mesajı doğrudan Telegram'a ve e-postaya iletebilir.

Formgong bunu ücretsiz plan dahil her planda yapar: ayda 300 gönderim, veriler AB'de saklanır. Telegram'ı panelden bağlarsınız; token ya da chat id kopyalamanız gerekmez. Adımlar [site formu gönderimlerini Telegram'a gönderme](/tr/blog/website-form-to-telegram/) yazısında.

## Sık sorulan sorular

### Google Form yanıtlarını kodsuz Telegram'a gönderebilir miyim?

Evet. Zapier, Make ve IFTTT'de hazır Google Forms → Telegram şablonları var. Güvenmeden önce her servisin plan limitlerine bakın.

### Apps Script yöntemi ücretsiz mi?

Evet, Google'ın günlük kotaları içinde. Kişisel bir hesap günde 20.000 URL Fetch çağrısı yapabilir (05.10.2026 itibarıyla) ve her yanıt bir çağrı kullanır.

### Betiğim neden hiçbir şey göndermiyor?

Genellikle tetikleyici yoktur ya da yetkilendirilmemiştir, chat id yanlıştır veya botta Start'a basılmamıştır. Apps Script'teki Executions sayfası hatayı gösterir.

### Formgong, Google Forms ile çalışır mı?

Hayır. Formgong, kendi sitenizden ona veri gönderen formları alır. Google Forms yanıtlarını okuyamaz.

## Kaynaklar ve belgeler

- [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)
- [Formgong belgeleri](https://formgong.com/tr/docs/)

[Form anahtarı alın](https://formgong.com/tr/#top)
