AksiyonlarGenel Bakış

Aksiyonlar — Genel Bakış

Asistanının bir randevuyu telefonu kapatmadan Cal.com’a yazması, onay SMS’ini müşteri daha hattayken göndermesi, bütçe bilgisini görüşmeden çıkarıp kontağa işlemesi — bunların hepsi birer aksiyon. Aksiyon, asistanının yalnızca konuşması değil, bir şey yapmasıdır. Böylece “sonra ilgilenirim” diye kaybolan lead olmaz; iş görüşme anında biter.

Bu sayfa hub’dır: aksiyonun ne olduğunu, türlerini, asistana nasıl bağlandığını ve bir görüşmede ne zaman çalıştığını anlatır. Her aksiyon türünün ayrıntısı kendi sayfasında.

Aksiyon nedir?

Aksiyon, asistanın bir görüşmede tetikleyebildiği somut bir yetenektir. İki grupta çalışır:

  • Görüşme sırasında (canlı): Randevu, SMS, WhatsApp, e-posta, özel webhook. Asistan konuşmanın ortasında bir aracı çağırır; işlem gerçek zamanlı yapılır.
  • Görüşme sonrası: Bilgi çıkarıcılar (konuşmadan yapılandırılmış veri çıkarma), takip kuralları (koşul → otomatik takip) ve etiketler. Bunlar AI görüşme analizi bittikten sonra devreye girer.

Kısaca: asistanın “beyni” prompt’tur, aksiyonlar ise “elleri”. Prompt karar verir, aksiyon işi yapar.

Aksiyon türleri

Kontaklara otomatik etiket atamak da bir aksiyon davranışıdır; etiketler ve kuralları İtiraz, Aktivite ve Etiket sayfasında.

Aksiyon asistana nasıl bağlanır?

Bir aksiyonu tanımlaman yetmez; onu bir asistana bağlaman gerekir. Bağlama, aksiyon ile asistan arasındaki köprüdür (assistant-actions).

Aksiyonu oluştur

Her aksiyon önce kendi sayfasında tanımlanır: SMS metni, Cal.com etkinlik türü, webhook URL’i, çıkarılacak bilgi vb. Bu adımda aksiyon henüz hiçbir asistana bağlı değildir.

Asistana bağla

Asistan detayında Aksiyonlar sekmesinden ilgili aksiyonu seç. Arkada şu istek atılır:

POST /api/actions/assistant-actions
{ "assistantId": "...", "actionType": "booking", "actionId": "123" }
  • actionType şu değerlerden biri olur: booking, sms, whatsapp, email, custom, information_extractor, follow_up.
  • Çalışma sırası (executionOrder) otomatik atanır: mevcut en yüksek sıra + 1. Görüşme sonrası aksiyonlar bu sıraya göre işler.
  • Aynı aksiyonu ikinci kez bağlarsan 409 — "Bu aksiyon zaten bu asistana bağlı" yanıtı gelir; mevcut bağı kullan.
⚠️

Bağlamak istediğin aksiyon senin hesabına ait olmalı. Purvisor AI, bağlamadan önce aksiyonun sahibini doğrular; başka bir kullanıcının webhook/e-posta aksiyonunu kendi asistanına iliştiremezsin (404). Bu, çok kiracılı ortamda “confused deputy” sızıntısını engeller.

Prompt’ta ne zaman tetikleneceğini yaz

Aksiyonu bağlaman, asistanın onu kendiliğinden çalıştıracağı anlamına gelmez. Asistan, aracı prompt’a bakarak çağırır. Yani prompt’ta net talimat vermelisin:

“Müşteri randevuya olumlu bakınca randevu aracını kullan. Fiyat isterse, fiyat listesini SMS ile gönder.”

Prompt’u nasıl yazacağın: Prompt Yazma Rehberi.

Aksiyon ne zaman çalışır?

Görüşme başlar

    ├─ Görüşme SIRASINDA (canlı) ──────────────────────────────
    │     Asistan prompt'a göre karar verir → aracı çağırır
    │            ↓  (agent → backend, gerçek zamanlı)
    │     Randevu · SMS · WhatsApp · E-posta · Webhook
    │     120 sn idempotency: aynı işlem iki kez tetiklenmez

    └─ Görüşme SONRASI (analiz bittikten sonra) ───────────────
          AI görüşme analizi tamamlanır

          Bilgi çıkarıcılar · Takip kuralları · Etiketler

