Ana içeriğe geç

Microsoft Teams Node

Microsoft Teams node'u, SkyStudio workflow'larında Microsoft Teams çalışma alanınızla entegrasyon sağlar. Kanal mesajları okuyabilir ve gönderebilir, toplantı oluşturabilir, dosya paylaşabilir ve AI destekli sorgular çalıştırabilirsiniz. Bağlantı için Azure üzerinde bir App Registration oluşturulması gerekir.


Bağlantı Kurulumu ve Yönetimi

Teams node'unu kullanabilmek için Azure Portal'da bir App Registration oluşturmanız, gerekli izinleri (Graph API permissions) tanımlamanız ve elde ettiğiniz Tenant ID, Client ID ve Client Secret bilgilerini SkyStudio'ya girmeniz gerekir.

🎬 Videoyu izlemek için tıklayın → []

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 App registrations servisine gidin.
  3. + New registration butonuna tıklayın.
  4. Uygulamaya bir isim verin (örn. SkyStudio).
  5. Supported account types olarak 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 açılan Overview sayfasında şu bilgiler görünür:

  • Application (client) ID → bu sizin Client ID'niz
  • Directory (tenant) ID → bu sizin Tenant ID'niz

Her ikisini de kopyalayıp bir yere kaydedin. Bu bilgilere daha sonra tekrar erişilebilir.

3. Client Secret oluşturma

  1. Sol menüden Certificates & secrets bölümüne gidin.
  2. Client secrets sekmesinde + New client secret butonuna tıklayın.
  3. Bir Description (açıklama) girin ve Expiration (geçerlilik süresi) seçin.
  4. Add butonuna tıklayın.
  5. Oluşturulan secret'ın Value sütunundaki değeri 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. Kopyalamayı unutursanız secret'ı silip yeniden oluşturmanız gerekir.

4. API İzinleri (Permissions) ekleme

  1. Sol menüden API permissions bölümüne gidin.
  2. + Add a permission butonuna tıklayın.
  3. Microsoft Graph seçin.
  4. Application permissions sekmesini seçin.
  5. Teams node'u için gerekli izinleri arayıp ekleyin:
İzinAçıklama
Team.ReadBasic.AllTeam listesini okumak için
Channel.ReadBasic.AllKanal listesini okumak için
ChannelMessage.Read.AllKanal mesajlarını okumak için
ChannelMessage.SendKanala mesaj göndermek için
Chat.ReadWrite.AllChat mesajları okumak ve göndermek için
OnlineMeetings.ReadWrite.AllToplantı oluşturmak ve kayıtlarına erişmek için
Files.ReadWrite.AllDosya göndermek için
User.Read.AllKullanıcı bilgilerini okumak için
  1. İzinleri ekledikten sonra Grant admin consent butonuna tıklayarak izinleri onaylayın.

Not: Admin consent için Microsoft 365 yönetici hesabına ihtiyacınız vardır. Yetkili değilseniz IT departmanınızdan yardım alı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 Microsoft Teams seçin.
  4. Aşağıdaki alanları doldurun:
AlanAçıklama
Bağlantı AdıTanımlayıcı bir isim (örn. Şirket Teams)
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 Email (işlem yapan kullanıcı)Workflow'u adına çalıştıracak kullanıcının e-posta adresi
  1. Kaydet butonuna tıklayın.

Bağlantıyı Node'a Atama

Microsoft Teams 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

Microsoft Teams node'u 12 operasyon sunmaktadır:

OperasyonKategoriAçıklama
Kanalları ListeleÖne ÇıkanBir team'deki kanalları listeler
Kanal Mesajlarını OkuÖne ÇıkanBelirli bir kanalın mesaj geçmişini getirir
Kanala Mesaj GönderÖne ÇıkanBelirli bir kanala mesaj gönderir
Chat Mesajı GönderÖne ÇıkanBelirli bir chat'e mesaj gönderir
Toplantı OluşturÖne ÇıkanYeni bir Teams toplantısı oluşturur
Teams AI AsistanÖne ÇıkanDoğal dil sorgusuyla Teams verilerini sorgular
Team'leri ListeleStandartOrganizasyondaki tüm team'leri listeler
Chat'leri ListeleStandartKullanıcının chat'lerini listeler
Kullanıcı BilgisiStandartBelirli bir kullanıcının bilgilerini getirir
Kullanıcıları ListeleStandartOrganizasyondaki kullanıcıları listeler
Dosya GönderStandartBir kanala dosya gönderir
Toplantı KayıtlarıStandartBir toplantının kayıtlarını getirir

