Google Apps Script ile Kurumsal Otomasyon: Gmail ve E-Tabloları Bağlayın

Özet: Şirket maillerini elle yanıtlamak, gelen faturaları Drive klasörlerine tek tek kaydetmek veya e-tablolardaki verileri manuel güncellemek işletmeniz için zaman kaybıdır. Bu teknik rehberde, Google Workspace ekosisteminde hiçbir harici API ücreti ödemeden, JavaScript tabanlı Google Apps Script ile iş akışlarınızı nasıl tamamen otomatize edeceğinizi kod örnekleriyle inceliyoruz.

B2B iş süreçlerinde verimlilik, jenerik yapay zeka araçlarına istem (prompt) yazarak değil, doğrudan platformlar arası mikro otomasyon mimarileri kurarak sağlanır. Google Workspace, bulut altyapısında yerleşik olarak çalışan ve JavaScript altyapısını kullanan Google Apps Script motorunu sunar. Bu motor sayesinde tetikleyiciler (Triggers) kurabilir, cron-job mantığıyla çalışan sunucusuz (serverless) betikler üretebilirsiniz.

🤖 Senaryo 1: Gelen E-Posta Eklerini Otomatik Google Drive’a Kaydetme

Müşterilerinizden veya tedarikçilerinizden gelen “Fatura” veya “Teklif” konulu e-postaların eklerini filtreleyip, doğrudan şirketinizin ortak Drive klasöründe arşivleyen pratik bir betik hazırlayalım. Bu işlem için harici bir entegrasyon aracına (Zapier, Make vb.) bütçe ayırmanıza gerek yoktur.

function autoArchiveAttachments() {
  // 1. Belirli filtreye uyan son 10 e-posta zincirini tara
  const threads = GmailApp.search('subject:"Fatura" has:attachment newer_than:1d', 0, 10);
  const folder = DriveApp.getFolderById('YOUR_DRIVE_FOLDER_ID_HERE');

  threads.forEach(thread => {
    const messages = thread.getMessages();
    messages.forEach(message => {
      const attachments = message.getAttachments();
      attachments.forEach(attachment => {
        // 2. Dosya daha önce kaydedilmediyse Drive'a aktar
        folder.createFile(attachment);
      });
    });
  });
}

⏱️ Zaman Tabanlı Tetikleyiciler (Time-Driven Triggers) Kurulumu

Yazdığınız bu kodun arka planda bir insan müdahalesi olmadan çalışması için Google altyapısındaki yerleşik cron sistemini aktif etmelisiniz:

  • Apps Script editörünün sol tarafındaki saat simgesine (Tetikleyiciler) tıklayın.
  • Tetikleyici Ekle butonuna basın.
  • Çalıştırılacak fonksiyonu seçin, etkinlik kaynağını “Zaman odaklı” (Time-driven) olarak ayarlayın.
  • Sıklığı “Saatlik” veya “Günlük” olarak seçip kaydedin. Sunucu taraflı bu işlem bilgisayarınız kapalı olsa dahi çalışmaya devam eder.

📊 E-Tablolardan Dinamik HTML E-Posta Raporu Göndermek

Bir diğer yaygın kurumsal ihtiyaç ise, Google E-Tablolar (Sheets) üzerinde biriken günlük veya haftalık verileri, biçimlendirilmiş şık bir HTML tablosu haline getirerek yönetim ekibine otomatik raporlamaktır. GmailApp.sendEmail sınıfının htmlBody parametresi sayesinde, harici bir e-posta pazarlama yazılımı kullanmadan doğrudan veritabanınızdan kurumsal şablonlar üretebilirsiniz.

💡 Geliştirici Notu: Apps Script projelerinizi yazarken Google ekosisteminin dışındaki servislerle (Örn: Şirket içi ERP sisteminiz veya Slack / Trello altyapınız) konuşmak isterseniz, UrlFetchApp.fetch() sınıfını kullanarak harici REST API’lere kolayca POST/GET istekleri atabilirsiniz.

🚀 Pratik Çözümün İşletmeye Katkısı

Klişe yapay zeka çözümlerinin aksine, Google Apps Script ile kurulan veri köprüleri deterministiktir; yani hata payı veya “halüsinasyon” riski barındırmaz. Kod diziliminiz kurallar çerçevesinde neyi emrediyorsa, Workspace altyapınız o veriyi saniyeler içinde işler. Operasyonel yükü sıfırlayan bu mikro yazılımlar, kurumsal dijital dönüşümün en pratik ve maliyetsiz ayağıdır.

