Adding New Users to Allow Access to Power Apps Portals Admin Center

A common issue for new Power Apps Portals deployments is that you may need to have multiple internal employees that need admin level access to the Power Apps Portals admin center. These users would need this level of access to perform common Portal Actions, including:

Typically, only the original user that provisioned the portal will have access to the admin center – unless additional Azure Active Directory (AAD) users are added. In today’s blogpost, we’ll walk through the process of adding users. Enjoy!

Process

First, the user that originally provisioned the portal will need to go to the admin center to get the Azure Application ID specific to this portal. This ID will be unique to each portal instance that is attached to a Dynamics CE/CDS environment.

1. Navigate to the Power Platform admin center at: https://admin.powerplatform.microsoft.com/environments

2. Click the ellipsis menu. Select Resources > Portals

3. On the list of portals, select the ellipsis menu and click Manage.

4. On the Power Apps Portals admin center page, make a note of the Application ID. You should be able to copy this to your clipboard.

Note: These next steps will need to be performed by an Office 365 global administrator or someone with access to update Azure AD.

  1. Navigate to https://portal.azure.com/#home
  2. From the left navigation, select Azure Active Directory
  3. Next select App Registrations
    1. In the Search box, you can paste in the Application ID captured in Step 4 to find the correct App Registration.
  4. Click the Application name
  5. From the left navigation within the app, select Owners from the list.
  6. Click + Add owners
  7. Search for the additional owners in the Azure AD that you want to add and click Save.

Conclusion

This process will allow you to provide access to the Power Apps Portals admin center to additional Active Directory users. It’s important to point out that this process does NOT grant any access to administer the portal content, it only grants access to the admin center for the Azure web service that hosts the web site.

Happy D365’ing!

PowerObjects' Commitment to Education

What truly differentiates PowerObjects from other Microsoft partners is our deep commitment to training and education. We understand that an organization's success with Dynamics 365 is reliant on strong user adoption and advocacy, which in turn is dependent on focused product and process training as well as effective change management. Watch this video to learn more about our Dynamics 365 education offerings and how PowerObjects can help your organization succeed!

Send a Collection from Power Apps to Flow

As you build your Power Platform apps, you probably find yourself in situations where you need to send multiple rows of data from Power Apps to Flow for further processing of that information and to take subsequent steps. Typically, these multiples rows of data are stored in a Collection, so ideally, you would just pass the Collection directly to Flow. We’ll show you how in today’s blogpost.

For the longest time, it was not easy to pass a Collection to a flow. It required some crazy workarounds because Flow accepted only string values as parameter from the app. Because of this limitation, we had to either pass one string value at a time to Flow, which meant that it consumed a run for each string (expensive!), or hard code a certain number of variables that we thought wouldn’t be exceeded, and then pass those many (or less than) string values from the app to Flow. Both workarounds are definitely not what we call good design!

Just recently, however, Microsoft released the JSON function that lets you send an entire Collection to Flow! JSON comes in with the ability to send the whole Collection data as a text string and it takes only a single flow to process all data in the collection we send. In PowerApps, to send the whole Collection as input parameter for the flow, we pass the Collection to the Flow as shown below.

