Power Automate kullanarak Aktivite Takip Bildirimi

Günlük yapılan işlerin girişinin yapıldığı firmalarda, gün içerisinde hatırlatma amaçlı uyarıların gitmesi istenebilir. Bildirimler girişlerini eksik yapan kullanıcıya olabileceği gibi, girişlerini yapmayan kullanıcıların yöneticilerine de gönderilebilir.

Bu makalede, Power Automate ile Dynamics 365 ortamındaki aktivite girişleri hesaplanarak kullanıcıya ve yöneticisine nasıl bildirim gönderileceğini anlatacağım.

Aktivite takibi için Power Automate’i kullanma

Öncelikle yapılacak çalışmayı aşağıda özetliyorum.

Ø  Ortamımızdaki hangi kullanıcılara uyarı gideceğini işaretleme

Ø  Power Automate üzerinde hesaplamanın yapılacağı bir akış hazırlama

Ø  Gönderilecek e-postanın şablon yapısı oluşturma

Ø  Dynamics 365 üzerinden e-posta gönderimi

Dynamics 365 Kullanıcı formunun güncellenmesi

Öncelikle yapılan çalışmaya hangi kullanıcılar dahil olacak bunu belirlememiz gerekir. Bunun için, kullanıcı formuna Aktivite Bildirimi Gönderilsin adında Evet/Hayır bir alan ekleyeceğiz. Bu alan işaretli kullanıcılara gün içerisinde belli periyotlarda o saate kadar yapması gereken minimum girişi yapmadıysa bildirim gidecek.

Kullanıcının günlük işlerini girdiği varlık olarak Servis Etkinliğini kullanacağız. Servis Talebi altından ilgili talebe ait etkinlik girişi yapıldığını varsayalım.

Bildirim gönderimi için Dynamics 365 in e-postasını kullanacağız. E-postalar Dynamics 365 üzerinden gönderilecek ve takibi Dynamics 365 içerisinden yapılabilecektir.

Öncelikle çalışmamız için bir çözüm oluşturalım ve tüm işlemlerimizi bu çözüm içerisinde yapalım. Bu şekilde dev veya test ortamında yaptığımız çalışmayı çözüm kullanılarak üretim ortamına kolaylıkla alabiliriz.

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

https://make.powerapps.com

2.      Çö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.

3.      Oluşturulan çözüm seçilir ve Düzenle butonuna tıklanır.

4.      Dynamics 365 üzerinden işlem yapmak isteyenler Klasik görünüme geç butonu ile klasik görünüme geçiş yapabilir. Bu makalede make.powerapps.com üzerinden özelleştirmeler yapılacaktır.

5.      Açılan çözüm içerisinde Var olanı ekle alanı genişletilerek Tablo seçilir.

6.      Mevcut tablolar sayfasında Kullanıcı tablosu seçilir ve Sonraki butonuna basın.

7.      Gelen ekranda Bileşenleri seçin alanına basın.

8.      Formlar sekmesi altından uygulamada kullandığımız formu seçelim.

9.      Formun seçildiğinden emin olduktan sonra Ekle butonuna tıklayalım.

10.   Kullanıcı tablosunu çözüme ekledik ve çözümün içerisine geldiğini göreceğiz.

11.   Kullanıcı formunda değişiklik yapmak için Düzenle butonuna tıklanır.

12.   Sütun ekle butonuna tıklayalım ve Aktivite Bildirimi Gönderilsin adında Evet/Hayır türünde alan bilgilerini girelim ve Son butonuna tıklayalım.

13.   Sütunlar sekmesine eklediğimiz alanın geldiğini gözlemleyelim.

14.   Alan ekledikten sonra Tabloyu Kaydet butonuna basalım.

15.   Formlar sekmesine gelerek daha önce eklenilen formu seçerek Düzenleme formu altından Formu yeni sekmede düzenle butonuna tıklayalım.

16.   Açılan form üzerinde Form alanı tıklanarak Aktivite Bildirimi Gönderilsin alanını sürükle bırak ile forma ekleyelim.

17.   Aşağıdaki ekran görüntüsündeki gibi alanın forma geldiğini göreceksiniz.

