EntegrasyonlarGoogle / Gmail

Google Gmail Entegrasyonu

Bir arama bittikten sonra “size e-posta atacağım” diyen asistanın sözünü kendi Gmail adresinden, otomatik tutmasını ister misin? Google hesabını bir kez bağlarsın; bundan sonra E-posta aksiyonları ve kadans adımları senin @gmail.com (veya Google Workspace) adresinden çıkar — alıcı için noreply bir sistemden değil, tanıdığı bir insandan gelmiş gibi görünür. Önemli olan güven kısmı: Purvisor sadece gönderim yetkisi ister, gelen kutunu okumaz.

Nasıl çalışır?

Panel → Entegrasyonlar → Google/Gmail → Bağla
        ↓ (Google OAuth — gmail.send izni)
Purvisor access_token + refresh_token saklar

Asistan aramayı bitirir / kadans adımı tetiklenir

E-posta aksiyonu → Gmail API (users/me/messages/send)

E-posta senin adresinden gönderilir (From: Adın <sen@gmail.com>)

Purvisor’ın istediği tek yazma izni gmail.send. Bu izin adını “gönder” diye düşün: postaneye mektup bırakabilirsin ama başkalarının kutularını açamazsın. Gelen kutunu okuma, silme veya arama izni istenmez — çünkü kodda öyle bir yetki (scope) hiç talep edilmiyor.

Ön koşullar

  • Bir Google hesabı (kişisel @gmail.com veya Google Workspace).
  • Purvisor’da oturum açmış olman — bağlama işlemi hesabına özeldir.
  • E-postayı bir yerde kullanacak bir yapı: bir E-posta Gönderme aksiyonu ya da bir kadans adımı.

Kurulum

Google hesabını bağla

Panelde Entegrasyonlar → Google / Gmail → Bağla butonuna tıkla. Purvisor seni Google’ın kendi izin ekranına yönlendirir (accounts.google.com). Bağlanmak istediğin Google hesabını seç.

Bağlama başlamadan önce Purvisor arka planda CSRF koruması için tek kullanımlık bir güvenlik anahtarı (state) üretir ve 10 dakika geçerli bir çerezle eşleştirir. Bu, “bu izin akışını gerçekten sen mi başlattın?” sorusunu güvenceye alır — senin bir şey yapmana gerek yok.

📸 [Ekran görüntüsü: Entegrasyonlar sayfası — Google/Gmail “Bağla” butonu]

İzinleri onayla (yalnızca gönderim)

Google izin ekranında Purvisor’ın istediği yetkiler:

İzin (scope)Ne işe yarar
gmail.sendSenin adına e-posta gönderir. Okuma, silme, gelen kutusu erişimi yoktur.
userinfo.emailBağlanan adresin hangi e-posta olduğunu bilmek (From alanında görünür).
userinfo.profileGörünen adını almak (From: Adın <sen@gmail.com>).
⚠️

Purvisor kalıcı bağlantı için “çevrimdışı erişim” (offline access) ister; böylece hesabını her seferinde yeniden bağlamak zorunda kalmazsın. Google, bir kerelik access_token süresi dolduğunda (tipik olarak ~1 saat) refresh_token ile arka planda sessizce yeniler. Bağlantıyı istediğin an Google Hesap ayarlarından (“Üçüncü taraf erişimi”) veya Purvisor panelinden koparabilirsin.

İzinleri onayladığında Purvisor’a geri dönersin ve adres bilgin (sen@gmail.com) panelde Bağlandı ✓ olarak görünür. Aynı Google hesabını tekrar bağlarsan eski kayıt otomatik olarak devre dışı bırakılır (soft-delete) — çift kayıt oluşmaz.

📸 [Ekran görüntüsü: Google OAuth izin ekranı — “Purvisor e-posta gönderebilsin” onayı]

E-posta aksiyonuna veya kadansa bağla

Gmail bağlandıktan sonra gönderim iki yerden tetiklenir:

  • E-posta aksiyonu — asistan görüşme sırasında ya da sonrasında bir e-posta yollamak istediğinde. Kurulum: E-posta Gönderme.
  • Kadans adımı — çok adımlı takipte “2. gün e-posta gönder” gibi bir adım. Kurulum: Cadence Oluşturma.

Her iki yol da aynı gönderim uç noktasını kullanır. Aksiyonun/kadans adımının Purvisor’a ilettiği gövde şu alanlardan oluşur — to, subject ve body zorunludur:

