Wednesday, 26 September 2018

AND OR statements in Flow

21:16 Posted by Elaiza Benitez , , , , , No comments
When using a Check Condition step in Dynamics 365 workflows, you have the ability to to the following
  • AND
  • OR
  • Group a combination of AND OR

In this #WTF post I will cover how to do this in Flow as the configuration is different. Remember, Flow uses the odata APIs of Dynamics 365 which results in different configuration. However our Dynamics 365 knowledge still applies 😁

Two types of modes

When using a condition step in Flow there's two modes that you can apply. 
  1. Edit in Basic mode
  2. Edit in Advanced mode

Basic mode

This is the familiar "click and select" concept where you choose your condition and the field value.

Advanced mode

This is where you can make additional adjustments that is not available through basic mode. This is what we will use for AND OR statements. Why? In basic mode you cannot set more than one condition in a Flow condition step.

Breaking down Advanced mode

OK, this is where I give you my explanation. Disclaimer: I am not a developer and the terms I use is what makes sense to me. It is not the official explanation but this is how I have understood it which has helped my learning and adoption of Flow.

In a Flow condition step, it is calling a function to pass single or multiple parameters using some logic.

When we review the funky looking string in Advanced mode, this is how I see it:


Hopefully this makes sense to you.

How to do AND

You must use Advanced mode to be able to extend the function to have more than one criteria.

In my Flow condition, I was checking that the Customer equals Stark Industries and Product equals AI Support.

Again, here's my explanation of what the function is in Advanced mode.

How to do OR

Similar to AND but this time using OR instead.

How to group OR and AND statements

This one I figured out on my own. What I was able to work out is there's different parts to the function.

In Dynamics 365 workflows we are used to configuring it like the below,


We use "Group And" and "Group Or" clauses.

In Flow we apply the same logic in the following manner,

  1. In blue is the AND OR conditions
  2. In red is the two grouped OR conditions where the Product field value equals AI Support or Iron Man Armor.
  3. In green is the condition where customer equals Stark Industries

Bonus tips

Use GUID when referencing a lookup in a condition

In Dynamics 365 we are used to seeing the Name of the lookup value when referencing a related record in a condition.

In Flow we need to reference the GUID of a lookup value since it uses the odata APIs of Dynamics 365. In Unified Interface, it's easy to get the GUID in the URL.

Lookup record exists in target instance

If you export and import a Dynamics 365 workflow from a source instance into a target instance that references a related record through a lookup in a condition step, the workflow will not execute as expected if the record does not exist in the target instance.

Same principle applies in Flow so make sure the record does exist in the target instance. Otherwise when the Flow is imported into the target instance and the GUID does not exist, you're going to run into a problem.

Stay tuned on a workaround in an upcoming episode if the record you are referencing does not have the same GUID in the target instance. For example, the data imported into DEV was from a spreadsheet. The same spreadsheet was used to import the data into TEST. The records will have the same Name, but behind the scenes the GUID is different.

Use Notepad++

Notepad++ is your best friend when it comes to making sure that you are not missing any close brackets which is what I demonstrated in my vlog. Notepad++ will highlight your brackets in red and it makes it easy to see where you are missing a close bracket.

Summary

To perform multiple conditions to use AND OR statements, and Group, you need to edit in Advanced mode to enter the correct function. It might appear as hard at first however you will get the hang of it. As mentioned earlier I am not a developer, but I was able to understand the concept of edit in Advanced mode when configuring the Flow condition step.

More #WTF coming. Stay tuned 😎
#FlowFever

Thursday, 20 September 2018

How to configure Dynamics 365 workflow scope in Flow

07:20 Posted by Elaiza Benitez , , , ,

#WTF 

In case you haven't watched my announcement video on my new WTF vlog series (What the Flow), here it is.


The purpose of my WTF vlog series is to help you extend your existing knowledge of configuring Dynamics 365 workflows and how to replicate this in Flow. Flow uses the odata APIs of Dynamics 365 and as a result of this, how you configure in Flow is somewhat different to Dynamics 365 workflows.

