Microsoft PowerApps, Microsoft Flow, SharePoint and Dynamics 365 working together, No coding required!!

All of you who attended the Microsoft Inspire and Las Vegas this year and the Microsoft Business Sumit at Seattle, would have heard a lot about the Microsoft Power platform. All the surrounding apps and services in Dynamics 365, such as Microsoft PowerApps, Flow, PowerBI, CDS etc. now are referred as the new Power platform.

In today’s blog post, we will see how all these powerful services puts the real power in the hands of the super-users of the systems and enables them to create seamless business process automation between applications such as Office 365, Microsoft SharePoint, Dynamics 365 and others, without requiring to write a single line of code.

The Scenario and the requirement:

  1. IT team of an organization uses Microsoft SharePoint(Office 365) for tracking company equipment loaned to it’s employees and for managing them. They use a SharePoint list for tracking these loaned equipment.
  2. Let us say the HR team of the organization wants to have visibility into the details of the equipments which are loaned to the employees, within the ERP system of the organization, which is Dynamics 365 for Finance and Operations in this case.
  3. Also, let’s say there is also a requirement, where the HR team wants to be able to edit or add new loaned equipments for employees, from within Dynamics 365 for Finance and Operations ERP application.
  4. Finally, when they are done with adding new loaned equipment for employees from within the ERP, they want an email notification to be sent to certain parties.

How do we do this?

The First component of the whole scenario is the SharePoint list that IT team uses to process and keep track of loaned equipment to the company’s employees. So just create a very simple Share point list with some¬† basic data fields as shown in screenshot below.

I am not explaining the details of how to create the SharePoint list. All of us know it ūüôā

Loaned Equipments Sharepoint

The Second component of the scenario is building the ability for the HR team to be able to see the details of these loaned equipment for each employee from within the ERP, which is Dynamics 365 for Finance and Operations(Referred as D365F&O from here on).

Let’s build this.

D365F&O provides the ability to embed Microsoft PowerApps into the forms directly and we will leverage PowerApps to extend the User interface of D365F&O, without requiring us to code and customize a new forms and underlying business logic. So we will first build a PowerApp from the SharePoint list we have for loaned equipment tracking.

To create the app, you can either initiate the App creation directly from within the SharePoint list, or you can just create a blank PowerApp within PowerApps online and the Connect to data and select the SharePoint list and list. Both will do the same thing for you.

App from Sharepoint

Screenshot below shows the app I have built from my SharePoint list. I am using the 3 default screens, Browse, Details and the Edit screen.

PowerApps screens

Since we need the HR team members to be able to see the loaned equipment details for respective employees, we will need to establish the context relationship between D365F&O and the PowerApp and the SharePoint list. In this case, I will use the Unique  Personnel number/Employee ID field of D365F&O to build this relationship.

When the PowerApp launches and starts within D365F&O, we need D365F&O to pass the Personnel number of the selected employee record to the PowerApp, so that it can look for the corresponding loaned equipments for that employee and show the results. To accomplish this, we will use the standard formula on the On Start action of the PowerApp’s main Browse screen. See screenshot below.

The formula to use on the On Start action of the PowerApp:¬† If(!IsBlank(Param(“EntityId”)), Set(FinOpsInput, Param(“EntityId”)), Set(FinOpsInput,””))

Note: FinOpsInput here is the global variable that PowerApp will use to receive the input data from D365F&O. The above formula is just a standard formula and you can use it as it is. You can name the global variable whatever you want.

OnStart Formula

Next, we will need to tell the PowerApp how to filter the data from the SharePoint list, based on the context /input data it receives from D365F&O. The input field in my case is the Personnel number of the employee. To do this, you can just use the simple Filter function of PowerApps on the BrowseGallery of the app. This filter will take the FinOpsInput global variable as the criteria. See the screenshot below.

Filter Items1

 

The next component of this requirement is, sending the email notification when an asset is added by HR team from within D365F&O into the SharePoint list. We will leverage Microsoft Flow for this. You can simply build the flow directly from the SharePoint list and the flow will be just basic, where it will send an email to one or more persons after a new item has been added to the loaned equipment list. Screenshot below shows the flow i have built for this.

FlowFrom List

Flow email

