Tag: #msflows #diyd365

Agent, Power Virtual Agent- Episode 4: Variables and Power Automate Actions

Hello Everyone

Hope you’re all keeping safe. For information on how to keep yourself safe from COVID-19 visit https://www.who.int/emergencies/diseases/novel-coronavirus-2019/advice-for-public

This episode of Power Virtual Agents (PVA) is about understanding ‘Variables’ and ‘Calling an Action’ using Power Automate in PVA.

This is #thenocodeway to leverage the power platform. Following is covered in the video:

Variables

Dynamics content like office location, brand names

Save responses as variables

Bot can use it in a response too

Variables are always associated to entities

Power Automate

  • Build Power Automate from within PVA as actions
  • Watch TGIF (Thank God it’s Flow!)
  • Input expression-
  • first(body(‘List_records’)?[‘value’])
  • Output expression-
  • outputs(‘Compose’)?[‘field schema name’]

Video here:

Hope it helps!

Stay safe!

The Top 10 Power Automate Community Blogs of 2019

Hi Readers

This list might help you to refer to these blogs when you need it. If you haven’t read it yet, click on the link and read it. I have also provided the URL of Author’s website (just in case you want to check out their awesome work). Please note that my list doesn’t include blogs from MSFT Employees. And is based on no. of maximum views on a blog post per month for e.g. if in January there were 5 blogs (Blog Post 1, Blog Post 2, Blog Post 3, Blog Post 4, Blog Post 5, ) with no. of views 5000, 4000, 3000, 2000, 1000 respectively; I have picked Blog Post 1 as top of that month.

Following are the top 10 by month:

MonthBlog Title No. of ViewsAuthorAuthor’s WebsiteTwitter
January’19Top 5 Microsoft Flow features from the April 2019 release notes 2976Daniel Laskewitz https://www.o365dude.com/ https://twitter.com/laskewitz
February’19Send a summary email of Microsoft Team Channel conversations/posts to all members on a schedule 6473Reza Dorani https://rezadorrani.com/ https://twitter.com/rezadorrani
March’19Create Planner Task and Include Attachments From Outlook Email 17908Alan https://www.alanps1.io/ https://twitter.com/AlanO365
April’19Create Planner Tasks from New SharePoint List Item 5801Laura GB https://hatfullofdata.blog/ https://twitter.com/Laura_GB
May’19How to add a text watermark to a PDF document using Microsoft Flow or Azure Logic Apps 1904Anton Khritonenkov https://medium.com/plumsail https://twitter.com/antonkhrit
June’19Automation Squared using MS Flow and UiPath 5576Yash Agarwal https://www.bythedevs.com/ https://twitter.com/yashagarwal1651
July’19The Four M’s of Microsoft Flow 2031Melissa Hubbard https://melihubb.com/ https://twitter.com/melihubb
August’19Microsoft Flow to Provide Item Level Permission on SharePoint List 2029Siddharth Vaghasia https://siddharthvaghasia.com/ https://twitter.com/siddh_me
September’19Extract data from documents with Microsoft Flow 2439Jay Goodison https://blog.encodian.com/ https://twitter.com/encodian
October’19Microsoft Flow as a Service2199 Yash Agarwal https://www.bythedevs.com/ https://twitter.com/yashagarwal1651
November’19Every Power Automate (MS Flow) Filter Query You Ever Wanted To Know As A Functional Consultant 1871Prashant Shukla https://diyd365.com/ https://twitter.com/DIYD365
December’19Power Automate & To-Do – The Beginning of a Beautiful Relationship2232Sharon Sumner https://power-full.blog/ https://twitter.com/Sharon__Sumner

Hope it helps!

Subscribe to my channel and follow my blog.

Thanks!

Let’s keep sharing!

#TGIF Quick Tip on UI Flows (Power Automate, renaming a UI flow)

Hello Readers

This quick tip is part of my Thank God it’s Flow #TGIF series. There are two tips in this post:

  1. Renaming your UI flow
  2. Modifying and removing connections

Renaming your UI Flow: For general flows you just hit on the pencil/edit button and can rename them by clicking on the name at the top as shown below:

Screen Shot 2019-12-08 at 1.41.09 pm.png

This doesn’t work for UI Flows. Instead you have to click on the name and the click the edit button shown in the screenshot below:

Screen Shot 2019-12-08 at 1.35.17 pm.png

Modifying and removing connections: 

All connections are available under Data on the left navigation. So if you reach maximum connection limit and are thinking how to delete/remove one. Here is the place. Just click on the ellipses (…) and select an option

Screen Shot 2019-12-08 at 1.36.42 pm.png

