Outlook Calendar Node
Outlook Calendar node'u, SkyStudio workflow'larında Microsoft Outlook takvimiyle entegrasyon sağlar. Etkinlikleri listeleyebilir, oluşturabilir, güncelleyebilir, silebilir; müsaitlik kontrolü yapabilir ve AI destekli takvim sorguları çalıştırabilirsiniz. Bağlantı için Teams node'uyla aynı Azure App Registration yöntemi kullanılır.
Bağlantı Kurulumu ve Yönetimi
Outlook Calendar node'unu kullanabilmek için Azure Portal'da bir App Registration oluşturmanız ve elde ettiğiniz Tenant ID, Client ID ve Client Secret bilgilerini SkyStudio'ya girmeniz gerekir.
🎬 Videoyu izlemek için tıklayın → []
Not: Bu node'un bağlantı kurulum süreci Microsoft Teams node'uyla tamamen aynıdır. Zaten bir Teams bağlantısı oluşturduysanız, aynı Azure App Registration bilgilerini Outlook Calendar için de kullanabilirsiniz.
Azure App Registration Oluşturma
1. Yeni uygulama kaydetme
- portal.azure.com adresine giriş yapın.
- Arama çubuğuna
App registrationsyazıp ilgili servise gidin. - + New registration butonuna tıklayın.
- Uygulamaya bir isim verin (örn.
SkyStudio). - Accounts in this organizational directory only (Single tenant) seçin.
- Register butonuna tıklayın.
2. Client ID ve Tenant ID kopyalama
Uygulama oluşturulduktan sonra Overview sayfasında:
- Application (client) ID → Client ID'niz
- Directory (tenant) ID → Tenant ID'niz
Her ikisini kopyalayın. Bu bilgilere sonradan tekrar erişilebilir.
3. Client Secret oluşturma
- Sol menüden Certificates & secrets bölümüne gidin.
- + New client secret butonuna tıklayın.
- Bir Description ve Expiration Date ekleyin, Add butonuna tıklayın.
- Oluşturulan secret'ın Value alanını hemen kopyalayın.
Kritik Not: Client Secret değeri yalnızca oluşturulduğu anda görüntülenir. Sayfayı kapattıktan sonra bir daha tam değerine ulaşamazsınız.
4. API İzinleri ekleme
- Sol menüden API permissions bölümüne gidin.
- + Add a permission → Microsoft Graph → Application permissions seçin.
- Outlook Calendar için gerekli izinleri ekleyin:
| İzin | Açıklama |
|---|---|
Calendars.Read | Takvim etkinliklerini okumak için |
Calendars.ReadWrite | Etkinlik oluşturmak, güncellemek ve silmek için |
User.Read.All | Müsaitlik kontrolü için kullanıcı bilgilerine erişmek |
- Grant admin consent butonuna tıklayarak izinleri onaylayın.
SkyStudio'ya Bağlantı Ekleme
- SkyStudio'nun sol menüsünden Uygulama Bağlantıları bölümüne gidin.
- Yeni Bağlantı Ekle butonuna tıklayın.
- Sağlayıcı olarak Outlook Takvimi seçin.
- Aşağıdaki alanları doldurun:
| Alan | Açıklama |
|---|---|
| Bağlantı Adı | Tanımlayıcı bir isim (örn. Şirket Outlook Takvimi) |
| Tenant ID | Azure'dan kopyaladığınız Directory (tenant) ID |
| Client ID | Azure'dan kopyaladığınız Application (client) ID |
| Client Secret | Azure'dan kopyaladığınız secret değeri |
| User Email | Takvim işlemlerini adına gerçekleştirilecek kullanıcının e-postası |
- Kaydet butonuna tıklayın.
Bağlantıyı Node'a Atama
Outlook Calendar node'unu canvas'a ekledikten sonra sağ paneldeki Uygulama Bağlantıları açılır menüsünden kaydettiğiniz bağlantıyı seçin.
Operasyonlar
Outlook Calendar node'u 10 operasyon sunmaktadır:
| Operasyon | Kategori | Açıklama |
|---|---|---|
| Etkinlikleri Getir | Öne Çıkan | Takvimden etkinlikleri filtreli olarak getirir |
| Bugünün Etkinlikleri | Öne Çıkan | Bugünkü etkinlikleri listeler |
| Yaklaşan Etkinlikler | Öne Çıkan | Belirli gün sayısı içindeki etkinlikleri listeler |
| Müsaitlik Kontrolü | Öne Çıkan | Kullanıcıların belirli zaman dilimindeki müsaitliğini kontrol eder |
| Outlook Takvim AI Asistan | Öne Çıkan | Doğal dil sorgusuyla takvim verilerini sorgular |
| Takvimleri Listele | Standart | Hesaptaki tüm takvimleri listeler |
| Etkinlik Getir | Standart | Belirli bir etkinliğin detaylarını getirir |
| Etkinlik Oluştur | Standart | Yeni bir takvim etkinliği oluşturur |
| Etkinlik Güncelle | Standart | Mevcut bir etkinliği günceller |
| Etkinlik Sil | Standart | Belirli bir etkinliği siler |
Etkinlikleri Getir
Takvimden etkinlikleri tarih aralığı ve arama filtresiyle getirir.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Outlook Calendar bağlantısı |
| Calendar ID | Hayır | Etkinliklerin getirileceği takvimin ID'si (boş bırakılırsa birincil takvim kullanılır) |
| Start Date | Hayır | Başlangıç tarihi (YYYY-MM-DDTHH:MM:SS formatında) |
| End Date | Hayır | Bitiş tarihi (YYYY-MM-DDTHH:MM:SS formatında) |
| Search Query | Hayır | Etkinlik başlığında arama için anahtar kelime |
| Max Results | Hayır | Döndürülecek maksimum etkinlik sayısı |
| Order By | Hayır | Sıralama kriteri (açılır menüden seçilir) |
Bugünün Etkinlikleri
Bağlı hesabın bugünkü takvim etkinliklerini döndürür.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Outlook Calendar bağlantısı |
| Calendar ID | Hayır | Etkinliklerin getirileceği takvim ID'si (boş = birincil takvim) |
Yaklaşan Etkinlikler
Belirtilen gün sayısı içindeki gelecek etkinlikleri listeler.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Outlook Calendar bağlantısı |
| Calendar ID | Hayır | Takvim ID'si (boş = birincil takvim) |
| Days Ahead | Hayır | Kaç gün ilerisi için etkinlikler getirileceği (örn. 7) |
| Max Results | Hayır | Döndürülecek maksimum etkinlik sayısı |
Müsaitlik Kontrolü
Belirtilen kullanıcıların belirli bir zaman dilimindeki müsaitliğini sorgular. Randevu ve toplantı planlama workflow'larında kullanılır.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Outlook Calendar bağlantısı |
| User Emails | Evet | Müsaitliği kontrol edilecek kullanıcıların e-posta adresleri (virgülle ayrılmış) |
| Start Date Time | Evet | Kontrol başlangıç zamanı (YYYY-MM-DDTHH:MM:SS) |
| End Date Time | Evet | Kontrol bitiş zamanı (YYYY-MM-DDTHH:MM:SS) |
| Timezone | Hayır | Saat dilimi (örn. Europe/Istanbul) |
Outlook Takvim AI Asistan
Doğal dil sorgusuyla Outlook takvim verilerini sorgular. Videoda da gösterildiği gibi "bu haftaki toplantılarım neler?" gibi sorularla takvim verilerine kolayca erişilebilir.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Outlook Calendar bağlantısı |
| Query | Evet | Doğal dilde takvim sorgusu |
| System Prompt | Hayır | AI asistanının davranışını özelleştiren sistem talimatı |
Kullanım Örneği
Query: "Bu haftaki toplantılarımı sıralar mısın?"
System Prompt: "Yalnızca bu haftaki etkinlikleri listele. Türkçe yanıt ver, başlık ve saatini göster."
Takvimleri Listele
Hesaptaki tüm takvimleri ve Calendar ID'lerini listeler.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Outlook Calendar bağlantısı |
Etkinlik Getir
Belirli bir etkinliğin tüm detaylarını Event ID ile getirir.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Outlook Calendar bağlantısı |
| Event ID | Evet | Detayları getirilecek etkinliğin ID'si |
Etkinlik Oluştur
Outlook takvimine yeni etkinlik ekler. İsteğe bağlı olarak Teams toplantı linki de oluşturulabilir.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Outlook Calendar bağlantısı |
| Calendar ID | Hayır | Etkinliğin oluşturulacağı takvim (boş = birincil takvim) |
| Subject | Evet | Etkinlik başlığı |
| Body | Hayır | Etkinlik açıklaması |
| Start Date Time | Evet | Başlangıç zamanı (YYYY-MM-DDTHH:MM:SS) |
| End Date Time | Evet | Bitiş zamanı (YYYY-MM-DDTHH:MM:SS) |
| Timezone | Hayır | Saat dilimi (örn. Europe/Istanbul) |
| Location | Hayır | Etkinlik konumu |
| Attendees | Hayır | Davet edilecek katılımcıların e-posta adresleri (virgülle ayrılmış) |
| Teams Meeting | Hayır | Açıksa etkinliğe otomatik Teams toplantı linki eklenir |
| All Day Event | Hayır | Açıksa tüm gün süren etkinlik olarak oluşturulur |
Etkinlik Güncelle
Mevcut bir etkinliğin bilgilerini günceller.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Outlook Calendar bağlantısı |
| Event ID | Evet | Güncellenecek etkinliğin ID'si |
| Subject | Hayır | Yeni etkinlik başlığı |
| Body | Hayır | Yeni açıklama |
| Start Date Time | Hayır | Yeni başlangıç zamanı (YYYY-MM-DDTHH:MM:SS) |
| End Date Time | Hayır | Yeni bitiş zamanı (YYYY-MM-DDTHH:MM:SS) |
| Timezone | Hayır | Saat dilimi |
| Location | Hayır | Yeni konum |
| Attendees | Hayır | Güncellenmiş katılımcı listesi |
Etkinlik Sil
Belirtilen etkinliği takvimden siler.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak Outlook Calendar bağlantısı |
| Event ID | Evet | Silinecek etkinliğin ID'si |
Hızlı Başlangıç Örnekleri
Örnek 1: Günlük Takvim Özeti
Her sabah o günkü toplantıları özetleyip Teams'e gönderen workflow:
Schedule (Her sabah 08:00) → Bugünün Etkinlikleri → LLM (özetle) → Kanala Mesaj Gönder (Teams)
Bugünün Etkinlikleri ayarları:
- Calendar ID: (boş — birincil takvim)
Örnek 2: Otomatik Toplantı Planlama
Form doldurulduğunda müsaitlik kontrolü yapıp uygun saatte toplantı oluşturan workflow:
Form Builder → Müsaitlik Kontrolü → LLM (uygun saat seç) → Etkinlik Oluştur
Müsaitlik Kontrolü ayarları:
- User Emails:
{{form.email}}, yonetici@sirket.com - Start Date Time:
{{form.tarih}}T09:00:00 - End Date Time:
{{form.tarih}}T18:00:00 - Timezone:
Europe/Istanbul
Etkinlik Oluştur ayarları:
- Subject:
Görüşme: {{form.konu}} - Start Date Time:
{{llm.uygun_saat}} - Attendees:
{{form.email}} - Teams Meeting: Açık
Örnek 3: Takvim AI Chatbot
Kullanıcının doğal dilde sorduğu takvim sorularını yanıtlayan chatbot:
Metin Girişi → Outlook Takvim AI Asistan → Metin Çıktısı
Outlook Takvim AI Asistan ayarları:
- Query:
{{input.text}} - System Prompt:
"Sen kullanıcının takvim asistanısın. Etkinlik bilgilerini Türkçe ve özet şekilde ver."
Örnek 4: Geçen Haftanın Toplantı Raporu
Geçen haftaki toplantıları çekip haftalık rapor oluşturan workflow:
Schedule (Her Pazartesi) → Etkinlikleri Getir → LLM (rapor oluştur) → Mail Gönder (Outlook)
Etkinlikleri Getir ayarları:
- Start Date:
{{gecen_hafta_baslangic}} - End Date:
{{gecen_hafta_bitis}} - Max Results:
50 - Order By:
start
Sık Karşılaşılan Hatalar
| Hata | Olası Neden | Çözüm |
|---|---|---|
401 Unauthorized | Client Secret süresi dolmuş | Azure Portal'dan yeni Client Secret oluşturun |
403 Forbidden | Calendars.ReadWrite izni verilmemiş | Azure → API Permissions'dan gerekli izni ekleyip admin consent yapın |
Event not found | Geçersiz Event ID | "Etkinlikleri Getir" ile doğru Event ID'yi bulun |
Invalid datetime format | Tarih formatı hatalı | YYYY-MM-DDTHH:MM:SS formatını kullandığınızdan emin olun (örn. 2024-06-01T10:00:00) |
| Boş etkinlik listesi | Calendar ID yanlış veya o tarihte etkinlik yok | Calendar ID'yi "Takvimleri Listele" ile doğrulayın |
Notlar
- Calendar ID alanı boş bırakıldığında tüm operasyonlar otomatik olarak birincil takvim üzerinde çalışır.
- Etkinlik Oluştur operasyonunda Teams Meeting açıkken bir Teams toplantı bağlantısı otomatik oluşturulur; bu özelliğin çalışması için Azure App Registration'ın
OnlineMeetings.ReadWrite.Alliznine de sahip olması gerekir. - Tarih/saat alanlarına
YYYY-MM-DDTHH:MM:SSformatında değer girilir (örn.2024-06-01T10:00:00). Timezone ayrı bir alan olarak girilir. - Müsaitlik Kontrolü operasyonu, birden fazla kullanıcının müsaitliğini aynı anda kontrol edebilir. E-posta adreslerini virgülle ayırarak girebilirsiniz.
- Azure App Registration'ın Client Secret süresi dolduğunda bağlantı çalışmayı durdurur. Süresi dolmadan önce yeni secret oluşturup SkyStudio bağlantısını güncellemeniz önerilir.