Office 365 üzerindeki kullanıcı bilgilerinin Dynamics 365 ortamında da otomatik güncellenmesini isteyebiliriz.
Bu makalede, Power Automate ile Dynamics 365 ortamındaki kullanıcı bilgilerinin Office 365 üzerinden nasıl güncelleneceğini anlatacağım.
Office 365 entegrasyonu için Power Automate’i kullanma
Öncelikle yapılacak çalışmayı aşağıda özetliyorum.
Ø Office 365 üzerindeki kullanıcı bilgileri alma
Ø Departman güncelleme
Ø Yeni departmana göre kullanıcıya rol atama
Ø Yönetici güncelleme
Power Automate işlemleri
Öncelikle çalışmamız için bir çözüm oluşturalım ve tüm işlemlerimizi bu çözüm içerisinde yapalım.
Power Apps ’te oturum açtıktan sonra doğru ortama bağlı olduğunuzdan emin olun. Ortam seçimi sayfanın sağ üst köşesinden kontrol edin.
1. Çözümler altından Yeni Çözüm butonu tıklanır ve açılan pencerede gerekli bilgiler girilir ve Oluştur butonuna tıklayın.
Not: Yayımcı alanından var olan bir yayımcı seçilebilir veya projeye özel yayımcı tanımlanabilir.
2. Oluşturulan çözüm seçilir ve Düzenle butonuna tıklanır.
3. Açılan çözüm içerisinde Yeni butonuyla Bulut akışı tıklanır.
4. Gelen Power Automate ekranında seçili olan ortamı sağ üst köşeden kontrol ediniz.
Sol üst köşeden akışımıza bir ad verebiliriz. Bu çalışmamızda Kullanıcı Bilgileri Güncelle adlı başlık vereceğiz.
5. Akışımızın tetiklenme zamanı için Zamanlama altından Yinelenme seçilir.
6. Saatte 1 kez çalışacak şekilde tanımlamamızı yapalım.
7. Akışımızda kullanacağımız değişkenlerimizi tanımlıyoruz.
Değişken tanımı için; Değişken altından Değişken başlat eylemini seçelim.
Değişkenlerimize Not ekleyin yoluyla açıklamalar girebiliriz. Bu işlem okunabilirlik için faydalı olacaktır.
İlk değişkenimizi tanımladıktan sonra akışımızı Kaydet butonuna tıklayarak kaydedelim. Kaydetme işlemi işlemler sırasında arada bir yapmak faydalı olacaktır.
Sıradaki değişkenleri tanımlamaya devam ediyoruz.
8. Hangi kullanıcıların akışımızda yer alacağını sorgulayalım.
Sorgulama işlemi için Microsoft Dataverse altından Satırları listele eylemini seçelim.
Tablo adı alanında Kullanıcılar seçelim ve filtremizi Satırları filtrele kısmında tanımlayalım.
9. Kullanıcıları bir döngüye alarak işlemlerimize devam edelim. Aşağıdaki ekran görüntüsünde çalışmamızın detaylarını içerir.
Kontrol altından Her birine uygula eylemi kullanılarak kullanıcılar döngüye alınır.
Dinamik içerik alanından Kullanıcılar tablosunun Öğe Listesi alanı seçilir.
10. Döngü içerisinde kullanıcıya ait departman ve yönetici bilgilerinin benzersiz tanıtıcısı (id) değerini değişkenlerimize atayalım.
11. Kullanıcının var olan rollerini çekelim.
Dynamics te departman alanı güncellenirse roller sıfırlanır. Yeni departmana göre rol vermek gerekecektir. Bu yüzden kullanıcı rollerini çekiyoruz.
Bu kısımda sorgulama olarak fetchxml i kullanacağız. Sorgumuzu Dynamics 365 üzerinden Gelişmiş Arama sayfasını kullanarak oluşturabilir ve ilgili xml i dosyayı indirerek alabiliriz.
Dynamics 365 uygulaması üzeirnden Gelişmiş Arama açılır.
Sorgumuzu oluşturduktan sonra Fetch XML Karşıdan Yükle butonu kullanılarak sorguyu içeren txt dosyası bilgisayarımıza inecektir.
Bilgisayarımıza yüklenen dosyayı Notepad uygulaması ile açalım.
Açılan dosyadaki işaretli alanı silelim.
Kullanacağımız alanlar attribute tagları arasında yoksa elle girişini yapalım. Eğer yoksa bu adımı atlayabilirsiniz.
Kullanıcının güvenlik rollerini sorgulamak için Microsoft Dataverse in Satırlatırları listele eylemini kullanalım.
Notepad uygulamasındaki xml i kopyalarak Fetch Xml Sorgusu alanına yapıştıralım.
Sorgudaki kullanıcı alanınına varD365UserId değişkenini verelim.
12. Kullanıcının departman bilgilerini çekelim ve D365Departman değişkenimize departmanın adını atayalım.
13. Kullanıcının office 365 üzerindeki departman bilgisini alalım.
14. varO365Departman değişkenine kullanıcının office 365 üzerindeki departman bilgisini atayalım.
15. Ortamlardaki departman bilgisinin farklı olup olmadığını sorgulayalım.
16. İki ortamdaki departman bilgileri farklı ise, office 365 üzerindeki deaprtman bilgisi dynamics ortamında sorgulanarak kullanıcının departmanı güncellenir.
Microsoft Dataverse in Satırlatırları listele eylemini kullanalım.
Office 365 üzerindeki departman dynamics üzerinde var mı kontrolu yapılır.
length(outputs(‘DepartmanList’)?[‘body/value’]) |
17. Kullanıcının departman bilgisini güncelleyelim.
Microsoft Dataverse in Satırı güncelleştir eylemini kullanalım.
body(‘DepartmanList’)[‘value’][0][‘businessunitid’] |
18. Departman bilgisi güncellendiğinde roller silinir.
Daha önce kullanıcının rollerini sorgulamıştık. Bu rollerin yeni departman altındaki kayıtları sorgulanır ve kullanıcının rollerine eklenir.
Not : Dynamics ortamında açılan güvenlik rolü ,ortamda bulunan tüm departmanlar altında otomatik açılır.
Yeni departman altındaki rol kaydı sorgulanır.
Microsoft Dataverse in Satırlatırları listele eylemini kullanalım.
body(‘DepartmanList’)[‘value’][0][‘businessunitid’] |
Yeni departman altındaki rol kullanıcı rollerine eklenir.
body(‘YeniRol’)[‘value’][0][‘@odata.id’] |
19. Departman güncelleme işlemlerini tamamladık . Yönetici işlemlerine devam edelim. İlk olarak yönetici bilgisini alalım ve ilgili değişkenimize atayalım.
Bu işlem için Office 365 Users altından Yöneticiyi al (V2) eylemini kullanalım.
Kullanıcının office 365 altındaki yönetici bilgisini varO365Manager değişkenine atayalım.
20. Kullanıcının office 365 üzerinde yönetici bilgisi olup olmadığını sorgulayalım .
Eğer yöneticisi var ve dynamics üzerindeki yönetici bilgisiyle farklı ise güncelleyelim.
Eğer office 365 te yönetici bilgisi yoksa dynamics üzeirndeki yönetici bilgisini sıfırlayalım.
21. Yönetici bilgisi yoksa dynamics üzerinde yönetici bilgisini kaldıralım.
Veri işlemi altından Oluştur eylemini seçelim.
22. Yönetici bilgisi varsa dynamics üzerinde sorgulanır.
Microsoft Dataverse altından Satırları listele eylemini seçelim.
newManagerId değişkenine yeni yöneticinin id değerini atayalım.
body(‘ManagerList’)[‘value’][0][‘systemuserid’] |
Yönetici bilgisinin var olan yönetici bilgisinden farklı olup olmadığı sorgulanır.
Yönetici bilgileri farklı ise dynamics üzerindeki yönetici bilgisini güncelleyelim.
23. Akışımızı tamamladık. Test işlemlerine geçebilirsiniz.
Çözüme Genel Bakış
Dynamics Office365 Entegrasyonu adlı çözümümüzün son hali aşağıdaki gibidir.
Akışımızın son hali aşağıdadır.
Office 365 entegrasyonu, okuyucularımız için de faydalı olabileceğini düşünerek bu makaleyi hazırladım. Umarım sizlere faydalı olur.
Bir sonraki makalede görüşmek dileğiyle.
Soru ve sorunlarınız olursa, sitemizin forum sayfasından bize ulaşabilirsiniz.