The Final component is embedding our PowerApp into the Employees form in D365F&O. This is very straight-forward. Just go to the Employees form and click on the Insert a PowerApp button. You can insert PowerApp on other locations of the form such as under a fast tab, or even as an action pane menu button. On the next screen,  you can enter a name/label for the app, and then specify the App ID of your PowerApp (You can get the App ID from the app details within Powerapps online). Lastly, you will select the input data field that you want to pass into the app. The screenshot below shows this setup i have done.

Insert A powerapp

Insert A powerapp2

With that, we have now built all the main components for accomplishing our requirement. Let us see this in action now.

The IT team has the SharePoint list for the loaned equipment tracking and i am not demonstrating how they will use it. It is just standard SharePoint functionality. I have loaded some data already to show in this demo. As you can see in screenshot below, the list has 2 Equipments loaned to Aaron, 1 to Adam and 1 to Adriana.

FlowFrom List

The real fun starts here. Now the HR team logs into D365F&O and navigates to Human Resources > Employees.

They can see the Loaned Equipments PowerApp button right there.

Launch PowerApp

When clicked, the PowerApp will launch and show the loaned equipments list for the employee record they have selected. In this case they have selected Aaron Con, so they see the equipments loaned to him..

Aaron Equipment

They can click on an asset to see the further details. All of this data is coming in real time from the SharePoint list.

Aaron Equipment detail

When they want to see the Equipments for another employee, they will select the employee and the PowerApp will show the respective Equipments. To prove this, I selected Adam Carter and you can see the Equipments for him now.

Adam Equipment detail

Now, let us say there is a scenario, where HR wants to update some comments on an existing equipment record or they want to create a new equipment record for Adam Carter from within D365F&O. We will see how they can do this and how the PowerApp will write the data back to the SharePoint list.

Selecting Adam’s worker record, the HR person clicks the New button on the PowerApp.

Add new equipment

Then they fill in the required details of the equipment. Let us say they want to add a new Samsung monitor for Adam.

Add new equipment1

After they successfully add the new equipment, the data will sync back to the SharePoint list via the PowerApp and it can be seen on the PowerApp after refreshing the list.

Record added to SP

RecordAdded for Adam

Finally, when the record has been added to the SharePoint list, my flow will trigger and send the email notification to required persons. I am not able to demonstrate this here since there are some data policies setup on the tenant that is blocking my flow, but it is very straight-forward. You can refer to my earlier blog post on Microsoft flow to know how this works.

So, with literally no coding required, we were able to leverage the Microsoft Power platform (Powerapps, Flow) and we connected data between SharePoint and Dynamics 365 and were able to see relations based data between the 2 systems. THIS IS VERY POWERFUL indeed !!!

I just made up this sample scenario for my post,but think of the possibilities with these. You can extend D365F&O functionality and automate business processes around everything. What if,

  • You can create a Smart Bot using Microsoft QnA Service maker, use PowerApps to connect to the QnA service using Custom API and custom connector and build a PowerApp for the Q&A interaction with users. You can then embed this PowerApp in D365F&O (For example on the Vendor self-service portal) to make it easy for vendors to get answers to their questions in a bot chat interface. (Got to test this out at some point :))
  • You can create a PowerApp to create shipping labels and pass the delivery address from D365F&O to the app to generate shipping label ?
  • You can have tracking number of sales orders and build a PowerApp to build a package tracker. (Microsoft uses this for demo purposes)
  • You can create a PowerApp to create product labels, QR codes and pass Product ID from D365F&O to generate that.
  • And many more….

That’s it for today’s post. Till next time…

-Sandeep

Advertisements

Microsoft Unveils the Next chapter of Dynamics Cloud Business Apps, Dynamics 365

With the launch date now getting near(1st November 2016), Microsoft unveiled the First look and shared more information regarding Dynamics 365, the next generation intelligent business apps in the cloud. Right now, there are obviously a lot of excitement, questions, confusions, concerns among existing customer and user base of the legacy On premise applications (GP, SL, NAV & AX) as well as prospective customers and the partner community. All of us probably are wondering how our investments is Microsoft Dynamics is going to shape up in the new Dynamics Cloud era .

In this post today, let us understand and decode some of the key facts about Dynamics 365, that were unveiled and discussed in Summit 2016 held at Tampa, FL.