You may freak out. You may pull your hair out. You may think Flow is stupid.

Yes - I have mentally experienced this but once I overcame it I loved Flow. There's so much capability that Flow unlocks that we didn't have in Dynamics 365 workflows. I know, it is hard sometimes to let go of what you are already familiar with however you're not going to know unless you try.

Have I motivated you in learning Flow? Let's begin 😁💙

Episode 1 -  Scope in Flow

This is my first episode of my WTF vlog series. In this episode I talk about the difference between a Dynamics 365 connector and a Common Data Service [CDS] connector in the context of defining scope for Flow.

"Scope" is already a configuration we are familiar with in Dynamics 365 workflows. I thought it would be a good idea to kick-off my WTF vlog series with this since it is a configuration you normally set prior to configuring the Dynamics 365 workflow steps.

In case you are new to Dynamics 365

When configuring Dynamics 365 workflows one of the configurations is to set the scope of a workflow as this will determine which users will trigger the workflow. For more information on scope for Dynamics 365 workflows please check this out.

How do I replicate scope in Flow?

There are two types of connectors in Flow that is applicable to Dynamics 365:
  • Dynamics 365 connector
  • CDS connector

What's the difference?

In a Dynamics 365 connector, you cannot set the scope. The Flow will always be triggered organisation-wide.

Screenshot from Flow Dynamics 365 connector:

In a CDS connector, you can set the scope like how you currently can in a Dynamics 365 Flow.

Screenshot from Dynamics 365 workflow:


Screenshot from Flow CDS connector:


However as Andrew Ly pointed out in his blog, there are Flow premium connectors. Notice how some CDS connectors have a Premium label. 

I'm not a licensing expert but here are details of Flow plans. If you have questions on licensing I suggest you ask them in the Microsoft Flow community.

Steps

This will be familiar to you if you already know how to configure Dynamics 365 workflows in Flow. Set the desired scope in the CDS connector such as "Organization." 


That's it. You've learnt your first "how-to" in Flow. Congratulations!

Flow respects Dynamics 365 principles

Setting the scope in the CDS connector will replicate the existing functionality of Dynamics 365 workflows in scope. This means that the OWNER of the Flow defines which users will trigger the Flow.

What I demonstrated in the vlog is the following use case scenarios.


In terms of the security structure I have: 
  • The users Elaiza and CE Admin are in the same Business Unit
  • The user Aaron is in another Business Unit
In the use case where I set the CDS scope to Business Unit: 
  • when Aaron created the Case in Dynamics 365 the Flow would not trigger 
  • when CE Admin created the Case in Dynamics 365, the Flow triggered since CE Admin is in the same Business Unit as Elaiza, who is the owner of the Flow
The same Dynamics 365 workflow principles apply to Flow in regards to the defined scope.

Summary

Although the vlog was longer than this blog post, the vlog demonstrates that what you already know about configuring scope for a Dynamics 365 workflow and how it defines which users can trigger the workflow also apply to Flow.

In the next episodes I will begin to cover the configuration steps in Flow. I will start with how to do AND OR statements in a condition step. This is something you are already familiar with in Dynamics 365 workflows today but in Flow it's different which you'll learn in my next episode.

Stay tuned for more #wtf

#FlowFever

Sunday, 12 August 2018

Creating data-driven process mapping flowcharts using Microsoft Excel and Microsoft Visio

If you use flowcharts in your organisation this is the blog post for you.

The inspiration came from reading Ryan Maclean's blog post where he reflected on the importance of articulating a process logically through a flowchart. Ryan creates his flowchart using Microsoft Visio which is loved by many including myself. Go check it, it's tea-riffic.

In the Microsoft Office suite there are "siblings." Microsoft Excel was initially released in 1987 and then its adopted younger sibling came into the picture in 1992. These two siblings seem to have gotten closer over the years and have become more advanced.