Hangi aksiyon hangi anda çalışır:

actionTypeAksiyonNe zaman çalışır
bookingRandevu (Cal.com)Görüşme sırasında
smsSMSGörüşme sırasında
whatsappWhatsApp şablonuGörüşme sırasında
emailE-posta (Gmail)Görüşme sırasında
customÖzel webhookGörüşme sırasında
information_extractorBilgi çıkarıcıGörüşme sonrası
follow_upTakip kuralıGörüşme sonrası

Canlı aksiyonlarda çift işlem koruması: Asistan aynı turda aracı yanlışlıkla iki kez çağırırsa (örn. iki kez “randevu al”), callId + aksiyon tipi + parametreler imzasıyla 120 saniyelik pencerede tekrar engellenir. İşlem başarısız olursa bu kilit temizlenir; böylece gerçek bir yeniden deneme yeniden çalışır ve asistan, olmadığı halde “yaptım” demez.

Randevu tarafında ek koruma var: slot doluysa asistan “sistemde sorun var” demez, başka bir saat önerir; zaman aşımında da “kesinlikle yapıldı” demek yerine “teyit edip döneceğiz” der. Ayrıntı: Randevu (Cal.com).

Prompt ile aksiyon ilişkisi

Aksiyonun tetiklenip tetiklenmeyeceğine asistan karar verir ve bu kararı prompt yönetir. Üç parça bir arada çalışmalı:

  1. Aksiyon tanımlı olmalı (kendi sayfasında).
  2. Asistana bağlı olmalı (assistant-actions).
  3. Prompt’ta tetikleme koşulu yazılı olmalı (“şu olursa şu aracı kullan”).

Üçünden biri eksikse aksiyon çalışmaz. En sık atlanan üçüncüsüdür: aksiyon bağlıdır ama prompt asistana ne zaman kullanacağını söylemez. Prompt ve asistan ayarları: Asistan Oluşturma.

Sahiplik ve güvenlik

  • Asistan sahipliği: Yalnızca kendi asistanına aksiyon bağlayabilirsin.
  • Alt-aksiyon sahipliği: Bağlanan aksiyon aynı hesaba ait olmalı; farklı kiracının aksiyonu bağlanamaz (404). Bu, çok kiracılı ortamda cross-tenant sızıntı korumasıdır.
  • Şablon koruması: Mesaj şablonlarında, herkese açık sistem şablonları (salt-okunur) hariç, bir şablonu yalnızca sahibi düzenleyip silebilir (IDOR koruması).
  • Sağlayıcı kimlik bilgileri: Cal.com, NetGSM, Twilio, WhatsApp ve Gmail bilgileri her kullanıcıya özel saklanır; kayıt yoksa ortam değişkenine (env) düşülür.

KVKK notu: SMS, e-posta ve WhatsApp aksiyonları kişisel veriye mesaj gönderir. Bu iletişimin açık rıza kapsamında olduğundan emin ol; asistanın açılışta kim olduğunu ve neden aradığını net söylesin. Müşteri “aranmak istemiyorum” derse asistan bunu onurlandırır ve kontak aranmaz listesine alınır.

Sorun giderme

BelirtiOlası neden / çözüm
Aksiyon hiç çalışmadıAksiyon asistana bağlı değil; bağ pasif (isActive kapalı); ya da prompt’ta tetikleme talimatı yok. Üç parçayı da kontrol et.
”Bu aksiyon zaten bu asistana bağlı” (409)Aynı aksiyon ikinci kez bağlanıyor — mevcut bağı kullan, yenisini oluşturma.
Aksiyon bağlanamıyor (404)Aksiyon başka bir hesaba ait veya silinmiş → kendi hesabında oluşturup bağla.
”Entegrasyon yapılandırılmamış” dediİlgili sağlayıcı (Cal.com / NetGSM / Twilio / WhatsApp / Gmail) bağlı değil → Entegrasyonlar sayfasından bağla.
Aynı işlem iki kez yapıldıNormalde 120 sn idempotency engeller; ama farklı parametrelerle çağrılırsa ayrı işlem sayılır — prompt’ta gereksiz tekrarı önle.
Görüşme sonrası aksiyon geç çalıştıBilgi çıkarıcı/takip kuralı, AI görüşme analizi bittikten sonra tetiklenir; analiz tamamlanana kadar bekler.

İlgili