d365intro

Microsoft unveiled the First Look of the next generation cloud business apps, all under one unified platform called Microsoft Dynamics 365. Below are some of the key take away from the first look.

  • Microsoft Dynamics 365 is the next generation of intelligent business applications that enable organizations to grow, evolve and transform. These applications unify CRM and ERP capabilities by delivering new purpose-built applications that work seamlessly together to help manage specific business functions across Sales, Customer Service, Operations, Financials, Field Service, Project Service Automation, Marketing, and Customer Insights.

  • This perfectly aligns the Dynamics business segment with the Cloud First, Mobile first strategy of Microsoft and puts the Dynamics platform and business applications in the forefront of the Cloud and mobile innovation by Microsoft. This means customers will see faster and continuous innovations in the business applications¬†and will¬†get¬†feature updates frequently, and get¬†capabilities connected to the entire breadth of Microsoft Cloud apps such as Office 365, Azure, Cortana Intelligence Suite, Power BI, PowerApps, Flow, IoT, Machine Learning¬†and more.

dynamics-cloud

  • Dynamics 365 integrates the Dynamics CRM and ERP products into one unified Cloud Service and delivers end to end business application functionality as a SaaS service in the Cloud. These apps can be consumed separately and together based on your needs. So you pay only for what you use.

unified-cloud-service

  • Let us¬† now understand what each of these business apps really ¬†are under Dynamics 365.

Dynamics 365 For Sales: It is the Sales component/module of Dynamics CRM Online.

Dynamics 365 For Customer Service: It is the Customer Service/module component of Dynamics CRM Online.

Dynamics 365 For Field Service : This is the Field Service component/Module of Dynamics CRM Online.

Dynamics 365 For Project Service Automation: This is the Project Service component/module of Dynamics CRM Online.

Dynamics 365 For Marketing: Microsoft recently announced that it fully will integrate Adobe Marketing cloud with Dynamics 365 and make it the preferrable marketing app for Dynamics 365.

Dynamics 365 For Operations: This is the New Dynamics AX (AX 7) ERP that we all are familiar with. This is where most of the customers/prospects might get¬†confused. The name “Dynamics 365 For Operations” misleads a little bit. This business app¬† is really ¬†targeted for the enterprise customers and obviously includes full advanced Financials functionality as well of AX 7. With this app, customers do NOT need to buy other Financials apps such as “Dynamics 365 for Financials”. “Dynamics 365 for Operations has everything you need to manage your Operations, including Core Financials. Hopefully Microsoft will rename this app to “Dynamics 365 For Operations¬†& Financials” at some point :).

Dynamics 365 For Financials: This is the new Financials app of Dynamics 365(Earlier known as Project Madeira)¬†and is primarily targeted for SMB customers¬†in most cases. This does not include any of the advanced Operations functionality such as Manufacturing,¬†E-commerce(Retail), advanced supply chain¬†etc.¬†¬† When we say, this is targeted more for the SMB customers, we might argue whether Microsoft thinks that SMBs do not have “Operations” ? Of course some of them do and Microsoft is probably thinking those customers should chose Dynamics 365 For Operations app instead of the Financials app. We will have to wait and see how this shapes up.

  • Dynamics 365¬† provides a unified user experience across all different apps and seamless transition. So you don’t have to spend more time navigating between systems. These apps are also seamlessly integrated to exchange data and play nicely with each other. For example when a Sales rep creates a Sales order from a confirmed sales quotation in the Dynamics 365 for Sales app, it will create the Sales Order automatically in the Dynamics 365 for Operations app. Very powerful. I am excited to test more scenarios and how the data flow looks between these apps !

ui

ui-apps

  • A brand new HOME¬†page showing you a view of all apps you own under Dynamics 365¬†and a¬†direct access to Microsoft Appsource. Appsource is where you can go explore more purpose-built industry solutions(Apps) built by¬†various Microsoft partners. When you discover new business apps, you can also see partners that are capable of implementing those apps.

home-page

And Probably a new LOGO for Dynamics ? The Dynamics platform is most certainly getting a new logo which may look something like below.

d365-logo-small

  • Power BI is embedded throughout the Dynamics 365 experience. As a result, you will get business insights for each of your business areas at one central dashboard page, still powered by Power BI.

