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ı · EtiketlerHangi aksiyon hangi anda çalışır:
actionType | Aksiyon | Ne zaman çalışır |
|---|---|---|
booking | Randevu (Cal.com) | Görüşme sırasında |
sms | SMS | Görüşme sırasında |
whatsapp | WhatsApp şablonu | Görüşme sırasında |
email | E-posta (Gmail) | Görüşme sırasında |
custom | Özel webhook | Görüşme sırasında |
information_extractor | Bilgi çıkarıcı | Görüşme sonrası |
follow_up | Takip 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ı:
- Aksiyon tanımlı olmalı (kendi sayfasında).
- Asistana bağlı olmalı (
assistant-actions). - 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
| Belirti | Olası 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. |