18.   Kaydet ve daha sonra Yayımla butonuna tıklayalım.

Formumuza ilgili alanı ekledik. Power Automate de akış oluşturma işlemine geçelim.

Power Automate işlemleri

1.      Açılan çözüm içerisinde Yeni butonuyla Bulut akışı tıklanır.

2.      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 Aktivite Hesabı 17:00 adlı başlık vereceğiz.

3.      Zamanlama altından Yinelenme seçilir.

4.      Akışımızı hafta içi her gün 17:00 de çalışacak şekilde girişlerimizi yapıyoruz.

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

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

7.      E-postayı hangi kullanıcı üzerinden atılacağını tanımlıyoruz.

Bu kısımda mail atan kullanıcının benzersiz tanımlayıcısı bilgisini Dynamics 365 üzerinden alalım.

Sağ üst köşedeki yeni pencerede aç butonuna tıklayalım.

Kullanıcı formunun url inde id kısmından sonra guid formattaki veriyi alalım.

Microsoft Dataverse in Satırı kimliğe göre al eylemi seçilerek ilgili değer girilir.

8.      Kullanıcıların aktivite girişlerini kontrol edelim.

Kontrol altından Her birine uygula eylemi kullanılarak kullanıcılar döngüye alınır.

9.      Döngü içeirisnde kullanıcıya ait aktivite girişlerini sorgulayalım.

Bu kısımda sorgulama olarak fetchxml i kullanacağız. Sorgumuzu Dynamics 365 üzeirnden Gelişmiş Arama sayfasını kullanarak oluşturabilir ve ilgili xml i dosyayı indirerek alabiliriz.

Dynamics 365 uygulaması üzerinden 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ıya ait servis etkinliklerini sorgulamak için Microsoft Dataverse in Satırlatırları listele eylemini kullanalım.

Notepad uygulamasındaki xml i kopyalarak Fetch Xml Sorgu alanına yapıştıralım.

Sorgudaki kullanıcı alanını dinamik olarak Kullanıcılar listesinden verelim.

10.   Döngümüz içerisinde varDailyTotal değerini sıfırlayalım. Her kullanıcı için sıfırdan başlayacaktır.

Değişken altındaki Değişken ayarla eylemini seçelim.

11.   Kullanıcıya ait servis etkinliklerinin toplam süresini hesaplamak için servis etkinlikleri listesini döngü içerisine alalım.

ServisEtkinlikleri döngüsü içerisinde süre hesaplamasını yapalım.Dakika cinsinden girişlerin yapıldığını varsayalım.

12.   Akışın çalıştığı saat itibariyle minimum girilmesi gereken etkinlik girilip girilmediğini kontrol edelim. Eğer girilmiş ise ilgili kullanıcıya herhangi bir bildirim gönderilmeyecek ve akış bir sonraki kullanıcı için  devam edecektir.

13.   Kullanıcı gerekli etkinlik girişi yapmamış ise girdiği etkinlik süresini saate çevirelim.

Gidecek bildirimlerde saat formatında yer alacaktır.

div(variables(‘varDailyTotal’), float(60)) 

14.   Gönderilecek bildirim için html formatta şablon oluşturalım.

Değişken alanından Değişken ayarla eylemini kullanalım ve varUSerEmail değişkenine şablonu atayalım.

Şablonda kullanıcıya giriş yapması için Servis Talepleri alanına yönlendirdik. Sizler farklı bir varlık kullanıyorsanız ilgili varlık listesine yönlendirebilirsiniz.

Şablondaki dinamik verileri atayalım.

Kullanıcının girdiği etkinlik süresini saate çevirmiştik. Burada ilgili değeri formatlayalım.

formatNumber(variables(‘varTotalHour’),’N2′) 

15.   Gönderilecek e-posta kaydını Taslak durumda oluşturalım.

Microsoft Dataverse in Yeni satır ekle eylemini seçelim.

Not :  E-posta gönderimi Dynamics 365 üzerinden yapılacaktır.

E-posta için gerekli alan girişleri yapılır.

E-postanın kime gönderileceği belirtelim.