Özet: Kurumsal bulut altyapılarında en zayıf halka genellikle kullanıcı yetkilendirmeleri ve açık bırakılan dış paylaşım izinleridir. Bu teknik makalede, Google Workspace Admin konsolunda veri kaybını önleme (DLP) kurallarını, DKIM/DMARC kimlik doğrulamalarını ve siber saldırı risklerini minimize edecek kritik güvenlik politikalarını inceliyoruz.

Bulut tabanlı ofis araçlarına geçiş yapmak operasyonel hızı artırsa da, merkezi bir güvenlik politikası uygulanmadığında şirket içi hassas verilerin (finansal tablolar, müşteri veritabanları, kaynak kodlar) dışarıya sızması an meselesidir. Google Workspace Admin paneli, siber güvenliği en üst düzeye çıkarmak için kurumsal düzeyde filtreler ve sıkılaştırma politikaları barındırır.

🔐 1. Kimlik Doğrulama Katmanı: 2FA ve Context-Aware Access (Bağlama Duyarlı Erişim)

Sadece güçlü bir şifre politikası uygulamak günümüz siber tehdit senaryolarında yetersizdir. Workspace adminlerinin ilk yapması gereken, tüm organizasyon için 2 Adımlı Doğrulamayı (2FA) zorunlu kılmaktır.

Bir adım daha ileri gitmek için Enterprise planlarında yer alan **Context-Aware Access** politikasını devreye alabilirsiniz. Bu kural sayesinde, bir personelin şirket e-postalarına veya Drive dosyalarına sadece “Şirket IP adresi üzerinden” veya “Yalnızca şirkete ait şifrelenmiş cihazlardan” erişebilmesini sağlayabilir, evden yapılan yetkisiz giriş denemelerini IP bloklama seviyesinde engelleyebilirsiniz.

🛑 2. Veri Kaybını Önleme (DLP – Data Loss Prevention) Mimarisi

DLP kuralları, kullanıcıların farkında olarak veya olmayarak hassas verileri dışarıya sızdırmasını engeller. Örneğin; bir personelin Google Drive’da içinde “IBAN”, “Müşteri TCKN” veya “Şifre” geçen bir dokümanı şirket dışı bir e-posta adresiyle paylaşmasını otomatik olarak bloke edebilirsiniz.

🛡️ Kritik Bir DLP Kuralı Nasıl Yapılandırılır?

  1. Yönetici Konsolu’nda Güvenlik > Veri Koruma alanına gidin.
  2. Yeni bir kural oluşturun ve kapsamı Google Drive ve Gmail olarak seçin.
  3. Tetikleyici veri tipini düzenli ifadelerle (Regex) tanımlayın (Örn: Kredi kartı kalıpları).
  4. Aksiyon olarak “Dış Paylaşımı Engelle ve Yöneticiye E-posta Gönder” talimatını aktif edin.

✉️ 3. E-Posta Güvenliği: SPF, DKIM ve DMARC Üçlemesi

Şirket domain adınız kullanılarak üçüncü partiler tarafından sahte mailler atılmasını (phishing/spoofing) engellemek için DNS seviyesinde üç ana katmanı da doğrulamalısınız. Önceki rehberimizde değindiğimiz SPF ve DKIM’e ek olarak, kesinlikle **DMARC** politikasını aktif etmelisiniz.

DNS panelinize ekleyeceğiniz bir _dmarc.firmadi.com TXT kaydı ile, SPF ve DKIM testlerinden geçemeyen maillerin alıcı sunucular tarafından doğrudan reddedilmesini (p=reject) emredebilirsiniz. Bu, alan adınızın dünya genelindeki e-posta itibar puanını en üst seviyede tutar.

🚀 Sonuç: Sürdürülebilir Güvenlik Politikası

Siber güvenlik statik bir durum değil, sürekli izlenmesi gereken bir süreçtir. Google Workspace Admin panelindeki **Güvenlik Soruşturma Aracı (Security Investigation Tool)** sayesinde, organizasyon içinde silinen mailleri, dışarıya paylaşılan güncel dosya listelerini düzenli olarak denetlemeli ve IT altyapınızı her an denetime hazır bulundurmalısınız.

Yorum yapın