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
- 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
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.
- SharePoint için gerekli izinleri ekleyin:
| İzin | Açıklama |
|---|---|
Sites.Read.All | SharePoint sitelerini ve listelerini okumak için |
Sites.ReadWrite.All | Liste öğesi oluşturmak, güncellemek ve dosya yüklemek için |
Files.Read.All | Dosyaları okumak ve indirmek için |
Files.ReadWrite.All | Dosya yüklemek için |
- 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 SharePoint seçin.
- Aşağıdaki alanları doldurun:
| Alan | Açıklama |
|---|---|
| Bağlantı Adı | Tanımlayıcı bir isim (örn. Şirket SharePoint) |
| 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 |
| Site URL | SharePoint sitenizin tam URL'si (örn. https://yourcompany.sharepoint.com/sites/mysite) |
- 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:
| Operasyon | Kategori | Açıklama |
|---|---|---|
| Liste Öğelerini Getir | Öne Çıkan | SharePoint listesindeki öğeleri filtreli olarak getirir |
| Dosyaları Listele | Öne Çıkan | Belirli bir kütüphane veya klasördeki dosyaları listeler |
| Ara | Öne Çıkan | Site genelinde içerik arar |
| SharePoint AI Asistan | Öne Çıkan | Doğal dil sorgusuyla SharePoint verilerini sorgular |
| Siteleri Listele | Standart | Organizasyondaki SharePoint sitelerini listeler |
| Liste Öğesi Getir | Standart | Belirli bir liste öğesinin detaylarını getirir |
| Liste Öğesi Oluştur | Standart | Bir listeye yeni öğe ekler |
| Liste Öğesi Güncelle | Standart | Mevcut bir liste öğesini günceller |
| Dosya İndir / Oku | Standart | Bir dosyayı indirir veya içeriğini okur |
| Dosya Yükle | Standart | Bir kütüphaneye dosya yükler |
| Sayfa İçeriğini Oku | Standart | Bir 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
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak SharePoint bağlantısı |
| List Name | Evet | Sorgulanacak listenin adı (örn. Tasks, Projeler) |
| Filter (OData) | Hayır | OData filtre ifadesi (örn. Status eq 'Active') |
| Select Fields | Hayır | Döndürülecek alan adları (virgülle ayrılmış, örn. Title,Status,AssignedTo) |
| Order By | Hayır | Sıralama alanı (örn. Created desc) |
| Limit | Hayır | Döndürülecek maksimum öğe sayısı |
| Get All (Auto Paginate) | Hayır | Açıksa tüm sayfalardaki öğeleri otomatik getirir |
OData Filtre Örnekleri
| Filtre | Açı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
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak SharePoint bağlantısı |
| Library Name | Evet | Belge kütüphanesinin adı (örn. Documents, Belgeler) |
| Folder Path | Hayır | Alt klasör yolu (örn. 2024/Raporlar). Boş bırakılırsa kütüphanenin kök dizini listelenir |
| Limit | Hayır | Dö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
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak SharePoint bağlantısı |
| Search Query | Evet | Aranacak anahtar kelime veya ifade |
| Search In | Hayır | Aramanın yapılacağı kapsam (açılır menüden seçilir) |
| Limit | Hayır | Dö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
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak SharePoint bağlantısı |
| Query | Evet | Doğal dilde SharePoint sorgusu |
| System Prompt | Hayır | AI 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
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak SharePoint bağlantısı |
| Search Query | Hayır | Site adına göre arama filtresi |
Liste Öğesi Getir
Belirli bir liste öğesinin tüm detaylarını Item ID ile getirir.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak SharePoint bağlantısı |
| List Name | Evet | Listenin adı |
| Item ID | Evet | Getirilecek öğenin sayısal ID'si |
| Select Fields | Hayır | Döndürülecek alan adları (virgülle ayrılmış) |
Liste Öğesi Oluştur
Belirtilen SharePoint listesine yeni bir öğe ekler.
Parametreler
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak SharePoint bağlantısı |
| List Name | Evet | Öğenin ekleneceği listenin adı |
| Fields (JSON) | Evet | Oluş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
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak SharePoint bağlantısı |
| List Name | Evet | Listenin adı |
| Item ID | Evet | Güncellenecek öğenin ID'si |
| Fields (JSON) | Evet | Gü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
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak SharePoint bağlantısı |
| Item ID (preferred) | Hayır | Dosyanın SharePoint Item ID'si (öncelikli yöntem) |
| File Path (fallback) | Hayır | Dosyanın kütüphane içindeki göreli yolu (örn. Documents/rapor.pdf) |
| After Download | Hayı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
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak SharePoint bağlantısı |
| Library Name | Evet | Dosyanın yükleneceği kütüphanenin adı (örn. Documents) |
| Folder Path | Hayır | Yükleneceği alt klasör yolu (örn. 2024/Raporlar) |
| File Name | Evet | Dosya adı ve uzantısı (örn. haftalik-rapor.pdf) |
| Content (base64 or text) | Evet | Dosya 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
| Parametre | Zorunlu | Açıklama |
|---|---|---|
| Connection | Evet | Kullanılacak SharePoint bağlantısı |
| Page Path | Evet | Sayfanı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
| Hata | Olası Neden | Çözüm |
|---|---|---|
401 Unauthorized | Client Secret süresi dolmuş | Azure Portal'dan yeni Client Secret oluşturun |
403 Forbidden | Sites.ReadWrite.All izni eksik | Azure → API Permissions'dan gerekli izni ekleyip admin consent yapın |
List not found | Hatalı List Name | SharePoint'te listenin tam adını kontrol edin (büyük/küçük harfe duyarlıdır) |
Item not found | Geçersiz Item ID | "Liste Öğelerini Getir" ile doğru Item ID'yi bulun |
Site URL hatası | Site URL yanlış veya erişilemiyor | Bağ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 yok | OData 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.
DocumentsveyaBelgeler). - 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 IDyoksaFile 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.