powerbithroughout

  • Dynamics 365 is inherently MOBILE with full offline mode support!¬†(For Windows, android and iOS).¬†This is probably one of the biggest feature update¬†of Dynamics platform. With Dynamics 365, Customers can have mobile apps (Several Out of the box) and can create apps literally for any area/App. You can check my earlier post HERE to learn more about the mobile apps framework of Dynamics¬† 365 for Operations (Dynamics AX).

mobile-screens2

mobile-screens1

  • ¬†Integration of Dynamics 365 and Office 365 Better than ever before. Traditional On-premise business apps (NAV, AX, SL etc) always had integrations with Office 365 and could exchange data with Microsoft word, excel outlook. But the scenarios and capabilities were somewhat limited. With Dynamics 365, the integration goes to a whole new level and provides users a full-blown integration. For example, you can drill into the details of a customer record of Dynamics 365 from within your Outlook email and even see further details such as associated sales opportunities, and launch the Dynamics 365 for Sales app/Other apps from within the email. Sleek !! A lot to explore and learn.

office-integration

  • Artificial Intelligence in Dynamics 365. Microsoft and other big companies like Google, Amazon and more are betting their future on Artificial intelligence. With Artificial intelligence built-in in Dynamics 365, you can now get product recommendations, have your office 365 data(Such as email communications and more) automatically populated into Dynamics 365 Sales or even get proactive automated personal sales assistance with warnings and recommendations when needed¬†. This certainly involves a good learning curve for me and understand what are various things we can do with it.

ai

ai-1

  • New SaaS service called “Dynamics 365 for Customer Insights announced under Dynamics 365. This app/service is built on top of core Azure and Cortana Intelligent data services and it¬†can connect to your¬†Dynamics 365 data and literally any other data source,¬†to help you build¬†a 360 view of your customer and¬†better understand and engage with your customers in real-time.

customer-insights

Question: Do customers need to pay to use this Service ? I do not know and we will need to wait and watch.

  • What will happen to the existing customers using AX 2009 or AX 2012 On-premise versions: There is no immediate impact for these customers. Microsoft will continue to support AX 2009 until 2018 and AX 2012 for even longer time(2021, Find more info on my earlier post). There may also be feature updates released for AX 2012. However, Microsoft also revealed upgrade plans for existing customers. You can learn more in detail at the blog post by MSDynamicsWorld.com HERE.

Long story short, customers using AX 2009 can start evaluating their upgrade options with assisted upgrade tool for AX 2009. These tools are in preview now and when released, it will have the capabilities to do the heavy lifting for you for the upgrade. I assume, while the tool can help these customers to a great deal, there will still be good amount of work that needs to be done to make these upgrades successful.

For Customers using AX 2012, the upgrade path will be comparatively easier given the fact that schema and underlying business logic of AX 2012 and AX 7 are pretty much same. The upgrade assisting tools for AX 2012 may be available around March of 2017. Need to wait and watch.

  • More news on Common Data Model and surrounding Apps: Many of us probably¬†know what is the Common data model and the role it has to play in the new Dynamics era. CDM basically is intended to surface data that is stored¬†within Dynamics 365 across all the different business apps (Sales, Marketing, Operations etc.) into a set of data entities that can model the¬†data between these different apps. It can also connect to entities outside Dynamics 365 such as Office 365 and more. As Microsoft clarified further in AXUG conference, think of CDM as a parallel data repository and will sync with Dynamics AX and other database of¬†different business apps of Dynamics 365.Then services like Microsoft PowerApps and Microsoft Flow can use this to create powerful events automation and business apps connecting multiple applications and services.

cdm

  • What is coming in Dynamics 365 For Operations and it’s roadmap: There are a whole lot of new features and capabilities coming to the Dynamics 365 for Operations(Dynamics AX 7)¬†app in the fall release (November 2016). Below are some of the key features that you will see in the fall release.

Courtesy : MS Dynamics World News

feature

Hope this was a good summary of Dynamics 365 announcements at Summit this year. We all have  a long way to go and learn the cool new features and services and be ready to sail through the cloud era.

Best,

Sandeep

Create powerful tasks/process automation using Common Data Model and Microsoft Flow in Dynamics 365

