Ana içeriğe geç

SharePoint Node

SharePoint Node Dokümantasyonu

SharePoint node'u, SkyStudio workflow'larında Microsoft SharePoint sitenizdeki liste verilerine, dosyalara ve sayfalara erişmenizi sağlar. Liste öğelerini okuyabilir, oluşturabilir, güncelleyebilir; dosya yükleyip indirebilir ve AI destekli içerik sorguları çalıştırabilirsiniz. Bağlantı için Azure App Registration kullanılır.


Bağlantı Kurulumu ve Yönetimi

SharePoint node'unu kullanabilmek için Azure Portal'da bir App Registration oluşturmanız ve elde ettiğiniz Tenant ID, Client ID, Client Secret bilgilerini SharePoint Site URL'inizle birlikte SkyStudio'ya girmeniz gerekir.

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

Not: Bu node'un Azure kurulum süreci Microsoft Teams ve Outlook Calendar node'larıyla tamamen aynıdır. Zaten bu node'lardan biri için App Registration oluşturduysanız, aynı bilgileri SharePoint 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

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. SharePoint için gerekli izinleri ekleyin:
İzinAçıklama
Sites.Read.AllSharePoint sitelerini ve listelerini okumak için
Sites.ReadWrite.AllListe öğesi oluşturmak, güncellemek ve dosya yüklemek için
Files.Read.AllDosyaları okumak ve indirmek için
Files.ReadWrite.AllDosya yüklemek için
  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 SharePoint seçin.
  4. Aşağıdaki alanları doldurun:
AlanAçıklama
Bağlantı AdıTanımlayıcı bir isim (örn. Şirket SharePoint)
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
Site URLSharePoint sitenizin tam URL'si (örn. https://yourcompany.sharepoint.com/sites/mysite)
  1. Kaydet butonuna tıklayın.

Bağlantıyı Node'a Atama

SharePoint 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.

İpucu: Farklı SharePoint siteleri için ayrı bağlantılar tanımlayabilirsiniz. Her bağlantıda aynı Tenant/Client bilgilerini kullanıp yalnızca Site URL'yi değiştirmeniz yeterlidir.


Operasyonlar

SharePoint node'u 11 operasyon sunmaktadır:

OperasyonKategoriAçıklama
Liste Öğelerini GetirÖne ÇıkanSharePoint listesindeki öğeleri filtreli olarak getirir
Dosyaları ListeleÖne ÇıkanBelirli bir kütüphane veya klasördeki dosyaları listeler
AraÖne ÇıkanSite genelinde içerik arar
SharePoint AI AsistanÖne ÇıkanDoğal dil sorgusuyla SharePoint verilerini sorgular
Siteleri ListeleStandartOrganizasyondaki SharePoint sitelerini listeler
Liste Öğesi GetirStandartBelirli bir liste öğesinin detaylarını getirir
Liste Öğesi OluşturStandartBir listeye yeni öğe ekler
Liste Öğesi GüncelleStandartMevcut bir liste öğesini günceller
Dosya İndir / OkuStandartBir dosyayı indirir veya içeriğini okur
Dosya YükleStandartBir kütüphaneye dosya yükler
Sayfa İçeriğini OkuStandartBir SharePoint sayfasının içeriğini okur

Liste Öğelerini Getir

SharePoint listesindeki öğeleri OData filtresiyle sorgular. Proje takibi, görev yönetimi veya veri raporlama workflow'larında kullanılır.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak SharePoint bağlantısı
List NameEvetSorgulanacak listenin adı (örn. Tasks, Projeler)
Filter (OData)HayırOData filtre ifadesi (örn. Status eq 'Active')
Select FieldsHayırDöndürülecek alan adları (virgülle ayrılmış, örn. Title,Status,AssignedTo)
Order ByHayırSıralama alanı (örn. Created desc)
LimitHayırDöndürülecek maksimum öğe sayısı
Get All (Auto Paginate)HayırAçıksa tüm sayfalardaki öğeleri otomatik getirir

OData Filtre Örnekleri