Today, I'm excited to share with you the power of Microsoft Excel and Microsoft Visio to create data--driven process mapping flowcharts.

Wait, what?

Data-driven process mapping flowcharts. Yeah, exactly.

Watch my vlog and be prepared to be amazed by what you see.

Microsoft Excel and Microsoft Visio

Even though I am a Dynamics 365 consultant, I've always supported Microsoft products as I grew up with it in my household. My dad taught me Microsoft Excel when I was little and eventually I came across Microsoft Visio in highschool. I never thought I'd be using the two together years later.

Like Ryan, I use Microsoft Visio for what I do as a consultant. If it's available to you, try it out.

My first encounter with the two siblings playing together nicely was back in NZ where I learnt that I can define the shape data and the data graphic to create a Microsoft Visio template file that can link data to the shapes from an Excel spreadsheet.

Back then I used to work as a Sales Administrator for the General Manager of Sales and I created a Sales "pursuit" template that allowed the salesperson to colour code the existing platforms or the targeted to-be platforms of a client. The data was entered in an Excel spreadsheet by the salesperson and all they needed to do was link it to the Microsoft Visio template file. Microsoft Visio then associated the rows to the shapes and the shape formatting kicked in automatically. The sales team then had a visualization of each client they were pursuing.

Fast forward nine years and now you can create data-drive flowcharts from a Microsoft Excel spreadsheet. It's truly amazing and if you've read the Microsoft Business Applications release notes, soon you'll be able to create Microsoft Flows from Microsoft Visio.

And yes, I am a nerd when it comes to Microsoft Visio in case you hadn't worked that out already 😁

How can I use the export to Microsoft Visio feature from Microsoft Excel?

You need a Visio Online Plan 2 licence with an Office 365 subscription. Below is a screenshot of what the pricing looks like in Australian dollars.

Remember, to take advantage of creating Microsoft Flows from Microsoft Visio in the future you will need Visio Online Plan 2.

When you open Excel, search for "process" and there will be two templates you can choose from:
  1. Process Map for Basic Flowchart
  2. Process Map for Cross-Functional Flowchart

Select the template that suits you.

Once the template loads there will be tabs that are self-explanatory.

Visio data visualizer tab

This is an introduction to the template.

Understand the Process Map tab

This will outline what you need to know when entering your process into the table in the third tab.
Basically it tells you what the definitions are in the table. I'm not going to re-write the explanations here as it's straightforward to understand in the tab.

Process Map tab

In this tab this where you enter in your process steps. By default there will always be two rows so you need to remember that when you add your steps, the first start step needs to point to the next process step id otherwise it will continue to point to the default "Stop" step.

Ready to have a part-tea in Visio?
Once all your information is entered into the Process Map tab you can now hit the magic button in the Design tab. The magic button is "Export table to Visio Diagram."


Microsoft Visio will then load shortly followed by your flowchart based on the data entered in the Microsoft Excel source file.


You can then adjust
  • the positioning of any shapes that look out of line
  • the positioning of text
As seen in my vlog, if you insert a new shape into the flowchart in Microsoft Visio, you also have the ability to update the source Microsoft Excel file.


If you also update the source Microsoft Excel file with new process steps by adding new rows, you also have the ability to update the Microsoft Visio flowchart.

Truly amazing what the Microsoft Product Group team has created. Power of Microsoft Excel and Microsoft Visio!

Troubleshooting

I had some trouble installing Microsoft Visio from Office 365 as I had a conflicting version of Office products installed.


I uninstalled through programs and features.

What to do if you can't install after downloading from Office 365?

In my case, not all the files were uninstalled through program and features. I then had a phone call with Office 365 support to help me through it. Also, Office 365 support was awesome. The lady who helped me was great.

She pointed me to this link to run a program to take care of uninstalling all the files for you. I used "Option 2 - Completely uninstall Office 2016 with the easy fix tool."

