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.comveya 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.send | Senin adına e-posta gönderir. Okuma, silme, gelen kutusu erişimi yoktur. |
userinfo.email | Bağlanan adresin hangi e-posta olduğunu bilmek (From alanında görünür). |
userinfo.profile | Gö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: trueile zengin (HTML) içerik,falseile düz metin gönderilir.cc,bccvereplyToisteğ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:
| Alan | Değer |
|---|---|
| From | Adın <sen@gmail.com> — bağladığın Google profilinden gelir |
| To | Aksiyon/kadansta belirttiğin alıcı |
| Subject | Konu satırı |
| Content-Type | text/html (isHtml) veya text/plain, charset=utf-8 |
| Cc / Bcc / Reply-To | Yalnı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 et —
sirket.comuzantı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
replyToalanı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
| Belirti | Olası 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_mismatch | Gü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_token | Google 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ış” diyor | Bu hesapta aktif Gmail bağlantısı yok → Entegrasyonlar’dan Google hesabını bağla. |
| E-posta bir süre sonra gönderilmiyor | access_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 buldu | Kişisel Gmail yerine Workspace adresi kullan; konu/gövdeyi spam tetikleyen kalıplardan arındır; gönderim hacmini makul tut. |