FiltreAçıklama
Status eq 'Tamamlandı'Status alanı "Tamamlandı" olanlar
Priority eq 'Yüksek'Önceliği yüksek olanlar
Created ge '2024-01-01T00:00:00Z'2024'ten sonra oluşturulanlar
contains(Title, 'proje')Başlığında "proje" geçenler

Dosyaları Listele

Belirli bir belge kütüphanesi veya klasördeki dosyaları listeler.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak SharePoint bağlantısı
Library NameEvetBelge kütüphanesinin adı (örn. Documents, Belgeler)
Folder PathHayırAlt klasör yolu (örn. 2024/Raporlar). Boş bırakılırsa kütüphanenin kök dizini listelenir
LimitHayırDöndürülecek maksimum dosya sayısı

Ara

SharePoint sitesinde anahtar kelimeyle içerik arar. Liste öğeleri, dosyalar ve sayfalar dahil tüm içerikte arama yapılabilir.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak SharePoint bağlantısı
Search QueryEvetAranacak anahtar kelime veya ifade
Search InHayırAramanın yapılacağı kapsam (açılır menüden seçilir)
LimitHayırDöndürülecek maksimum sonuç sayısı

SharePoint AI Asistan

Doğal dil sorgusuyla SharePoint içeriklerini sorgular. Videoda da gösterildiği gibi "klasör isimlerini getir" gibi doğal dilde sorgular yazabilirsiniz.

Parametreler

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

Kullanım Örneği

Query: "Belgeler kütüphanesindeki bu ayki yüklenen dosyalar hangileri?"

System Prompt: "Yalnızca son 30 gün içinde oluşturulan içerikleri göster. Türkçe yanıt ver."


Siteleri Listele

Organizasyondaki SharePoint sitelerini arama sorgusuna göre listeler. Site URL'lerini keşfetmek için kullanılır.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak SharePoint bağlantısı
Search QueryHayırSite adına göre arama filtresi

Liste Öğesi Getir

Belirli bir liste öğesinin tüm detaylarını Item ID ile getirir.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak SharePoint bağlantısı
List NameEvetListenin adı
Item IDEvetGetirilecek öğenin sayısal ID'si
Select FieldsHayırDöndürülecek alan adları (virgülle ayrılmış)

Liste Öğesi Oluştur

Belirtilen SharePoint listesine yeni bir öğe ekler.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak SharePoint bağlantısı
List NameEvetÖğenin ekleneceği listenin adı
Fields (JSON)EvetOluşturulacak öğenin alanları JSON formatında

Fields (JSON) Örneği

{
"Title": "Yeni Proje Görevi",
"Status": "Başlanmadı",
"Priority": "Yüksek",
"AssignedTo": "ahmet@sirket.com"
}

Liste Öğesi Güncelle

Mevcut bir liste öğesinin alanlarını günceller.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak SharePoint bağlantısı
List NameEvetListenin adı
Item IDEvetGüncellenecek öğenin ID'si
Fields (JSON)EvetGüncellenecek alanlar JSON formatında (yalnızca değiştirilecek alanları giriniz)

Dosya İndir / Oku

SharePoint'teki bir dosyayı indirir veya içeriğini metin olarak okur. AI ile içerik analizi senaryolarında kullanılır.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak SharePoint bağlantısı
Item ID (preferred)HayırDosyanın SharePoint Item ID'si (öncelikli yöntem)
File Path (fallback)HayırDosyanın kütüphane içindeki göreli yolu (örn. Documents/rapor.pdf)
After DownloadHayırİndirme sonrası yapılacak işlem (açılır menüden seçilir)
AI Prompt (if extracting)Hayırİçerik çıkarmak için AI talimatı (örn. "Özet çıkar")

Dosya Yükle

Bir belge kütüphanesine dosya yükler.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak SharePoint bağlantısı
Library NameEvetDosyanın yükleneceği kütüphanenin adı (örn. Documents)
Folder PathHayırYükleneceği alt klasör yolu (örn. 2024/Raporlar)
File NameEvetDosya adı ve uzantısı (örn. haftalik-rapor.pdf)
Content (base64 or text)EvetDosya içeriği; binary dosyalar için base64, metin dosyaları için düz metin