Hope it helps!

Subscribe to my channel and follow my blog.

Thanks!

Let’s keep sharing!

#TGIF Episode 6: UI Flows (RPA) in Power Automate (Both desktop & web app)

Hello Readers and Viewers

In this episode we will learn about the business use cases of robotic process automation or UI Flows. If you want to learn about setting up UI flows, please read this post https://diyd365.com/2019/12/11/everything-you-need-to-run-a-ui-flow-power-automate

We will look at both desktop and web app.

I have taken two business scenarios:

  1. Automation Testing of Dynamics 365– As a functional consultant and business user, we always perform unit testing manually. So I will demonstrate a scenario where we can automate it with the help of UI Flows. Our test scenario is; As a salesperson, I must be able to login to MS Dynamics 365 with office credentials and be able to create a customer/account.
  2. MYOB AccountRight integration with Dynamics 365– As a functional consultant and business user I don’t know a straight forward integration between MYOB and Dynamics 365. So I will demonstrate that whenever you create an invoice in Dynamics 365, UI Flow will create a customer and then invoice in MYOB AccountRight.

Video here:

I hope both my scenarios add some value to your business and daily work life. You can obviously extend it to any level.

Fundraising for Rural Aid Australia- TGIF Shirts, here.

Let me know your thoughts!

Subscribe to my channel and follow my blog.

Thanks!

Let’s keep sharing!

 

 

 

#TGIF Episode 4: Understanding ‘Scope’ in Flows (Power Automate)

Hello Readers and Viewers

In this episode we will try to understand ‘Scope’ in flows. This is a comparatively short episode as I have used visuals to explain scope.

Scope is available in following categories:

  • User
  • Business Unit
  • Parent Child Business Unit
  • Organisation
  • Custom (Yes, you can enter a custom value)

Dynamics 365 people, does it reminds you of something? Yes, you guessed it right. This is coming from scope of native D365 workflows. But in Power Automate scope is only available if you’re using Common Data Services (CDS) as a data connection. I am providing some screenshots below which might help:

Screen Shot 2019-11-23 at 10.34.04 amScreen Shot 2019-11-23 at 10.35.14 amScreen Shot 2019-11-23 at 10.37.06 amScreen Shot 2019-11-23 at 10.38.26 am

Video here:

Fundraising for Rural Aid Australia- TGIF Shirts, here.

Let me know your thoughts!

Subscribe to my channel and follow my blog.

Thanks!

Let’s keep sharing!

Populating ‘Item Link’ In Approvals (Power Automate/MS Flow)

Hi Readers

This is a quick tip on how to generate a link to the item you want to be approved.

Scenario: Whenever a quote is created a approval request must be sent out with a link/URL of quote to be approved.

Problem: “Item Link” field only shows the GUID of the quote

There’s no URL field for selection so you select the Unique Identifier of the quote, thinking it might work.
Approval looks like this so you can’t go to the actual item from here.

Solution: Combine the URL of your model driven app (prefix) and record GUID (suffix)

Model driven app’s URL and unique identifier of quote/record. This works.
This is how your approval form looks, click on the link to check the actual approval item/record.

Hope it helps!

Subscribe to my channel and follow my blog.

Thanks!

Let’s keep sharing!

#TGIF Episode 3: Most Common ODATA Filter Queries

Hi Readers and Viewers

This episode is to summarise my blog post “Every Power Automate Filter Query You Ever Wanted To Know“.

We will look at the following combinations of ODATA queries:

Contains and does not contains for text fields

Contains and does not contains for Option Sets

  1. Is blank and is not blank
  2. Contains with OR/AND conditions
  3. Check two or more option set values
  4. Starts with/Ends with
  5. Greater than/Less than
  6. Greater than or equal to/Less than or equal to

Video here:

Fundraising for Rural Aid Australia- TGIF Shirts, here.

Let me know your thoughts!

Subscribe to my channel and follow my blog.

Thanks!

Let’s keep sharing!

Every Power Automate (MS Flow) Filter Query You Ever Wanted To Know As A Functional Consultant

Hello Readers

