İzin talepleri PDF formla mı doluyor, e-postaya ek olarak mı gidiyor, "kim onayladı belli değil" mi yaşıyorsunuz? Microsoft Power Automate + SharePoint kombinasyonu ile, kodsuz olarak, 30 dakikada profesyonel bir izin yönetim sistemi kurabilirsiniz. Bu rehberde adım adım çalışan formu → yönetici onayı → otomatik takvim entegrasyonu zincirini anlatıyoruz.
Sistem Mimarisi
- SharePoint Listesi: İzin taleplerini saklar (kim, ne zaman, kaç gün, sebep)
- Power Automate Flow 1: Yeni öğe eklenince yöneticiye onay maili
- Power Automate Flow 2: Onay sonucuna göre çalışana bildirim + İK bildirim + takvim event
Adım 1 — SharePoint Listesi Oluştur
- Şirket SharePoint sitenize gidin → "+ New" → "List"
- "Blank list" seçin, ad: "İzin Talepleri"
- Sütunları ekleyin:
- Title (varsayılan, "Talep Konusu" olarak yeniden adlandırın)
- İzin Türü (Choice: Yıllık / Mazeret / Hastalık / Doğum / Babalık / Diğer)
- Başlangıç Tarihi (Date)
- Bitiş Tarihi (Date)
- İş Günü Sayısı (Number, otomatik hesap için Power Automate'te formula)
- Açıklama (Multiple lines of text)
- Talep Eden (Person, varsayılan = Created By)
- Yönetici (Person, çalışanın AD bilgisinden otomatik dolacak)
- Durum (Choice: Beklemede / Onaylandı / Reddedildi, varsayılan Beklemede)
- Yönetici Notu (Multiple lines, opsiyonel)
Adım 2 — Yönetici Bilgisini Otomatik Doldur
Çalışan formu doldurduğunda "Yönetici" alanı otomatik dolsun (kullanıcı yönetici adını manuel girmemeli):
Power Automate Flow A:
- flow.microsoft.com → New → Automated cloud flow
- Trigger: "When an item is created" (SharePoint, İzin Talepleri listesi)
- Action: "Get manager (V2)" (Office 365 Users) — User: triggerOutputs() ?['body/Created By/Email']
- Action: "Update item" (SharePoint) — Yönetici alanına Manager email yaz
Adım 3 — Yöneticiye Onay Akışı
Power Automate Flow B:
- New → Automated cloud flow
- Trigger: "When an item is created" (aynı liste)
- Action: "Start and wait for an approval"
- Approval type: Approve/Reject - First to respond
- Title:
İzin Talebi: @{triggerOutputs()?['body/Talep Eden/DisplayName']} — @{triggerOutputs()?['body/Başlangıç Tarihi']} ile @{triggerOutputs()?['body/Bitiş Tarihi']}
- Assigned to:
@{triggerOutputs()?['body/Yönetici/Email']}
- Details: İzin türü + açıklama
- Condition: Outcome eşitliği "Approve"
- Yes branch: Update item → Durum = "Onaylandı"; Send email çalışana "İzniniz onaylandı"; Create event (Outlook) "İzin: [İsim]" tarihler arası
- No branch: Update item → Durum = "Reddedildi"; Send email çalışana "Maalesef red edildi: [Yönetici Notu]"
Adım 4 — Mobil Onay (Teams App)
Yönetici, Microsoft Teams mobile uygulamasından onay verebilir. Approval bildirimi push notification gelir, bir tıkla "Approve" / "Reject" çıkar. Mail kontrol etmeden, ofis dışından da onay verilebilir.
Adım 5 — İK Bildirimi ve Raporlama
Onaylanan her izin İK departmanına haber edilsin:
- Flow B'nin Yes branch'ine yeni action: "Send email to ik@firma.com"
- Konu: "Onaylanan İzin: [İsim] — [Tarihler]"
- Body: tüm bilgiler tablo şeklinde
Power BI raporu: SharePoint listesini Power BI'a bağlayıp aylık izin trendi, departman bazlı kullanım, ortalama izin günü gibi raporlar otomatik üretilebilir.
Bonus: Akıllı İş Günü Hesaplama
Başlangıç ve bitiş tarihleri arasındaki iş günlerini otomatik hesaplama (hafta sonu hariç):
- Flow B başında bir Compose action'ı ekle
- Inputs (formula):
div(
sub(
ticks(triggerOutputs()?['body/Bitiş Tarihi']),
ticks(triggerOutputs()?['body/Başlangıç Tarihi'])
),
864000000000
)
Sonuç: gün sayısı (basit). Hafta sonu çıkarmak için ek expression gerekir; Türkiye resmi tatilleri ayrı SharePoint listesinde tutulup oradan çıkarılır.
Yaygın Sorunlar
- "Get manager" action'ı çalışmıyor: Azure AD'de "Manager" alanı doldurulmamış olabilir. AD admin'den çalışanların yönetici bilgisi girilmesini isteyin.
- Approval bildirimi gelmiyor: Yöneticinin Outlook abonelik filtresi otomatik mailleri spam'e düşürüyor olabilir. Power Automate maillerini "Inbox - Important" işaretleyin.
- Akış başarısız olduktan sonra tekrar çalıştırma: flow.microsoft.com → My flows → Run history → "Resubmit" — değişiklik yapmadan yeniden çalıştırır.
Diğer Onay Akış Örnekleri
Aynı pattern ile şu süreçleri de otomatize edebilirsiniz:
- Harcama onayı: 1000 TL altı otomatik onay, üstü manuel
- Satın alma talep: Müdür → Mali müşavir → Satın alma uzmanı zinciri
- Yeni hesap açma: İK + IT paralel onay
- Sözleşme imza: Hukuk → Yönetici → Genel müdür sıralı onay
- Onboarding checklist: Yeni çalışan eklenince 15 görev otomatik atanır
Sıkça Sorulan Sorular
Power Automate hangi M365 planlarında dahil?
Tüm Microsoft 365 planlarında "Power Automate for Microsoft 365" temel olarak dahildir. Daily action limit 6000. İhtiyaç fazlaysa Power Automate Premium (~$15/ay).
SharePoint listesi yerine SQL/MySQL kullanabilir miyim?
Evet, "On-premises data gateway" ile bağlanabilir. Ama SharePoint listesi mobile-uyumlu, ücretsiz dahil ve admin'siz değişiklik yapılabilir — KOBİ için ideal.
Gizlilik: çalışan izin sebebini sadece yönetici görsün?
SharePoint izinleri item-level olarak ayarlanabilir. Power Automate ile "Talep eden" ve "Yönetici" haricinde kimse erişemesin diye liste izni kısıtlanır.
Akış başarısız olduğunda kim haberdar olur?
Flow sahibine Microsoft "fail notification" maili gönderir. Email + Teams alert kurulabilir.
Mevcut HR sistemiyle (Logo İK, BordroPlus, vb.) entegre edebilir miyim?
Evet, REST API'leri varsa Power Automate "HTTP" action'ı ile entegre edilir. JSON parse + auth header desteği vardır.
Sonuç
SharePoint + Power Automate ile profesyonel iş akışları kurmak için kod yazmak gerekmiyor; görsel sürükle-bırak yeterli. 30 dakikalık kurulum, yıllık İK çağrılarında %70-85 azalma sağlar. Mevcut Microsoft 365 lisansınızda bu yetenek zaten var.
SharePoint mimarisi, Power Automate akış tasarımı ve özel HR entegrasyonu için Teams & SharePoint kurulum hizmetimizden profesyonel destek alabilirsiniz. SharePoint çözüm sayfasında daha fazla detay ve vaka çalışması bulunur.