Sayfa İçeriğini Oku

Belirtilen SharePoint sayfasının içeriğini okur. Bilgi tabanı ve içerik yönetimi workflow'larında kullanılır.

Parametreler

ParametreZorunluAçıklama
ConnectionEvetKullanılacak SharePoint bağlantısı
Page PathEvetSayfanın site içindeki göreli yolu (örn. /sites/mysite/SitePages/Hakkimizda.aspx)

Hızlı Başlangıç Örnekleri

Örnek 1: Görev Listesi Takibi

SharePoint'teki açık görevleri sorgulayıp Teams kanalına gönderen workflow:

Schedule (Her sabah) → Liste Öğelerini Getir → LLM (özetle) → Kanala Mesaj Gönder (Teams)

Liste Öğelerini Getir ayarları:

  • List Name: Tasks
  • Filter (OData): Status ne 'Tamamlandı'
  • Select Fields: Title,Status,Priority,AssignedTo
  • Order By: Priority desc

Örnek 2: Otomatik Rapor Arşivleme

Oluşturulan haftalık raporu SharePoint'e yükleyen workflow:

Schedule (Her Cuma) → Artifact (rapor oluştur) → Dosya Yükle

Dosya Yükle ayarları:

  • Library Name: Documents
  • Folder Path: Raporlar/2024
  • File Name: haftalik-rapor-{{tarih}}.html
  • Content (base64 or text): {{artifact.output}}

Örnek 3: SharePoint AI Chatbot

Kullanıcının SharePoint içeriğini doğal dilde sorgulamasını sağlayan chatbot:

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

SharePoint AI Asistan ayarları:

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

Örnek 4: Form → SharePoint Listesi

Doldrulan formu SharePoint listesine otomatik kaydeden workflow:

Form Builder → Liste Öğesi Oluştur

Liste Öğesi Oluştur ayarları:

  • List Name: Başvurular
  • Fields (JSON):
{
"Title": "{{form.ad_soyad}}",
"Email": "{{form.email}}",
"Departman": "{{form.departman}}",
"Tarih": "{{bugun}}"
}

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 ForbiddenSites.ReadWrite.All izni eksikAzure → API Permissions'dan gerekli izni ekleyip admin consent yapın
List not foundHatalı List NameSharePoint'te listenin tam adını kontrol edin (büyük/küçük harfe duyarlıdır)
Item not foundGeçersiz Item ID"Liste Öğelerini Getir" ile doğru Item ID'yi bulun
Site URL hatasıSite URL yanlış veya erişilemiyorBağlantıdaki Site URL'nin https://şirket.sharepoint.com/sites/siteniz formatında olduğunu doğrulayın
Boş sonuçFiltre koşuluna uyan öğe yokOData filtre ifadesini ve alan adlarını kontrol edin

Notlar

  • Site URL alanı, bağlantı sırasında bir kez girilir ve o bağlantının kullandığı tüm operasyonlar için geçerlidir. Farklı sitelere erişmek için ayrı bağlantılar tanımlayın.
  • List Name alanı büyük/küçük harfe duyarlıdır. SharePoint'te listenin tam adını kullanın (örn. Documents veya Belgeler).
  • Fields (JSON) alanına yalnızca güncellemek istediğiniz alanları girin. Diğer alanlar değişmeden kalır.
  • Dosya İndir / Oku operasyonunda Item ID yoksa File Path (göreli yol) kullanılabilir. İkisi de girilirse Item ID önceliklidir.
  • OData filtre sözdizimi için alan adlarının SharePoint iç adlarını (internal name) kullandığınızdan emin olun; görünen ad (display name) farklı olabilir.
  • Azure App Registration'ın Client Secret süresi dolduğunda bağlantı çalışmayı durdurur. Süresi dolmadan önce yenilemeniz önerilir.