In my last post on “Making sense of Common Data Model and Microsoft PowerApps in Dynamics 365“, i explained in detail how you can use the Microsoft Common Data Model and PowerApps to create powerful business apps for your organization.

Along with the Common Data Model and Microsoft PowerApps, another significant component of Dynamics 365 is the new cloud based event automation service from Microsoft called as “Microsoft Flow”. Microsoft flow is basically an task/process/event¬† automation service, that allows to execute certain event (Such as sending an email notification, Creating a new record, saving/sharing files and more) when another event happens (Such as a new record is added to Common data model, a record is modified, a new person follows you on twitter and more).

Flow & CDM

You can learn more about Microsoft Flow Here.

In today’s post, we will see how you can take advantage of Microsoft Flow and automate several events between Common Data Model and other components of Dynamics 365 which are Dynamics CRM, Dynamics AX ERP, Project Madeira and others. In the current release of Microsoft Flow, only Dynamics CRM online is available for event automation, but when Dynamics 365 releases in future, you will start seeing other components such as Dynamics AX, Project Madeira and more.

In this walk through, i would have liked more to show how we can automate the process of “Creating a new Opportunity record in Dynamics CRM online, when a new opportunity record is added into the Common data model”. But I am having an intermittent issue connecting my CRM sandbox environment to Microsoft Flow. So, i will alter the flow a little bit and will send an email notification instead to myself, when a new opportunity record is added in the common data model.

With that said, let us go ahead and create this flow. Follow the steps below.

  • Login tot Microsoft Flow using your Office 365 credentials at the below URL. https://flow.microsoft.com/en-us/.
  • At this point, you can create your flow from¬† a template or create it from blank. I will create the flow from blank.

Create Flow from Blank

  • The next step is to set the initial trigger which will kick off the event (Which in this case is sending an email notification). So i will select the trigger “Common Data Model – Object is created”. Notice that you have several triggers from Microsoft applications and services, as well as for several 3rd party apps. This list of triggers ois going to grow over the period of time adding more capabilities.

Select Object CDM

  • Now I need to select my database name in the common data model. I have already configured my database in common data model and will consume the same in this walk through. After selecting the database, i will also need to select the Entity name, which is “Opportunity” in this case, since i want to create my flow using this.

Entity Name and Database

  • We will now setup the Next step by clicking the New Step button. Notice that you will see various options here such as “Add an action”, “Add a condition”, “Add a loop” and more. In this case, i will select Add an action.

Add new step

  • My preferred action if my CRM Sandbox environment did not have the issue would have been to add the new opportunity record in it. You can see in screenshot below that i have highlighted the action.

Action CRM Online

Since my CRM environment has the intermittent issue and i cannot connect it to my flow, i will use another action, which is to send an email notification to myself informing that a new opportunity record is added to the CDM.

Action O365 Send Email

  • The next step is to specify the email ID, subject and the body of the email notification. Screenshot below shows how you can set these up. Notice that you can make the email notification more detailed by adding the data fields in real time from the Opportunity entity into the email notification. For this walk through i will just use the basic one. You can even click the Advanced options to make the email notification more sophisticated with attachments, Cc, Bcc etc.

E-Mail Details

  • At this point, you can add as many steps/conditions/actions/loops as you want based on your flow’s requirement. In this case since the flow i wanted to created, i will provide a title for the flow and click Create flow and then click Done.

Save Flow

  • That is it! Our flow is now ready and we will now go see this in effect. To do this, we will open the Common Data Model and add a new Opportunity record in the Opportunity master. There are multiple ways of inserting the data into CDM, I will do this by connecting to my CDM database and opening the Opportunity entity in Excel and publish the new record from Excel back to the CDM.

Open CDM in Excel

Publish Opp to CDM

  • As soon as I click Publish and the record gets created in CDM, I got the email notification as per the setup we did in the flow. If I had my desired action setup, then it would have created a new opportunity record in Dynamics CRM online.

\Email Notification

This blog post was intended just to give you an idea of what is possible using the Common Data Model, Microsoft Flow and other components of Dynamics 365. When Microsoft Flow evolves with time and Dynamics 365 launches with more features, you can create various purpose built flows to automate tasks and processes of your organization in the ERP in real time. Stay tuned for more features, and discussions. Till next time !!!!

Sandeep