The next thing I was advised to do is to use the diagnostics tool to install the Office suite first, followed by Microsoft Visio. The rest is magic and it works.


If you didn't know this existed, now you do. It helped me with my installation issues.
There also seems to be a tool available for Dynamics 365 which is interesting. I took a quick peek and looks like you can have assistance with the Dynamics 365 Outlook Client.

What if you can't see the Export table to Visio diagram button as seen in my vlog?

You need to opt in for the monthly channel for the Office 365 suite to make use of the new features available. To do this, you can head over to this link and download the program to help you switch from Semi-Annual Channel to Monthly Channel for the Office 365 suite.

Summary

To create data driven flowcharts from a Microsoft Excel spreadsheet, you need Visio Online Plan 2 to be able to export to Microsoft Visio. You can have two sources of data and whether you update either source, it will always be reflected by its sibling. You may think why have both an Excel spreadsheet and a Microsoft Visio file? Why not only one? Well here's my final thoughts
  • the Excel spreadsheet can be handy as it can provide the information in a tabular format
  • you may have users who are not familiar with creating flowcharts. They can start with entering the logic into an Excel spreadsheet and then export to Microsoft Visio for the diagram
  • for beginners with Microsoft Visio, it's not a bad way to introduce them to it and understand the underlying concept of a flowchart
If you're happy with creating only the Microsoft Visio file, then you can continue to do so. However since I've tried this out, I love it and I know it's going to make my documentation easier.

Watch the original video by the Microsoft Product Group team.

Go on. try it out. Indulge in your curiosi-tea. Feel like royal-tea and live in a high socie-tea. 
Cool story, bro brew.
Microsoft Excel and Microsoft Visio get oolong well.

OK OK, I'll stop 😂

Toodles.

Sunday, 22 July 2018

Hiding the Contact preferences in the Profile web form of Dynamics 365 Portals

When you provision Dynamics 365 Portals, there's a lot of configuration that's already set up so that you can hit the ground running. One of the configuration that's available on the Profile web form is the Contact preferences displayed as check boxes.

Usually this is asked to be removed whenever I work with clients as they prefer to have an email only subscription method such as embedding a ClickDimensions Subscriptions page in Dynamics 365 Portals. There's no need to ask how to get in touch with Contact other than email.

When I first started on Adxstudio Portals I automatically assumed it would be in the Contact Profile entity form however it's not displayed in a section on the form. 


So how do you it? Well my grasshoppers, in this vlog and blog post I cover how to hide the Contact preferences using in the Profile web form configuration only. Checkout my vlog below.

Steps

What's behind the Contact preferences configuration is the following
  • Content Snippets 
  • Site Settings 
To hide the Contact preferences check boxes, simply update the Site Setting of  "Profile/ShowMarketingOptionsPanel" by updating the value from true to false.


Refresh the Profile web page in Dynamics 365 Portals and you're good to go. Hooray!

Summary

To hide the Contact preferences in the Profile web form of Dynamics 365 Portals, update the Site Setting Record and refresh the Profile web page. Ta-da! Simple and configuration only.

Till next time, toodles.

Monday, 2 July 2018

Terms and conditions for GDPR in Dynamics Portals

What is GDPR?

For a history of GDPR this article is a good starting point.

In 2016, the EU adopted the General Data Protection Regulation (GDPR), one of its greatest achievements in recent years. It replaces the 1995 Data Protection Directive which was adopted at a time when the internet was in its infancy.
The GDPR is now recognised as law across the EU. Member States have two years to ensure that it is fully implementable in their countries by May 2018.

GDPR is now in effect as of May 25, 2018.

What to do if using or considering Dynamics Portals as a platform with customers?

As a baby step towards GDPR in Dynamics Portals, there are new features that can be used to ensure customers as users of the portal to review terms and conditions.

Those that pay attention to the Microsoft Experience site will recognize this has most likely stemmed from this one.