This blog is to help fellow consultants to start their journey on Power Automate. We all know how easy it is to create a flow (Watch #TGIF Episode 2 here, if not already).

I am sure as a Business user or a functional consultant, you must have had a situation where you needed someone technical to complete your flow. Most of this bottleneck is because as non-technical people we don’t know what ‘ODATA Query’ is?

Coming from Dynamics 365 background, I never required such filters for native workflows of D365. But here we are moving forward and learning together to be able to work with Flows.

This post will talk about the following two filter types you need while building a flow:

  1. ODATA filter query
  2. Filter array

Before we commence with the filters, i will try to explain you the components of ODATA filter query:

1.Field or Column Name 2.Operator 3.Field value you want to check/filter

Sequence: In most queries the sequence of the components remains like ‘fieldname operator fieldvalue’ but in some cases like contains/does not contains sequence and structure changes to ‘operator(fieldname,’fieldvalue’)’

A few operators: 

Operator Description
eq Equal to
ne Not equal to
contains contains
not contains Does not contains
gt Greater than
lt Less than
ge Greater than or equal to
le Less than or equal to
and And
or Or
startswith Start with the specified value
endswith End with the specified value

ODATA filter query

1.Contains for text fields

This one is for text fields like Topic, Subject, Phone, City, Street 1 etc.

Filter query= contains(textfieldschemaname,’value’)

e.g. if I have to check whether the ‘Subject/Topic’ of a Lead record contains ‘New’ in it; my filter would be contains(subject,’new’)

Screen Shot 2019-11-16 at 1.14.33 pm

2. Does not contains for text fields

This one is for text fields like Topic, Subject, Phone, City, Street 1 etc.

Filter query= not contains(textfieldschemaname,’value’)

e.g. if I have to check that the ‘Subject/Topic’ of a Lead record does not contains ‘New’ in it; my filter would be not contains(subject,’new’)Screen Shot 2019-11-16 at 1.15.24 pm.png

3.Contains data (Is not blank)

This one is for both text and option set fields

Filter query= textfieldschemaname ne null

Filter query= optionsetfieldschemaname ne null

e.g. if I have to filter where ‘Job title’  contains data or is not blank; my filter would be jobtitle ne null

e.g. if I have to filter where ‘Rating’  contains data or is not blank; my filter would be leadqualitycode ne null

4. Does not contains data (Is blank)

This one is for both text and option set fields

Filter query= textfieldschemaname eq null

Filter query= optionsetfieldschemaname eq null

e.g. if I have to filter where ‘Job title’  does not contains data or is blank; my filter would be jobtitle eq null

e.g. if I have to filter where ‘Rating’  does not contains data or is blank; my filter would be leadqualitycode eq null

5.Contains for option sets

This one is for option set fields like Rating, Lead Source, Industry, Type etc.

Filter query= optionsetfieldschemaname eq optionsetnumericvalue

e.g. if I have to filter lead’s with rating ‘Hot’ (value =1); my filter would be leadqualitycode eq 1

Note: As per my understanding, you can’t check option set label in ODATA filter but you can in filter array.

6.Does not contains for option sets

This one is for option set fields like Rating, Lead Source, Industry, Type etc.

Filter query= optionsetfieldschemaname ne optionsetnumericvalue

e.g. if I have to filter lead’s with rating ‘Hot’ (value =1); my filter would be leadqualitycode ne 1

7.Contains with ‘OR’ on same field

Filter query= contains(field1name,’value1′) or contains(field1name,’value2′)

Filter query= optionsetfieldname1 eq optionsetnumericvalue1 or optionsetfieldname1 eq optionsetnumericvalue2

e.g. if I have to filter where ‘Job title’  contains ‘Manager’ or ‘Consultant’; my filter would be contains(jobtitle,’manager’) or contains(jobtitle,’consultant’)

e.g. if I have to filter where ‘Rating’  contains either ‘Hot’ or ‘Warm’ data; my filter would be leadqualitycode eq 1 or leadqualitycode eq 2

8. Contains with ‘AND’ on same  text field

Filter query= contains(textfield1name,’value1′) and contains(textfield1name,’value2′)

e.g. if I have to filter where ‘Topic’  contains ‘New’ and ‘Interested’; my filter would be contains(subject,’new’) and contains(subject,’interested’)

9.Filter an option set checking two or more values

Filter query= optionsetfieldname1 eq optionsetnumericvalue1 or optionsetfieldname1 eq optionsetnumericvalue2

e.g. if I have to filter where ‘Rating’  contains either ‘Hot’ or ‘Warm’ data; my filter would be leadqualitycode eq 1 or leadqualitycode eq 2

Screen Shot 2019-11-16 at 1.16.25 pm.png

10. Filter by checking two different option sets

Filter query= optionsetfieldname1 eq optionsetnumericvalue1 or optionsetfieldname2 eq optionsetnumericvalue2

e.g. if I have to filter leads where ‘Rating’  contains ‘Hot’ and  ‘Lead Source’ contains ‘Advertisement’; my filter would be leadqualitycode eq 1 and leadsourcecode eq 1

Screen Shot 2019-11-16 at 1.17.15 pm

11.Starts with/Begins with

This is for text fields only

Filter query=startswith(fieldname,’startvalue’)

e.g. if I have to filter all Australian leads , I will look at ‘Business Phone’ starts with country code +61; my filter would be startswith(telephone1,’+61′)

e.g. if I have to filter leads from  Australia or New Zealand, I will look at ‘Business Phone’ starts with country code +61 or +64; my filter would be startswith(telephone1,’+61′) or startswith(telephone1,’+64′)

e.g. if I have to filter leads having ‘Business Phone’  from Australia but ‘Mobile Phone’ from New Zealand, I will look at ‘Business Phone’ starts with country code +61 and +64; my filter would be startswith(telephone1,’+61′) and startswith(mobilephone,’+64′)

12.Ends with

This is for text fields only

Filter query=endswith(fieldname,’endvalue’)

e.g. if I have to filter all leads where ‘Website’ ends with ‘.org’; my filter would be endswith(websiteurl,’org’)

e.g. if I have to filter all leads where ‘Website’ either ends with ‘.org’ or ‘.com’; my filter would be endswith(websiteurl,’org’) or endswith(websiteurl,’com’)

e.g. if I have to filter all leads where ‘Website’ ends with ‘.org’ and email ends with ‘.com’; my filter would be endswith(websiteurl,’org’) and endswith(emailaddress1,’com’)

13.Greater than

This is for Numbers and date fields only

Filter query=datefield gt ‘specificdate’

Filter query=datetimefield gt ‘specificdatetime’

Filter query=numberfield gt specificnumber              (No, ” here)

e.g. if I have to filter leads created after 10th August 2019

createdon gt ’10/08/2019′

e.g. if I have to filter leads created after 5AM on 10th August 2019; my filter would be

createdon gt ’10/08/2019 05:00′

e.g. if I have to filter leads created after 5:30AM on 10th August 2019; my filter would be

createdon gt ’10/08/2019 05:30′

Screen Shot 2019-11-16 at 1.18.15 pm.png

e.g. if I have to filter leads created after 5PM on 10th August 2019; my filter would be

createdon gt ’10/08/2019 17:00′

e.g.if I have to filter leads created after 5:30PM on 10th August 2019; my filter would be

createdon gt ’10/08/2019 17:30′

e.g. if I have to filter leads where annual revenue is more than $2000000

revenue gt 2000000 

e.g. if I have to filter leads where annual revenue is more than $2000000 and number of employees is more than 500

revenue gt 2000000 and numberofemployees gt 500

Screen Shot 2019-11-16 at 1.12.15 pm

14.Less than

This is for Numbers and date fields only

Filter query=datefield lt ‘specificdate’

Filter query=datetimefield lt ‘specificdatetime’

Filter query=numberfield lt specificnumber              (No, ” here)

e.g. if I have to filter leads created before 10th August 2019

createdon lt ’10/08/2019′

e.g. if I have to filter leads created before 5AM on 10th August 2019; my filter would be

createdon lt ’10/08/2019 05:00′

e.g. if I have to filter leads created before 5:30AM on 10th August 2019; my filter would be

createdon lt ’10/08/2019 05:30′

e.g. if I have to filter leads created before 5PM on 10th August 2019; my filter would be

createdon lt ’10/08/2019 17:00′

e.g.if I have to filter leads created before 5:30PM on 10th August 2019; my filter would be

createdon lt ’10/08/2019 17:30′

e.g. if I have to filter leads where annual revenue is less than $2000000

revenue lt 2000000 

e.g. if I have to filter leads where annual revenue is less than $2000000 and number of employees is less than 500

revenue lt 2000000 and numberofemployees lt 500

15.Less than or equal to and Greater than or equal to

This is for Numbers and date fields only

Filter query=datefield ge ‘specificdate’

Filter query=datetimefield ge ‘specificdatetime’

Filter query=numberfield ge specificnumber              (No, ” here)

Filter query=datefield lt ‘specificdate’

Filter query=datetimefield le ‘specificdatetime’

Filter query=numberfield le specificnumber              (No, ” here)

e.g. if I have to filter leads created after or on 10th August 2019

createdon ge ’10/08/2019′

e.g. if I have to filter leads created after or at 5AM on 10th August 2019; my filter would be

createdon ge ’10/08/2019 05:00′

e.g. if I have to filter leads created after or at 5:30AM on 10th August 2019; my filter would be

createdon ge ’10/08/2019 05:30′

e.g. if I have to filter leads created after or at 5PM on 10th August 2019; my filter would be

createdon ge ’10/08/2019 17:00′

e.g.if I have to filter leads created after or at 5:30PM on 10th August 2019; my filter would be

createdon ge ’10/08/2019 17:30′

e.g. if I have to filter leads where annual revenue is more than or equal to $2000000

revenue ge 2000000 

e.g. if I have to filter leads where annual revenue is more than or equal to $2000000 and number of employees is more than or equal to 500

revenue ge 2000000 and numberofemployees ge 500

e.g. if I have to filter leads created before or on 10th August 2019

createdon le ’10/08/2019′

e.g. if I have to filter leads created before or at 5AM on 10th August 2019; my filter would be

createdon le ’10/08/2019 05:00′

e.g. if I have to filter leads created before or at 5:30AM on 10th August 2019; my filter would be

createdon le ’10/08/2019 05:30′

e.g. if I have to filter leads created before or at 5PM on 10th August 2019; my filter would be

createdon ge ’10/08/2019 17:00′

e.g.if I have to filter leads created before or at 5:30PM on 10th August 2019; my filter would be

createdon ge ’10/08/2019 17:30′

e.g. if I have to filter leads where annual revenue is less than or equal to $2000000

revenue ge 2000000 

e.g. if I have to filter leads where annual revenue is less than or equal to $2000000 and number of employees is less than or equal to 500

revenue le ‘2000000’ and numberofemployees le 500

e.g. if I have to filter leads where annual revenue is less than or equal to $2000000 and number of employees is more than or equal to 500

revenue le ‘2000000’ and numberofemployees ge 500

Filter array

These are very much similar to what we get in D365 native workflows except for puttin the value ourselves.

1.Option set label

Select the label field dynamically and not the value field. Then specify your label value on the right.

Screen Shot 2019-11-16 at 1.25.11 pm

Screen Shot 2019-11-16 at 1.24.00 pm

2. Option set value

Select the value field dynamically and not the label field. Then specify your option set value on the right.

Screen Shot 2019-11-16 at 1.29.06 pm

3. Text fields

This one is for text fields like Topic, Subject, Phone, City, Street 1 etc.

Screen Shot 2019-11-16 at 1.30.32 pm.png

4. Number and date fields

This is for number and date fields.

Screen Shot 2019-11-16 at 1.32.31 pm.png

Screen Shot 2019-11-16 at 1.33.25 pm.png

Those are enough filters to get you started. 🙂

Hope you find this helpful!

Subscribe to my YouTube

Thanks!

Let’s keep sharing!

#TGIF Episode 2: Building Your First Flow

Hi Readers and Viewers

In this episode, we will deep dive into Power Automate and will create our first flow. We are also going to see different types of flows available within Power Automate. We will look at the following scenario to create our flow:

Scenario: Assign Territory to a customer based on the ‘Address 1: ZIP/Postal Code’ field in CDS/D365. (Address 1: ZIP/Postal Code is a text field)

Out of the box what’s available: Territories are related to ‘postal codes’ as 1: N relationship. Both Territory and Postal Code are available OOTB in CDS/D365. But on Account form, ZIP/Postal Code is a text field so how do we perform this action without any coding efforts.

Solution before Power Automate (MS Flow): If flow wasn’t there, we would have to create a plugin which will trigger post-operation/ record creation and check the value of ‘Address 1: ZIP/Postal Code’ in the data table of Postal Code and then pick up a related territory to update that territory on account form and the efforts required to that plugin would not be less than 4 hours.

Solution after Power Automate: Thank God it’s Flow! with the help of flow you can achieve the results in 5 minutes or less.

Watch the video here:

Fundraising for Rural Aid Australia- TGIF Shirts, here.

Descriptive blog post here.

Let me know your thoughts!

Subscribe to my channel and follow my blog.

Thanks!

Let’s keep sharing!

#TGIF Episode 1: Getting Started With Microsoft Flow

Hi Readers and Viewers

In this episode of TGIF, we are going to see that how you and me can start our Flow journey. This is a short episodes and will cover the following:

  1. Licensing
  2. Sign up
  3. Start page
    • Enter a process name
    • Check templates
  4. Check out the mobile app
  5. Have you got the reason to use Flows yet?

I have covered licensing very briefly but there’s a lot of history and details about MS Flow licensing here by Jussi: https://jussiroine.com/2019/01/the-comprehensive-licensing-guide-to-microsoft-flow-and-powerapps/

or you can visit https://flow.microsoft.com/en-us/pricing/?currency=AUD for more details

Here’s the video:

Let me know your thoughts!

Subscribe to my channel and follow my blog.

Thanks!

Let’s keep sharing!