Kanalları Listele

Belirtilen team'deki tüm kanalları döndürür. Kanal ID'lerini keşfetmek için kullanılır.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Teams bağlantısı
Team IDEvetKanalları listelenecek team'in ID'si

Kanal Mesajlarını Oku

Belirtilen kanalın mesaj geçmişini döndürür.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Teams bağlantısı
Team IDEvetMesajları okunacak kanalın bağlı olduğu team'in ID'si
Channel IDEvetMesajları okunacak kanalın ID'si
LimitHayırDöndürülecek maksimum mesaj sayısı

Kanala Mesaj Gönder

Belirtilen Teams kanalına mesaj gönderir. Bildirim ve rapor paylaşımı workflow'larında kullanılır.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Teams bağlantısı
Team IDEvetHedef kanalın bağlı olduğu team'in ID'si
Channel IDEvetMesaj gönderilecek kanalın ID'si
MessageEvetGönderilecek mesaj içeriği
Content TypeHayırMesaj tipi: text (düz metin) veya html (HTML içerik)

Chat Mesajı Gönder

Belirli bir Teams chat'ine (birebir veya grup chat) mesaj gönderir.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Teams bağlantısı
Chat IDEvetMesaj gönderilecek chat'in ID'si
MessageEvetGönderilecek mesaj içeriği
Content TypeHayırMesaj tipi: text veya html

Toplantı Oluştur

Yeni bir Microsoft Teams toplantısı oluşturur ve katılım bağlantısı döndürür.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Teams bağlantısı
Toplantı BaşlığıEvetToplantının adı
BaşlangıçEvetToplantı başlangıç tarihi ve saati (YYYY-MM-DDTHH:MM:SS formatında)
BitişEvetToplantı bitiş tarihi ve saati (YYYY-MM-DDTHH:MM:SS formatında)
TimezoneHayırSaat dilimi (örn. Europe/Istanbul)
KatılımcılarHayırDavet edilecek katılımcıların e-posta adresleri (virgülle ayrılmış)

Teams AI Asistan

Doğal dil sorgusuyla Teams verilerini sorgular. Video transkriptinden de görebileceğiniz gibi, örneğin son toplantının başlığını doğal dilde sorabilirsiniz.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Teams bağlantısı
QueryEvetDoğal dilde Teams sorgusu
System PromptHayırAI asistanının davranışını özelleştiren sistem talimatı

Kullanım Örneği

Query: "Son toplantımın başlığı neydi?"

System Prompt: "Yalnızca son 7 gündeki toplantıları dikkate al. Türkçe yanıt ver."


Team'leri Listele

Organizasyondaki tüm team'leri listeler. Team ID'lerini keşfetmek için kullanılır.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Teams bağlantısı

Chat'leri Listele

Kullanıcının dahil olduğu chat'leri (birebir ve grup) listeler.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Teams bağlantısı
LimitHayırDöndürülecek maksimum chat sayısı

Kullanıcı Bilgisi

Belirli bir kullanıcının (ID veya e-posta ile) Microsoft 365 profil bilgilerini döndürür.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Teams bağlantısı
User ID or EmailEvetBilgisi getirilecek kullanıcının ID'si veya e-posta adresi

Kullanıcıları Listele

Organizasyondaki kullanıcıları listeler, isimle arama yapılabilir.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Teams bağlantısı
AraHayırKullanıcı ismi veya e-posta ile arama filtresi
LimitHayırDöndürülecek maksimum kullanıcı sayısı

Dosya Gönder

Bir Teams kanalına dosya gönderir. Dosya içeriği base64 veya düz metin olarak sağlanabilir.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Teams bağlantısı
Team IDEvetHedef kanalın bağlı olduğu team'in ID'si
Channel IDEvetDosyanın gönderileceği kanalın ID'si
Dosya AdıEvetDosyanın adı ve uzantısı (örn. rapor.pdf)
İçerik (base64 veya text)EvetDosya içeriği; binary dosyalar için base64, metin dosyaları için düz metin