These new features were made available in release 8.4 (as it says on the What's New docs.microsoft site) however if you dig into the release notes, you can't exactly pin which release it became available but I'm not complaining. I'm glad that there's functionality to provide terms and conditions 😃

Now keep in mind that there's still more ground work for your organisation to be GDPR compliant. It doesn't stop with enabling these features in Dynamics Portals. This is simply supporting the law.

Even though these features at first glance seem to appear to be applicable for brand new user of Dynamics Portals, the product team has designed it in a way where it can still be presented to existing users.

Check out my vlog for a brief overview.

Steps

Displaying your terms and conditions content

There is a Content Snippet record which will be blank by default. This Content Snippet record is Account/Signin/TermsAndConditionsCopy

Once you have your terms and conditions confirmed (and hopefully legally reviewed!) you can enter in the Content Snippet. There's HTML capability so you can include hyperlinks to additional web pages if needed to provide further information to the user.

Side note

There is four Content Snippets which can be updated in regards to what can be presented to the user upon reviewing and accepting the terms and conditions. The additional three Content Snippets is the following

Account/Signin/TermsAndConditionsAgreementText
This allows you to change the acceptance statement.

Account/Signin/TermsAndConditionsButtonText
This allows you to change the label displayed for the button that allows the user to continue to the site.

Account/Signin/Terms And Conditions Heading
If you want a different heading, this is your friend

Update a Site Setting

After entering your terms and conditions in the Content Snippet, you'll want to enable the functionality. As usual, my favourite gem in Dynamics Portals is Site Settings. The Site Setting to update is Authentication/Registration/TermsAgreementEnabled.

By default the value will be false. Update the value to true for the terms and conditions functionality to now display in your Dynamics Portals instance.

Hammer time - let's test

Refresh your Dynamics Portals and create a new account. After submitting your account registration details, voila! The terms and conditions will be displayed and you won't be able to continue unless accepted.

But wait! There's more

Enter Site Setting No. 2.

There is another Site Setting (surprised?) that can be updated. This Site Setting is Authentication/Registration/TermsPublicationDate. If you leave this blank then the user will continuously have to agree to the terms and conditions before signing in.

If you don't want the user to agree to the terms and conditions every time they sign in, you can enter a GMT value in this Site Setting.

Remember earlier how I said the product team designed it in a way where it can be presented to existing users? Users who have not not accepted the terms and conditions by the date and time, will be presented with the terms and conditions before proceeding.

I researched online what exactly is the string required for GMT values and came across this handy guideline. Sweet!

The next step was turning to Google and checking what time would it be in Melbourne if it was 8am GMT. This converts to 6pm here in Melbourne, Australia. At the time I was doing my vlog, it was past 6pm so this was perfect.

The value I entered in this Site Setting was Sun, 01 Jul 2018 08:00:00.


When I then logged back into Dynamics Portals using the same user account from earlier, the terms and conditions was no longer displayed. 


What is stored back in the Contact record?

This one I didn't cover in my vlog. In the Contact record there is a field called "Portal Terms Agreement Date" which will capture the date and time the Contact accepted the terms and conditions.

Summary

Terms and conditions can be displayed to users in Dynamics Portals to support the GDPR law. This was made available in preparation for the GDPR. This can all be done using configuration only. Steps are quite simple too.

Check out the other features available from the release.

Till next time, toodles.

Monday, 18 June 2018

Preventing users from seeing the profile form after signing into Dynamics Portals

Like Dynamics 365, when you provision Dynamics Portals there's features that already exist so you can hit the ground running. One of these features which I often get asked about when working on a project with clients is "Can you change the sign experience where users don't see the profile form after they sign in?"

The current behaviour is after a user successfully signs into Dynamics Portals they are presented with the profile form. This is valid when the registration is "open" where any member of the public can create a log in account for themselves.

When creating an account with Dynamics Portals the only details asked are
  • Email
  • Username
  • Password
  • Confirm Password
Therefore it make sense for user to see the Profile form immediately after signing in to provide further details on their First Name and Last Name etc.

However in the scenario where registration for Dynamics Portals is invite only which is valid for some clients, then they shouldn't be directed to the profile form. Why? When sending an invitation to an individual to Dynamics Portals it's usually against a Contact where you already have details such as the First Name and Last Name in Dynamics 365.

To find out how to prevent users in seeing the profile form after singing into Dynamics Portals checkout my vlog.

Steps

The site setting to update in Dynamics 365 for Dynamics Portals is "Authentication/Registration/ProfileRedirectEnabled"


By default this is set to true. 

Update this to false. 

When you next sign into Dynamics Portals, the user experience is that they will be directed to the Home page. Ta da!

Summary

You can prevent users in seeing the profile form after signing into Dynamics Portals by simply updating a Site Setting. Zero code needed.

Till next time.

Toodles.

Thursday, 7 June 2018

Grant application management Part 2: the external reviewer and applicant experience

In Part 1 I demonstrated how Dynamics 365 Universal Resource Scheduling can be used to book external reviewers for a submitted granted application.

In Part 2 I'm demonstrating the review life cycle of a grant application where
  • the external reviewer receives an email that they need to review a grant application
  • the external reviewer can comment on the grant application to request for information
  • the applicant can respond to the comment
  • when the external reviewer is ready to make a decision, they update the status of the grant application
  • the grant application is not deemed as approved until both the external reviewer and internal reviewer have approved the grant application
The above was what I recognized as the business process to be implemented and along the way I faced challenges but overcame them.

I used the following technologies and methods
  • Actions, workflows, custom workflow activity using fellow MVP Aiden Kaskela's Workflow Elements solution
  • Dynamics Portals - in particular the Notes feature
Reminder that I'm using configuration and not using additional development for the grant application management business solution.

For an in-depth walk through, watch my vlog.

Sending an email to the external reviewer

Continuing from Part 1, after the Bookable Resource is created another workflow is triggered which will send an email with a hyperlink to the external reviewer.

Usually a hyperlink is provided where it directs them to the view that displays the list of records. Given that the external reviewers have other responsibilities in their lives, I wanted to make the end user experience smooth where the external reviewer clicks on a hyperlink and it will automatically redirect them to the application in Dynamics Portals. This is where I came across the first challenge.

Challenge 1 - How to allow the external reviewer open the application record directly in Dynamics Portals

When you open/view a record in Dynamics Portal, you will see the web page URL and the GUID of the Dynamics 365 record.

I knew how to create the hyperlink by using the url path of the web page that loads the entity form but my problem was how to retrieve the GUID.

Enter MVP Aiden Kaskela (round of applause) #whoishe
He created Workflow Elements solution which had a number of cool custom workflow activities that can be used. I recommend you do a test drive yourself as you might find that there's a use case for one or multiple custom workflow activities.

The custom workflow activity step that I used is "Workflow - Get Metadata."


Using they hyperlink wizard in the workflow step that sends the email, I inserted the web page url that displays the entity form.

The next step I did was using the form assistant, I inserted the slug for the Get Metadata and referenced "Record ID" which grabs the GUID for the Application.


The external reviewer experience is that when they click on the hyperlink when they receive the email is that they will automatically be directed to the application record in Dynamics Portals.

If they are not signed in, the outcome will be the following


This is because there is a web role required to access the web page and since they are not signed in they see this. The message displayed can be updated using a Content Snippet to prompt the external reviewer to sign in.

If they are signed in, the outcome will be the following


Pretty nice.

Decision

I did find a way for the external reviewer to see the Sign In web page if they weren't signed in by inserting the Sign In URL path in the hyperlink. This wasn't a great solution as if the external reviewer was signed in they'd be directed to the Sign In page.

I weighed the pros and cons, decided the option to direct them to the review application web page was better.

Unless someone can suggest something better? (Hey Colin if you're reading this feel free to let me know).

Allowing the external reviewer and applicant to communicate to each other

The external reviewer can comment on the grant application to request for information. In turn the applicant can respond back to the external reviewer.

I wanted to reduce the two parties emailing each other. Why? For these reasons
  • Prevent the email addresses to be shared in case either become disgruntled. They really should get in touch with Sir Grants A Lot to raise an issue.
  • Emails get lost and if someone else from Sir Grants A Lot needs to step in, it's easily visible in the Grant Application under Notes.
  • Driving more foot traffic to the portal is another way of getting more interaction of your content with your users. As humans we have the tendency to look at other information available so if Sir Grants A Lot had other meaningful content for their external reviewers or applicants, they'd find it on the portal. Less likely to get a hit rate if emails were sent.
My weapon of choice was enabling the Notes feature for Dynamics Portals. I could have used Timeline Control (upcoming vlog on this) but decided to stick with Notes as no other type of activity is going to be exchanged.

Once I enabled it and tested it out, it worked fine.

I then had to configure a workflow that will notify the external reviewer or the applicant when a new note was created so that either party can respond. Sounds simple right?

OK so when a Note is created from the portal, the only way to know the author of the note is to take a look at the Title field. In the Title field the Contact fullname and GUID of the Contact is stored in the Title.


I thought I could do this type of conditional step in a workflow:


However I couldn't as when you go to the regarding entity which is Application in my case, it will only display string/single line of text fields as this is the field type of the Title field in the Note entity. External reviewer and applicant is lookup fields therefore it's not displayed.

I came across this obstacle. However ain't no mountain high enough for this sista! #word #youfeelme

Challenge 2 - How to do a conditional workflow that will check who was the author of the Note

Now I don't want to take full credit for this as I happened to be talking about it with my technical consultant and suggested to use Actions. Sweet, gave it a go and it worked like a charm.

I used an output argument for a string field that will assign the value of the regarding application external reviewer or applicant field.



I then used this action in my conditional workflow that will now call the action to check if the Title contains the assigned value of external reviewer or applicant.


Yes. Almost there.

Challenge 3 - How to allow the external reviewer or applicant open the application record directly in Dynamics Portals

Next obstacle to overcome was providing the same experience from step one where the hyperlink provided directly takes the external reviewer and applicant to the application. A nice consistent experience. Or you could call it OCD.

I wasn't able to use Aiden's custom workflow activity step (cue the violins) as it will retrieve the GUID of the Note. 

What I did do was create a custom field in the application that would store the GUID on create of an application. I have another workflow that will perform this and it does use Aiden's "Workflow - Get Metadata" custom workflow activity step.


I then used this custom field in my hyperlink to insert the GUID. This is the end result:

Decision time

When the external reviewer is ready to make a decision they update the status of the grant application by clicking on two "buttons."

Behind the scenes these are two on demand workflows configured as actions against the Dynamics Portals Entity Form.

I have one on demand workflow that will update the external reviewer status to "Approved" and another that will update the external reviewer status to "Declined."

When an external reviewer is ready to approve or decline, they simply click on the button and the external reviewer status reason will be updated immediately.

Grand finale - two approvals equals Approved

The grant application is not deemed as approved until both the external reviewer and internal reviewer have approved the grant application.

This was fairly simple to achieve by having another workflow update the Status Reason if both the internal reviewer and external reviewer status reason equals Approved.

Summary

You can create a business solution for grants application management using Dynamics Portals and Dynamics 365 Universal Resource Scheduling. This was the challenge I set myself and it turned out great. Even though I had faced obstacles along the way, I overcame them by using different methods.

Some people don't like Dynamics Portals but I honestly really like it. Once you learn Dynamics Portals it's not difficult to create something cool. And then when you team up with another complimenting service like Universal Resource Scheduling, it makes the business solution even more cooler. I'm still learning Universal Resource Scheduling and am so keen to see what else can be done with it for custom entities.

What I would like to experiment further is create a model driven app for the internal reviewer experience.

Till next time.

Toodles.