Cal.com Entegrasyonu

Bir görüşmenin en değerli anı, müşterinin “olur, ne zaman uygun?” dediği andır. Cal.com’u Purvisor AI’a bağladığında, asistan o cümleyi duyduğu saniye takvimine bakar, uygun saati teyit eder ve randevuyu çağrı kapanmadan oluşturur. “Sizi geri arayacaklar” yerine, telefon henüz elindeyken takvim daveti düşer — geri dönüş kaybı sıfırlanır.

Cal.com’u, ekibinin ortak Google/Outlook takvimini tek bir bağlantı adresi ve randevu motoru altında toplayan ücretsiz/açık kaynak bir randevu aracı olarak düşün. Purvisor AI ona bir API anahtarıyla bağlanır.

Nasıl çalışır?

Görüşme sırasında müşteri "randevu istiyorum" der

Asistan Randevu Al aksiyonunu tetikler (seçili etkinlik türü + süre)

Purvisor → Cal.com API: uygun saat teyidi + rezervasyon

Cal.com randevuyu oluşturur → takvim daveti / onay e-postası

(Opsiyonel) müşteriye onay SMS'i gider

Bu sayfa bağlantının kurulumunu anlatır (API anahtarı + etkinlik türü). Asistanın çağrı sırasında randevuyu nasıl oluşturduğu, koşullar ve onay mesajı ayarları için Randevu (Cal.com) Aksiyonu sayfasına bak.

Ön koşullar

  • Bir Cal.com hesabı ve içinde en az bir etkinlik türü (event type) — örn. “30 dk Tanışma Görüşmesi”.
  • Cal.com’da oluşturulmuş bir API anahtarı (aşağıda alıyoruz).
  • Purvisor AI’da hazır bir asistan (İlk Asistanını Oluştur).

Kurulum

Cal.com API anahtarını al

Cal.com’da Settings → Developer → API Keys → Add yolunu izle. Anahtarı oluştur ve kopyala. Yeni anahtarlar cal_live_ ile başlar.

API anahtarı bir şifre gibidir — sadece bir kez tam olarak gösterilir. Kopyalayıp güvenli bir yere al.

📸 [Ekran görüntüsü: Cal.com Settings → Developer → API Keys ekranı]

Purvisor’a bağla

Purvisor panelinde Entegrasyonlar → Cal.com kartını aç. API Anahtarı alanına kopyaladığın cal_live_... değerini yapıştır ve kaydet.

Kaydettiğinde anahtar sunucuda saklanır; panelde bir daha görüntülendiğinde güvenlik için maskelenir (örn. cal_liv•••••••• — yalnız ilk 6 karakter görünür). Bu maskeli değeri silip yeniden yazmana gerek yok; başka bir alanı değiştirip kaydetsen bile gerçek anahtarın korunur.

📸 [Ekran görüntüsü: Entegrasyonlar → Cal.com — API Anahtarı alanı ve Kaydet]

Etkinlik türünü seç ve bağlantıyı test et

Anahtar kaydedildikten sonra Randevu (Cal.com) Aksiyonu’nu açtığında Purvisor, Cal.com’dan etkinlik türlerini çeker ve bir açılır listede gösterir. Bu çekme işlemi aynı zamanda bağlantı testidir:

  • Liste doluyorsa anahtar geçerli, bağlantı çalışıyor. ✓
  • “Cal.com entegrasyonu bulunamadı” görürsen anahtar henüz kaydedilmemiş — 2. adıma dön.
  • “Cal.com API hatası” görürsen anahtar yanlış/iptal edilmiş — Cal.com’da yeni bir anahtar üret ve tekrar yapıştır.

Listeden asistanın kullanacağı etkinlik türünü seç. Bu seçim, Cal.com’a hangi randevu tipini ve süresini açacağını söyler (örn. “30 dk Tanışma”). Süreyi boş bırakırsan varsayılan 30 dakika kullanılır.

📸 [Ekran görüntüsü: Randevu aksiyonu — etkinlik türü açılır listesi (id · başlık · süre)]

Alan referansı

Bağlantı ayarları (Cal.com entegrasyon yapılandırması):

