Ana içeriğe geç

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

  1. portal.azure.com adresine giriş yapın.
  2. Arama çubuğuna App registrations yazıp ilgili servise gidin.
  3. + New registration butonuna tıklayın.
  4. Uygulamaya bir isim verin (örn. SkyStudio).
  5. Accounts in this organizational directory only (Single tenant) seçin.
  6. 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

  1. Sol menüden Certificates & secrets bölümüne gidin.
  2. + New client secret butonuna tıklayın.
  3. Bir Description ve Expiration Date ekleyin, Add butonuna tıklayın.
  4. 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

  1. Sol menüden API permissions bölümüne gidin.
  2. + Add a permission → Microsoft Graph → Application permissions seçin.
  3. Outlook Calendar için gerekli izinleri ekleyin:
İzinAçıklama
Calendars.ReadTakvim etkinliklerini okumak için
Calendars.ReadWriteEtkinlik oluşturmak, güncellemek ve silmek için
User.Read.AllMüsaitlik kontrolü için kullanıcı bilgilerine erişmek
  1. Grant admin consent butonuna tıklayarak izinleri onaylayın.

SkyStudio'ya Bağlantı Ekleme

  1. SkyStudio'nun sol menüsünden Uygulama Bağlantıları bölümüne gidin.
  2. Yeni Bağlantı Ekle butonuna tıklayın.
  3. Sağlayıcı olarak Outlook Takvimi seçin.
  4. Aşağıdaki alanları doldurun:
AlanAçıklama
Bağlantı AdıTanımlayıcı bir isim (örn. Şirket Outlook Takvimi)
Tenant IDAzure'dan kopyaladığınız Directory (tenant) ID
Client IDAzure'dan kopyaladığınız Application (client) ID
Client SecretAzure'dan kopyaladığınız secret değeri
User EmailTakvim işlemlerini adına gerçekleştirilecek kullanıcının e-postası
  1. 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:

OperasyonKategoriAçıklama
Etkinlikleri GetirÖne ÇıkanTakvimden etkinlikleri filtreli olarak getirir
Bugünün EtkinlikleriÖne ÇıkanBugünkü etkinlikleri listeler
Yaklaşan EtkinliklerÖne ÇıkanBelirli gün sayısı içindeki etkinlikleri listeler
Müsaitlik KontrolüÖne ÇıkanKullanıcıların belirli zaman dilimindeki müsaitliğini kontrol eder
Outlook Takvim AI AsistanÖne ÇıkanDoğal dil sorgusuyla takvim verilerini sorgular
Takvimleri ListeleStandartHesaptaki tüm takvimleri listeler
Etkinlik GetirStandartBelirli bir etkinliğin detaylarını getirir
Etkinlik OluşturStandartYeni bir takvim etkinliği oluşturur
Etkinlik GüncelleStandartMevcut bir etkinliği günceller
Etkinlik SilStandartBelirli bir etkinliği siler

Etkinlikleri Getir

Takvimden etkinlikleri tarih aralığı ve arama filtresiyle getirir.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Outlook Calendar bağlantısı
Calendar IDHayırEtkinliklerin getirileceği takvimin ID'si (boş bırakılırsa birincil takvim kullanılır)
Start DateHayırBaşlangıç tarihi (YYYY-MM-DDTHH:MM:SS formatında)
End DateHayırBitiş tarihi (YYYY-MM-DDTHH:MM:SS formatında)
Search QueryHayırEtkinlik başlığında arama için anahtar kelime
Max ResultsHayırDöndürülecek maksimum etkinlik sayısı
Order ByHayırSı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

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Outlook Calendar bağlantısı
Calendar IDHayırEtkinliklerin getirileceği takvim ID'si (boş = birincil takvim)

Yaklaşan Etkinlikler

Belirtilen gün sayısı içindeki gelecek etkinlikleri listeler.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Outlook Calendar bağlantısı
Calendar IDHayırTakvim ID'si (boş = birincil takvim)
Days AheadHayırKaç gün ilerisi için etkinlikler getirileceği (örn. 7)
Max ResultsHayırDö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

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Outlook Calendar bağlantısı
User EmailsEvetMüsaitliği kontrol edilecek kullanıcıların e-posta adresleri (virgülle ayrılmış)
Start Date TimeEvetKontrol başlangıç zamanı (YYYY-MM-DDTHH:MM:SS)
End Date TimeEvetKontrol bitiş zamanı (YYYY-MM-DDTHH:MM:SS)
TimezoneHayırSaat 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

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Outlook Calendar bağlantısı
QueryEvetDoğal dilde takvim sorgusu
System PromptHayırAI 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

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Outlook Calendar bağlantısı

Etkinlik Getir

Belirli bir etkinliğin tüm detaylarını Event ID ile getirir.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Outlook Calendar bağlantısı
Event IDEvetDetayları 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

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Outlook Calendar bağlantısı
Calendar IDHayırEtkinliğin oluşturulacağı takvim (boş = birincil takvim)
SubjectEvetEtkinlik başlığı
BodyHayırEtkinlik açıklaması
Start Date TimeEvetBaşlangıç zamanı (YYYY-MM-DDTHH:MM:SS)
End Date TimeEvetBitiş zamanı (YYYY-MM-DDTHH:MM:SS)
TimezoneHayırSaat dilimi (örn. Europe/Istanbul)
LocationHayırEtkinlik konumu
AttendeesHayırDavet edilecek katılımcıların e-posta adresleri (virgülle ayrılmış)
Teams MeetingHayırAçıksa etkinliğe otomatik Teams toplantı linki eklenir
All Day EventHayırAçıksa tüm gün süren etkinlik olarak oluşturulur

Etkinlik Güncelle

Mevcut bir etkinliğin bilgilerini günceller.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Outlook Calendar bağlantısı
Event IDEvetGüncellenecek etkinliğin ID'si
SubjectHayırYeni etkinlik başlığı
BodyHayırYeni açıklama
Start Date TimeHayırYeni başlangıç zamanı (YYYY-MM-DDTHH:MM:SS)
End Date TimeHayırYeni bitiş zamanı (YYYY-MM-DDTHH:MM:SS)
TimezoneHayırSaat dilimi
LocationHayırYeni konum
AttendeesHayırGüncellenmiş katılımcı listesi

Etkinlik Sil

Belirtilen etkinliği takvimden siler.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Outlook Calendar bağlantısı
Event IDEvetSilinecek 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

HataOlası NedenÇözüm
401 UnauthorizedClient Secret süresi dolmuşAzure Portal'dan yeni Client Secret oluşturun
403 ForbiddenCalendars.ReadWrite izni verilmemişAzure → API Permissions'dan gerekli izni ekleyip admin consent yapın
Event not foundGeçersiz Event ID"Etkinlikleri Getir" ile doğru Event ID'yi bulun
Invalid datetime formatTarih formatı hatalıYYYY-MM-DDTHH:MM:SS formatını kullandığınızdan emin olun (örn. 2024-06-01T10:00:00)
Boş etkinlik listesiCalendar ID yanlış veya o tarihte etkinlik yokCalendar 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.All iznine de sahip olması gerekir.
  • Tarih/saat alanlarına YYYY-MM-DDTHH:MM:SS formatı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.