Toplantı Kayıtları

Belirli bir toplantının kayıt bilgilerini ve erişim bağlantılarını döndürür.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak Teams bağlantısı
Meeting IDEvetKayıtları getirilecek toplantının ID'si

Hızlı Başlangıç Örnekleri

Örnek 1: Günlük Özet Bildirimi

Her sabah belirli bir kanala günlük özet mesajı gönderen workflow:

Schedule (Her gün 09:00) → HubSpot (Fırsatları Getir) → LLM (özetle) → Kanala Mesaj Gönder

Kanala Mesaj Gönder ayarları:

  • Team ID: {satis-team-id}
  • Channel ID: {genel-kanal-id}
  • Message: {{llm.output}}
  • Content Type: html

Örnek 2: Otomatik Toplantı Planlama

Form doldurulduğunda otomatik Teams toplantısı oluşturan workflow:

Form Builder → Toplantı Oluştur → Kanala Mesaj Gönder (toplantı linki)

Toplantı Oluştur ayarları:

  • Toplantı Başlığı: {{form.konu}} - Görüşme
  • Başlangıç: {{form.tarih}}T{{form.saat}}:00
  • Bitiş: {{form.bitis_saati}}
  • Timezone: Europe/Istanbul
  • Katılımcılar: {{form.email}}

Örnek 3: Teams AI ile Toplantı Sorgulama

Kullanıcının doğal dilde sorduğu toplantı sorularını yanıtlayan chatbot:

Metin Girişi → Teams AI Asistan → Metin Çıktısı

Teams AI Asistan ayarları:

  • Query: {{input.text}}
  • System Prompt: "Sen şirketin toplantı asistanısın. Yalnızca Teams verilerini kullan. Türkçe yanıt ver."

Örnek 4: Dosya Raporu Paylaşımı

Oluşturulan raporu Teams kanalına otomatik gönderen workflow:

Schedule → Veri Çek → Artifact (rapor oluştur) → Dosya Gönder

Dosya Gönder ayarları:

  • Team ID: {rapor-team-id}
  • Channel ID: {raporlar-kanal-id}
  • Dosya Adı: haftalik-rapor-{{tarih}}.html
  • İçerik (base64 veya text): {{artifact.output}}

Sık Karşılaşılan Hatalar

HataOlası NedenÇözüm
401 UnauthorizedClient Secret süresi dolmuş veya yanlışAzure Portal'dan yeni bir Client Secret oluşturun ve SkyStudio bağlantısını güncelleyin
403 ForbiddenGerekli API izni verilmemişAzure Portal → App Registration → API Permissions'dan eksik izni ekleyin ve Grant admin consent yapın
Team/Channel bulunamadıTeam ID veya Channel ID hatalı"Team'leri Listele" ve "Kanalları Listele" operasyonlarıyla doğru ID'leri bulun
Tenant ID hatasıYanlış Tenant ID girilmişAzure Portal → App Registration → Overview sayfasından Directory (tenant) ID'yi kontrol edin
AADSTS700016Client ID bulunamıyorApplication (client) ID'nin doğru kopyalandığını kontrol edin

Notlar

  • Client Secret'ın varsayılan geçerlilik süresi Azure'da 6 ay veya 1 yıldır. Süresi dolduğunda Azure'da yeni bir secret oluşturup SkyStudio bağlantısını güncellemeniz gerekir.
  • User Email (işlem yapan kullanıcı) alanına girilen hesabın Teams'e erişimi olmalı ve organizasyonun bir üyesi olmalıdır.
  • API izinleri için Admin consent gereklidir; bu işlemi yalnızca Microsoft 365 Global Admin veya Application Admin rolüne sahip kullanıcılar yapabilir.
  • Dosya Gönder operasyonunda büyük dosyalar için içeriği base64 formatına çevirmeniz gerekebilir; bunu önceki bir node'da (örn. LLM veya Transform) yapabilirsiniz.
  • Teams AI Asistan operasyonu, bağlı hesabın erişebildiği tüm Teams verilerini sorgulayabilir.