TestpassacollectionfromPowerAppstoFlow.Run(JSON(EmailsCollection,JSONFormat.IndentFour ())

C:\Users\thien.doan\AppData\Local\Packages\Microsoft.Office.OneNote_8wekyb3d8bbwe\TempState\msohtmlclip\clip_image005.png

In the example above, what we want to do is select multiple records and send an email to/for all of them. A typical use case would be emailing a report for all the jobs we have done today. So, what we want to happen is this: on click of the Send email button, we want all the emails from selected records on this gallery to be added to a collection that is then passed to Flow.

Inside the Flow, all we need is another step to parse the JSON with the schema we send from PowerApps.

C:\Users\thien.doan\AppData\Local\Packages\Microsoft.Office.OneNote_8wekyb3d8bbwe\TempState\msohtmlclip\clip_image006.png

One tip to quickly get the schema is creating a trial run to get the EmailCollectionString record of the flow from PowerApps; then use sample payload to generate schema in the Parse JSON step!

C:\Users\thien.doan\AppData\Local\Packages\Microsoft.Office.OneNote_8wekyb3d8bbwe\TempState\msohtmlclip\clip_image007.png

It now takes only a single flow run to send a list of emails to users. Additionally, we are able to use other information that goes along with Email – in this example, Name. You can obviously add any other related information to your collection and pass it to Flow using this method.

Another Use Case

The JSON function can be used not only for passing collections to Flow but also for troubleshooting other issues. For example, if you use the Media control in your app, it returns only a blob url for a photo, which does not allow you to use the photo in any of the ways you would expect. However, the Camera control returns an actual image you can view and store just like any other image. In this scenario, you can use the JSON function to get the value from image data of the AddMedia control via the flow.  The JSON will be able to hold the image data instead of the blob url. See below:

Conclusion

The JSON function can play a vital role if you want to send a large amount of data from Power Apps to Flow. No more workaround or any technical work needed for dealing with larger datasets in Flow. Dont forget to subscribe to our blog for more Power Apps and Flow tips and tricks!

Happy Flowing!

Who We Are – The PowerObjects Story [VIDEO]

What does PowerObjects do? This 3-minute animated video tells our story – from our fanatical focus on Dynamics 365 and Microsoft Business Applications to our four pillars of success, industry focus, and global presence. We’re proud of the successes we’ve helped customers achieve, and we’re proud of our own successes, as well. We think this video captures the essence of what makes that success possible!

PowerObjects Receives MSUS Partner Award for PowerApps

Today we again take a short break from our regularly scheduled programming to share another nugget of exciting news: PowerObjects was recently given the MSUS Partner Award for Business Applications – PowerApps!

Microsoft US (MSUS) created the MSUS Award Program to recognize outstanding achievement by US partners, as well as to supplement the highly competitive global Microsoft Partner of the Year program. As you may recall, we were honored this year with two of the global Microsoft awards: 2019 Dynamics 365 for Customer Service Partner of the Year and 2019 Financial Services Partner of the Year. Adding the MSUS Partner Award for Power Apps makes us a 2019 award-winning Microsoft Partner… thrice!

According to Microsoft, winning this award means that PowerObjects has shown leadership in customer impact, solution innovation, deployment, and exceptional use of advanced features in Microsoft technologies over the past year. Our work reflects the dedication we have to our customers’ success and stands out as a model to other US Partners.

The MSUS Partner Award for Business Applications – Power Apps recognizes a partner that excels at providing innovative and unique IP built on top of the Microsoft Business Applications platform (Dynamics 365, CDS, PA, etc.). The recipient demonstrates success on a global scale by providing industry specific solutions that help customers transform their business in this digital age.

Examples of our Power Apps work are plentiful. Here are just a few…

Microsoft Business Applications – especially Power Apps – are the future of Dynamics 365, which explains why PowerObjects is 100% focused on delivering solutions based on this exciting suite of tools.

Thanks for indulging our pat on the back. We’ll return to helpful hints, best practices, and lessons learned in our next blogpost.

Happy Dynamics 365’ing!

Microsoft Showcases PowerObjects-built PowerLead

In today’s blogpost, we’re stepping away from the technical content we usually publish in order to share some exciting news. But first, a little background…

If you follow our blog, you know that our bread and butter at PowerObjects is Dynamics 365 and the suite of related Microsoft Business Applications. And you’ve likely noticed that in the last year, we’ve also had a deliberate and sustained focus specifically on our Power Platform practice. Power BI, PowerApps, and Flow have tremendous potential to positively impact Dynamics 365, so this increased focus is only natural. In fact, we even established an internal Power Platform Center of Excellence where a group of passionate technology experts work together to share and spread their expertise, industry best practices, and training specific to the three branches of Power Platform.

So, on to the exciting news… our team of experts used Power Apps to build a solution that is now featured on Microsoft’s own Power Apps Partner Showcase website! The solution, PowerLead, allows users to capture leads on the fly with functionality that easily scans business cards or manually create leads and contact records with just a click. It features Voice to Text recognition, saving team members valuable time. Additional features give users the ability to follow leads, edit records, and share records with colleagues on demand. PowerLead has a dedicated area for viewing statistics in an easy-to-read graphical representation, adding more flavor and functionality to the lead capture process. You can see it here.

This is our second Power Apps solution to be showcased on Microsoft’s site. The first, Sales Toolbelt, can be seen on Microsoft’s site here. Having multiple Power Apps solutions showcased puts us in rare company – only a handful of Microsoft Partners have even a single tool featured, and less than five partners can claim more than one. With lots more in the works here at PowerObjects, it won’t be long before we’re featured again.

Thanks for indulging our quick pat on the ol’ back ! We’ll return to the technical stuff tomorrow…

Happy Dynamics 365’ing!

D365 In Focus: Transform Your Organization with Sales Tool Belt [VIDEO]

In this Dynamics 365 In Focus video, Venkat walks through the Sales Tool Belt app created by PowerObjects. We love to create apps and add-ons based on customer feedback and functionality requests, and the Sales Tool Belt is no different! We created this app to give sales teams easier access to their CRM information while they are traveling. It has a host of useful and convenient features for those of you on the go. Watch this video to learn more!

Using Power Apps and Flow to Send Photos

In today’s blogpost, we’ll show you how to use Power Apps and Flow to send a photo from any mobile phone to an Account’s SharePoint Folder. Enjoy!

Depending on the type of business, it can be pretty common for field employees to need to take photos of the work they do. These photos are generally archived by the business as a record of work done and/or used in reports that go to customers showcasing the work done for them. Many businesses prefer SharePoint as a place for storing such photos. If you use Dynamics 365 for Customer Engagement, you can use the OOB SharePoint Integration to create unique folders in SharePoint using a concatenation of the name of the Account and the account’s Unique Identifier.

For example, in our test environment we’ve got an Account named Saratoga Boat works and the associated folder is named Saratoga Boat works_28D7AD371687E811A967000D3A109495.

Using PowerApps, we created a simple app to display a list of the Accounts a user owns:

powerapps

When we click on an individual Account record, we see the photo page. We click on the icon to take the photo. This action will perform two functions:

1. Capture the image and add it to a gallery with a unique name.

2. Navigate the user to the photo review page, where the user can decide to delete, retake, or save the photo to SharePoint.

powerapps

When the User clicks the Save icon, the image will be sent to the Documents folder associated to the Saratoga Boat works account in Dynamics,

powerapps

When we navigate to the SharePoint folder from the Saratoga Boat works record in Dynamics 365, we can see the image we just took and saved.

So, how did we get the photo to that specific folder? With a Flow! To send the photo to the SharePoint location, we create a Flow using the Create SharePoint File function.

powerapps

In the Flow, we pass three variables:

1. Folder Path

2. File Name

3. Image Content

In the PowerApps-built app, we have an onclick event that triggers the Flow:

PhotoFlow.Run(Concatenate(Gallery1.Selected.name,"_",Substitute(Gallery1.Selected.accountid,"-","")),ImageGallaery_1.Selected.Filename,ImageGallaery_1.Selected.Image);

As you can see, we are using a Concatenate function to create the folder name for the account.

And that’s pretty much it. In PowerApps, you call this Flow on press of the save button, which will save the photo in the correct SharePoint folder. Don't forget to subscribe to our blog for more helpful tips!

Cool, huh? As always, happy PowerApps’ing!!

Unlock the Potential of D365 with Microsoft Power Platform [VIDEO]

Microsoft’s Power Platform was designed and built to unlock the potential of Dynamics 365 and Office 365 faster and more completely than you ever imagined. Comprised of three sets of tools – Power BI, PowerApps, and Power Automate – the Power Platform empowers everyone to innovate with one connected platform. Watch this video to learn how can you unlock the potential of Dynamics 365 and Microsoft’s Power Platform with PowerObjects.

PowerApps: Sending Text Messages

So much can be accomplished with Power Apps! In today's blog post, we will walk you through the incredibly simple process of using Power Apps to send text messages with prefilled content using your own phone's native messaging app. It's just one example of the potential of PowerApps.

With PowerApps, we can generate text messages in a couple different ways:

You can even configure the body of the text message in Power Apps to make the whole process only two clicks:

1. Click the Send on-route text message button in Power Apps .

2. Click Send.

Slick, right? Now let's look at how we can automate this process with a very simple formula.

1. In the "OnSelect" event of our button, we will add the Launch() formula Launch(Address, Label, value). As the name suggests, Launch is used to open or launch an application on your device – it could be your phone's native SMS/texting app, a phone call app, or even a browser. In our example, we will pass the SMS: along with the customer's phone number in the Address parameter and then pass "body" in the Label parameter to denote the location of pre-populated text of our choice, which is the Value parameter. The pre-populated text is a concatenated string of text along with fields from the Customer record to personalize the message.

2. Note that in terms of the necessary code, there is a slight difference in the syntax between IOS and Android devices. Android follows the comma-separated syntax describe above: Launch(Address, Body, Content). However, Apple devices use a slightly different syntax that uses ampersands (&) and equal signs (=) instead of the commas, yielding the following syntax: Launch(Address & Label=Content). To handle the specific syntax for Apple, we concatenate the three Launch parameters into the first (Address) parameter. We add the ampersands and equal sign syntax into the string and the Apple device will interpret the syntax and will open a new message.

So, there you have it! Although simple, the Launch formula can help you not only automate your processes, but also save you a lot of money by using your carrier's (unlimited) texting plan.

Tip: You can also use the Launch() function without the "body" seen in the examples above. If you just say Launch("SMS" & Gallery1.Selected.address1_telephone2), it will launch the SMS/texting app on your phone with the customer's phone number filled in. This gives you the ability to seamlessly transition from the Power Apps to your native texting app to send personalized messages to your customer.

We hope this helps. Don't forget to subscribe to our blog for more!

Happy Power Apps'ing!

Route Optimization With Flow and PowerApps: Power Platform App for Delivery Fulfillment

Scenario: Your organization receives orders and then delivers those orders to customers. The drivers in your organization show up for work at a warehouse, pick a truck that's already been loaded with packages, and heads out for the deliveries. But… once the drivers are in the trucks, how do they know which package to deliver first? And how can they deliver all packages efficiently – spending the least amount of time driving?

The answer: route optimization. When it comes to delivering packages efficiently, route optimization is crucial – and it can be accomplished by implementing a solution built with Power Apps and Flow! Let us show you how…

Before we begin, let's cover a few parameters:

1. The app we're building connects to Dynamics 365 for Customer Engagement in order to:

2. Via Flow, the app uses Google's API to perform the route optimization action for drivers.

Now, let's get started!

App Interface

Screen 1 - "Available Trucks"

Drivers picks from a list of available trucks. These Truck records are created in Dynamics 365 and displayed in Power Apps using the standard Dynamics 365 connector.

route optimization

Screen 2: "Deliveries" (a unique list for each truck)

This screen shows the deliveries contained in the Truck selected on Screen 1. As you will see, each Delivery has an associated Address. Clicking Optimize Route on this screen sends the address information to an Azure function, and within a matter of seconds displays an optimized route in Google Maps. More on that later.

route optimization

Fun Side Note: Clicking Optimize Route brings up a screen with a fun GIF. As the route optimization is being performed, the screen shows a navigation marker that's being chomped on. ?

route optimization

Screen 3: Delivery Details

Open one of the Delivery records in the previous screen to view its details. Click Navigate to open the phone's maps app with this delivery's address.

route optimization

Flow Details

Below is the Flow that is triggered upon clicking Optimize Route.

1. Power Apps general information.

route optimization

2. The Initialize variable step defines the start and end location, which we have defaulted to as Minneapolis, MN.

route optimization

3. Get the Address information from the Delivery records for the specified Truck.

route optimization

4. Define a variable "value" that contains the start point, end point, and addresses.

route optimization

5. Send the information contained in Step 4 to an Azure function. This Azure function sends the information to the Google Maps Directions API, which sends it back to the Azure function in an optimized fashion.

Note: The Directions API is very nominally priced, starting at $.005 per call ($5 for 1,000 calls).

route optimization

6. The Azure function sends the optimized route back to Power Apps in a URL format. This URL is then opened in the device's native maps application. In our case, here's what Google Maps displays:

route optimization

And there you have it! With Power Apps and Flow, you can build your own fully-functioning delivery app that incorporates route optimization.

Conclusion

This app highlights two very powerful features of PowerApps:

1. If you have a need for a mobile app that has a very specific use case – however complex it may seem, Power Platform is definitely a viable platform for it because of its ability to work with practically any application in existence. And as you can see, a fairly complex app can be built quite easily using Power Platform.

2. Cost! Power Apps and Flow are most likely included in your Dynamics 365 or Office 365 plan. You will be not be paying any additional licensing fees for a single app.

Visit our Power Apps and Flow webpages to learn more. Happy Flow'ing!

Enhancing Customer Experience with Power Apps and Chatbots

When researching or buying a product or service, a customer has several touchpoints with a company – these can include a salesperson, technical engineer, financial adviser, retail store employee, field technician, and many others. Through all these touchpoints, the customer is expecting a smooth, easy, and pleasant buying experience. For this to happen, all internal employees must be certain they're providing the right information at the right time to their customers, which begs the question: do our employees have access to the right information, tools, and people to provide good and accurate information to the customer?

Many times, the issue that arises in this endeavor has nothing to do with providing information to customers or prospects – instead, it's that our own employees may not be familiar with the processes in place and may need help getting their questions answered to get comfortable with the process. Here are a few examples:

All employees who accompany our customers on their buying journeys may have such questions. So, the question becomes, how do we ensure they are empowered every step of the customer journey and have access to the right information at their fingertips? In today's blog, we'll answer that question!

Power Apps + Chatbots

First, let's quickly discuss chatbots and attempt to debunk some preconceived notions about them. In our experience, when most people think about chatbots, they automatically and immediately associate them with customer service. It seems they picture a customer wanting an update on their delivery status, so they go to a website, start a chat, ask a question about their delivery status, and boom! They immediately get a bot-powered response. Now, it's great that customer service for end-consumers is the first thing that comes to mind, but chatbots can be used in so many other scenarios besides just tier-one customer service.

Let's revisit one of the questions we posted above: "What PowerPoint template should I use for my presentation?" This is an innocuous question asked by a salesperson - can we not have a bot answer that question for them?

Yes, of course we can! Not just this, but many other process-, product-, or service-related questions, as well. And what this means is that your employees are not emailing, texting, or calling each other to find the right information. In times of needs, a beloved bot can be at their service and help them out immediately!

Let's look at a few more possibilities:

How to Create a Chatbot

A chatbot can be created in a variety of different ways. In this example, we'll describe a specific bot from QnA Maker, which we're using for two important reasons:

Indeed, QnA Maker is one of the easiest chatbots out there. Simply go to www.qnamaker.ai, sign in with your Microsoft account, and click <Create a knowledge base>. The page walks you through some very quick and easy steps, and before you know it, your bot is ready!

Once your QnA Maker chatbot is ready, you can use the QnA Maker connector in Power Apps to surface it in your app. Now, using a phone, tablet, or computer, anyone in your organization can access this bot to get answers to their questions!

Note: To see how to surface a QnA Maker chatbot in PowerApps, watch this live webinar
on Thursday, 11/8/2018.

What is the experience like? See for yourself:


Salespeople, Financial Planners, field technicians, customers at an in-store kiosk, and anyone else you can imagine… everyone can get their questions answered in a matter of seconds!

Who is it for?

Currently, the licensing for Power Apps does not allow for apps to be exposed to customers, although your employees with Office 365 accounts can always access any app. In other words, while your customers will not be able to access the app directly on their own device, your organization can use this chatbot app to enhance customer experiences. In addition, using Power Apps on your own devices, you can make these apps available at an in-store kiosk where anyone, including customers, can walk right up to it and get "self-service" answers to their questions.

Bringing it all together

Businesses of all sizes have various employees interacting with customers at several stages of their selling process. The goal of any successful business should be to not just close a sale, but to wow their customers in the process, gaining their trust for a long-lasting relationship. None of this is possible if we don't provide our own employees with the right knowledge, ability, and tools to help our customers. In pursuit of enhancing consumer experiences, solutions like chatbots and Power Apps play a small yet crucial role. "No code/low code" platforms (which also tend to be "no cost/low cost") are becoming increasingly viable solutions for many business scenarios, and Power Apps and QnA Maker are just a couple of examples.

If you want to empower your employees with the right knowledge, ability, and tools, please explore these platforms for your needs – and you can start by joining us on 11/8 for a live webinar.

Happy D365'ing!