AlanZorunluAçıklama
API Anahtarı (apiKey)Evet*Cal.com hesabının anahtarı (cal_live_...). Randevuları bu hesap üzerinden açar.
Etkinlik Türü (eventTypeId)Evet*Asistanın oluşturacağı randevu tipi. Cal.com’daki etkinlik türünün sayısal kimliği.
Süre (duration)HayırRandevu süresi (dakika). Belirtilmezse 30 kullanılır.

*En az birini girmen gerekir; pratikte anlamlı bir kurulum için her ikisi de gerekir — anahtar bağlantıyı, etkinlik türü ise hangi randevunun açılacağını belirler. İkisi de boşsa Purvisor “En az bir Cal.com alanı gerekli” hatası verir.

Purvisor, etkinlik türlerini çekerken Cal.com API’sinin v1 ucunu (/v1/event-types) dener; yeni cal_live_ anahtarları çoğunlukla yalnız v2 ile çalıştığından, v1 başarısız olursa otomatik olarak v2’ye (/v2/event-types) geçer. Yani hem eski hem yeni anahtar tipleri desteklenir — senin bir şey yapmana gerek yok.

Randevuyu asistanın kullanması

Bağlantı kurulduktan sonra ilgili asistana Randevu (Cal.com) aksiyonunu eklersin. Görüşme sırasında müşteri randevu isterse asistan bu aksiyonu tetikler. İsteğe bağlı olarak:

  • Koşul (condition) — randevuyu yalnız belirli durumda aç (örn. “müşteri ilgilendiğini belirtirse”).
  • Onay SMS’i (confirmationSms) — randevu oluşunca müşteriye kısa bir teyit mesajı gönder.
  • Onay mesajı (confirmationMessage) — asistanın telefonda söyleyeceği teyit cümlesi.

Ayrıntılar: Randevu (Cal.com) Aksiyonu.

KVKK notu

Cal.com üzerinden randevu açarken müşterinin adı, telefonu ve e-postası Cal.com’a aktarılır. Bunlar birer kişisel veridir:

  • Müşteriye randevu için iletişim bilgisinin kaydedileceğini görüşme içinde açıkça belirt.
  • Cal.com’un onay/hatırlatma e-postaları da bu rızanın kapsamında olmalı.
  • Yalnız randevu için gereken alanları topla; asistanın gereksiz kişisel veri istemesini önle.

Genel çerçeve için KVKK ve Veri Yönetimi sayfasına bak.

İyi uygulamalar

  • Etkinlik türünü göre ayarla — telefon görüşmesinden çıkan randevular için tampon (buffer) ve müsaitlik saatlerini Cal.com’da doğru tanımla; asistan sadece gerçekten uygun saatleri teklif etsin.
  • Kısa etkinlik türü seç — 15-30 dk’lık “tanışma” tipi görüşmeler telefonda en kolay kapatılan randevulardır.
  • Onay SMS’ini aç — sözlü teyit + yazılı hatırlatma, randevuya gelmeme oranını düşürür.
  • Tek bir hesap kullan — ekipçe ortak takvimi Cal.com’da topla; asistan tek anahtarla herkesin müsaitliğini görür.

Sorun giderme

BelirtiOlası neden / çözüm
Etkinlik türü listesi boş, “Cal.com entegrasyonu bulunamadı”API anahtarı Entegrasyonlar sayfasından kaydedilmemiş → 2. adımı tekrarla.
”Cal.com API hatası”Anahtar yanlış, süresi dolmuş veya iptal edilmiş → Cal.com’da yeni anahtar üret ve yapıştır.
Anahtarı kaydettim ama alan cal_liv•••••••• görünüyorBu normal — kayıtlı anahtar güvenlik için maskelenir. Gerçek değer sunucuda korunur.
”En az bir Cal.com alanı gerekli”Hem API anahtarı hem etkinlik türü boş → en az anahtarı gir.
”Bu sağlayıcı zaten bağlı”Cal.com zaten bağlıysa yenisini eklemek yerine mevcut kaydı güncelle.
Asistan randevuyu açtı ama takvimde yokYanlış etkinlik türü seçili olabilir veya Cal.com’da o türün müsaitliği kapalı → etkinlik türünü ve müsaitlik saatlerini kontrol et.

İlgili