E-postanın Konu ve Açıklama alanlarını atayalım.

16.   Oluşturulan e-postanın gönderimini yapalım .

Bu işlem için Microsoft Dataverse altından Bağlı eylem gerçekleştir eylemini kullanalım.

Eylem adı alanında Send Email i seçelim ve daha önce oluşturulan e-posta kaydının benzersiz tanıtıcısını atayalım.

17.   Yöneticiye e-posta gönderimi sırasında kullanacağımız diziye, kullanıcıya ait verileri ekleyelim.

Değişken alanından Dizi değişkenine ekle eylemini seçelim.

Diziye json formatında değeri ekleyelim.

18.   varResults dizisini jsona çevirelim.

Veri işlemi altından Oluştur eylemini seçelim.

19.   Yönetici dizisine kullanıcının yönetici değerini ekleyelim.

Veri işlemi altından Oluştur eylemini seçelim.

union(variables(‘varManagerList’),createArray(items(‘Foreach_Kullanıcılar’)?[‘_parentsystemuserid_value’])) 

20.   Veri işlemi çıktısını yönetici dizisine atayalım.

21.   Kullanıcılar döngümüzü tamamladık. Artık yöneticilere gönderim işlemlerine geçebiliriz. Yöneticilere e-posta gönderimi olacak mı kontrolü yapılır . Daha önce kullanıcılara ait bilgileri tuttuğumuz dizi kontrol edilir. Dizide kayıt varsa gönderim olacak anlamına gelir.

length(variables(‘varResults’)) 

22.   Yöneticiler kısmında akışın detayını görelim.

23.   Yöneticiler listesini için döngü oluşturalım.

24.   Döngü üzerindeki geçerli kaydı alalım.

25.   Yöneticiler dizisini ilgili yöneticiye göre filtreleyelim.

Daha önce yöneticiler listesine kayıtları kullanıcı bazlı eklediğimiz için aynı yöneticiye ait birden fazla satır olacaktır.

Veri İşlemi altından Diziyi filtrele eylemini seçelim.

item()?[‘managerid’]

Filtreleme işlemi için Gelişmiş modda düzenle butonu tıklanarak da aynı işlem yapılabilir.

26.   Yöneticiye gidecek e-posta şablonu içerisinde yer alacak tablo formatı için tanımlama yapılır.

Tablo üzerinde satırların css i için satır sayısı kullanılacaktır. Kullanıcı döngüsüne girmeden sıfırlayalım.

27.   Yöneticiye ait  kullanıcı listesi için döngü oluşturulur.

Kontrol altından Her birine uygula eylemini seçelim ve filtrelenen değeri verelim.

28.   Döngü içerisinde listedeki kayıt sayısı için; ilgili değişkenin değerini 1 artıracak şekilde tanımlama yapalım.

Değişken altından Artış Değişkeni ni seçelim.

29.   Tablo satırlarını oluşturalım.

Tablo satırlarını renklendirme işlemlerini yapalım.

Satır sayısı çift olan satırlar ve tek olanlar diye ayırım yapalım.

if(equals(mod(variables(‘varRowNumber’), 2), 0), ‘white’, ‘#e1e1e1’) 

30.   Tablomuzu oluşturduktan sonra tablo html ini tamamlayalım.

31.   Yöneticiye gidecek e-posta şablonu tanımlanır.

32.   Yöneticiye gidecek e-postayı Dynamics 365 ortamında oluşturalım.

Microsoft Dataverse in Yeni satır ekle eylemini seçelim.

Açıklama ve Konu alanlarını atayalım.

33.   E-posta gönderimi yapalım.

Microsoft Dataverse in Bağlı eylemleri gerçekleştir eylemini seçelim.

34.   Akışımızı tamamladık. Test işlemlerine geçebilirsiniz.

Çözüme Genel Bakış

AktiviteYonetimi adlı çözümümüzün son hali aşağıdaki gibidir.

Kullanıcı Bildirimi E-posta

Yönetici Bildirimi E-posta

Akışımızın son hali aşağıdadır.

Aktivite takip bildirimini, 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.

Exit mobile version