POST /api/integrations/gmail/send
{
  "to": "musteri@ornek.com",
  "subject": "Görüşmemizin özeti",
  "body": "<p>Merhaba, az önceki görüşmemiz için teşekkürler...</p>",
  "isHtml": true,
  "cc": "",
  "bcc": "",
  "replyTo": ""
}

isHtml: true ile zengin (HTML) içerik, false ile düz metin gönderilir. cc, bcc ve replyTo isteğe bağlıdır.

Test et

Bağlantıyı doğrulamak için panelde Gmail entegrasyonunun Test / Bağlantıyı doğrula seçeneğini kullan. Başarılıysa Bağlantı başarılı: sen@gmail.com (Gmail gönderim yetkisi aktif) mesajını görürsün. Ardından bir E-posta aksiyonunu kendi ikinci bir adresine tetikleyerek uçtan uca dene — gelen e-postanın From satırında kendi adın ve adresin görünmeli.

Gönderilen e-posta neye benzer?

Purvisor, RFC 2822 biçiminde bir mesaj oluşturur ve Gmail API üzerinden yollar. Alıcının gördüğü başlıklar:

AlanDeğer
FromAdın <sen@gmail.com> — bağladığın Google profilinden gelir
ToAksiyon/kadansta belirttiğin alıcı
SubjectKonu satırı
Content-Typetext/html (isHtml) veya text/plain, charset=utf-8
Cc / Bcc / Reply-ToYalnızca doldurulduysa eklenir

Yani teknik olarak e-posta Gmail hesabından çıkar; alıcı yanıtladığında yanıt doğrudan senin gelen kutuna düşer (Purvisor bunu okumaz, sen Gmail’den okursun).

İyi uygulamalar

  • Workspace adresini tercih etsirket.com uzantılı bir Google Workspace adresi, kişisel @gmail.com’a göre kurumsal görünür ve spam’e düşme ihtimali daha düşüktür.
  • Reply-To’yu bilinçli kullan — yanıtların satış ekibinin ortak kutusuna gitmesini istiyorsan replyTo alanını o adrese ayarla.
  • Konu ve gövdeyi bağlama göre yaz — “Görüşmemizin özeti” gibi somut bir konu, “Bilgilendirme” gibi genel bir konudan çok daha yüksek açılma oranı verir.
  • Yüksek hacim mi olacak? — Gmail’in günlük gönderim limitleri vardır (kişisel hesaplarda daha düşük, Workspace’te daha yüksek). Toplu/pazarlama gönderimleri için tekil takip e-postaları yerine ayrı bir pazarlama aracı düşün; bu entegrasyon 1’e 1 takip için idealdir.

KVKK notu: Bir kişiye e-posta göndermek de kişisel veri işlemektir. Alıcının bu iletişim için açık rızası olduğundan emin ol; e-postada kim olduğunu ve neden yazdığını net belirt, mümkünse çıkış (opt-out) yolu bırak. Purvisor gelen kutunu okumaz, ancak gönderdiğin içeriğin sorumluluğu sana aittir.

Sorun giderme

BelirtiOlası neden / çözüm
Bağlama ekranında hata (error=gmail_denied)Google izin ekranında onayı reddettin → yeniden Bağla deyip izinleri onayla.
error=invalid_state / user_mismatchGüvenlik kontrolü (CSRF/oturum) uyuşmadı — genelde bağlama linki 10 dakikadan eski veya farklı bir hesapla açık. Purvisor’da oturumunu tazeleyip baştan bağla.
error=gmail_token_failed / gmail_no_tokenGoogle jeton değişimi başarısız — birkaç dakika sonra tekrar dene; sorun sürerse yönetici Google istemci ayarlarını (GOOGLE_CLIENT_ID/SECRET) kontrol etsin.
Gönderim “Gmail entegrasyonu yapılandırılmamış” diyorBu hesapta aktif Gmail bağlantısı yok → Entegrasyonlar’dan Google hesabını bağla.
E-posta bir süre sonra gönderilmiyoraccess_token süresi dolmuş ve refresh_token yok/iptal edilmiş olabilir → hesabı yeniden bağla (bağlama sırasında offline erişim yeniden verilir).
Alıcı e-postayı spam’de bulduKişisel Gmail yerine Workspace adresi kullan; konu/gövdeyi spam tetikleyen kalıplardan arındır; gönderim hacmini makul tut.

İlgili