User functions in PowerApps Canvas App

In this blog we will see how to use User function in Canvas App.

User function helps to retrieve the information about logged in user.

We can get email, full name and image information of the logged in user from PowerApps studio Account Information section.

Navigate to Default property of the email text field and associate User().Email function.

It returns the email ID of the logged in user.

Navigate to Default property of the Image URL text field and associate User().Image function.

It returns the blob url of the image.

Insert an Image control and navigate to Image property. Type the function User().Image.

It returns the actual image of the current logged in user.

Navigate to Text property of the label FullName. Append the value User().FullName

This way we learnt about User functions in Canvas App.

Host Objects in PowerApps Canvas app

In this blog – we will see how to use Host objects in PowerApps Canvas App.

Host object is specifically used to get the information about host which is running the specific app.

We can get – OS type, session id, tenant id and browser agent details from host object.

Navigate to Text property of BAtxtinput field and type Host.BrowserAgent as value.

Navigate to Text property of OSTypetxtinput field and type Host.OSType as value.

Navigate to Text property of SessionIDtxtinput field and type Host.SessionID as value.

Navigate to Text property of TenantIDtxtInput field and type Host.TenantID as value.

This way we learnt to use host objects in Canvas App.

Set-up COE Starter KIT in PowerApps

In this blog, I will be explaining how to set up CoE starter Kit for PowerApps Environment.

  • Login to https://make.powerapps.com
  • Identify the Environment in which you need to set up CoE starter kit.
  • Navigate to Solutions->Import->Import a Solution->Browse
  • Upload the CenterofExcellenceCoreComponents_4.2_managed solution and click on Next.
  • Re-establish the connections listed in the below screen shot.
  • If the connections are not already available – please click on select a connection for each of the below item and click on create and associate your admin account.
  • The list of connectors added are listed below under connections section
  • The custom connector listed below appears under custom connector section,
  • Once all connection references are added the solution will be imported and available under “Solutions” Area

We have successfully imported CoE Starter kit.

Common Errors: Action ‘Initialize_ variable failed’ in parsing JSON.

In this blog we will address the common error we get while parsing JSON array in power automate. It is very common to get null values in the input files.

The first step is to create a trigger for flow. In this blog I have considered manual trigger.

We need to initialize the input variable. In our case it is Array. We can give sample values for our array as below,

The next step is to parse the JSON.

For the content we need to map the Array variable ‘ArrayParse’ that we initialized in the above step.

Click on Generate from sample. A sample JSON payload appears as below,

Click on Done.

The sample schema is generated as below,

{

    “type”: “array”,

    “items”: {

        “type”: “object”,

        “properties”: {

            “ProductName”: {

                “type”: “string”

            },

            “ProductID”: {

                “type”: “integer”

            }

        },

        “required”: [

            “ProductName”,

            “ProductID”

        ]

    }

}

Now test the flow.

We get the error Action ‘Initialize_variable’ failed,

Solution:

We need to remove the type generated by the sample schema manually,

Now the problem is resolved.

We could see the sample output successfully.

Set table ownership

As we all know there are 3 different types of tables in Powerapps

  1. Standard Tables – These are OOB tables included in Power platform for each environment. E.g., Business Units, Accounts, Contact. These tables can be customized. Custom tables imported as part of managed solution into specific environment are also Standard tables. These tables can be customized if the Customizable property is set to true.
  2. Managed Tables – These are tables imported as part of managed solution into specific environment. These tables cannot be customized as their Customizable property is set to false.
  3. Custom Tables – These are tables created in the environment directly with custom names. These tables can be customized further. Tables imported as part of unmanaged solution into specific environment are also custom tables. These tables can be customized if the Customizable property is set to true.

Customizing the tables depends on access privilege the user has on the respective table as well.

Table Ownership:

Table ownership is the ownership of records created under this table.

We have User or Team owned / Organization owned types which can be assigned for new tables while creation.

  • User or Team: Data belongs to a user or a team. Actions that can be performed on these rows can be controlled on a user level.
  • Organization: Data belongs to the organization. Access to the data is controlled at the organization level.

Additional table ownership,

  • None: System tables that don’t have any owner, e.g., Privilege table.
  • Business Unit. System tables are business owned. e.g., Business Unit, Calendar, Team, and Security Role tables.

These ownerships cannot be assigned by the user when creating new users.

How to assign table ownership?

Navigate to Table ->Properties->Advanced

Choose the Record ownership drop down as per the screen shot below:

Associate a business unit with an Azure AD security group

It is now possible to use Azure AD security group to map your business unit for streamlining your user administration and role assignment.

Create an Azure AD security group for each business unit and assign the respective business unit security role to each group team.

  1. Create a user in Microsoft Azure AD
  2. Login to portal.office.com. Navigate to Admin->Teams&groups->Security tab
  3. Click on Add a Group, Give a group name and description.
  4. Click on Create Group
  5. The group is now created.
  • Navigate to admin.powerplatform.com
  • Choose the environment->Settings->Users+Permissions->teams
  • Click on Create team.
  • Add Team Name, Business Unit, Administrator
  • Choose Team type as AAD Security group
  • Search for the team’s name we created
  • Choose the membership type from the options – Members and Guests, Members,Owners,Guest
  • Click on Next
  • Choose from Security Role that needs to be assigned to this team

Now, all users who belong to this security group will have access to this Business Unit with assigned security role.

How to Enable Search in Address Finder Field in Canvas PowerApps 

Implementation Steps:

1. Navigate to https://make.powerapps.com

2. Create a new Table Canvas PowerApps

3. Add Address Finder Controller from Insert

4. Preview the App

5. If will ask you to enable FULL Map access.

Let’s see how we can achieve this.

  • Navigate to Map and address services –FULL option
  • . Turn it ON and Agree Terms and Click Enable

6. Now Click Save.

7. Once Done.. Navigate to your tablet Canvas app and Refresh the Screen

8. Add the Address Control again

9. Preview the App

10. Enter the Value in the Text Box you will get the Address loaded 

:slightly_smiling_face:

Enable Managed Environments in Power platform

In this blog we will see how to enable managed environments in power platform.

Pre-Requisites:

  • User need one of the security roles assigned to them – Global Admin, Power Platform service admin, or Dynamics 365 admin Azure Active Directory role.
  • Users with the Delegated Admin role or the Environment Admin security role are not allowed to change the Managed Environments property in an environment.

Steps:

Once enabled, there are 3 options as listed below,

  • Limit Sharing
  • Usage Insights
  • Data Policies

Please note – Once enabled, all users will need Power Apps or Power Automate licenses to continue using apps and flows in this environment.

  • Please click on Enable as shown in above picture.

We have successfully enabled the managed environments feature.

Dynamics 365 Field Service with Remote Assistance

In this blog, I will describe easy steps on how to achieve Remote Assist Collaboration with Dynamics 365 Field Service module.

Introduction:

  • Dynamics 365 Field Service combines Internet of Things (IoT), mixed reality, computer vision, and intelligent automation features to help businesses automate remote fixes and troubleshooting.
  • Dynamics 365 Field Service combines with Dynamics 365 Remote Assist, a mixed reality-powered remote collaboration solution. When Remote Assist is paired with Microsoft HoloLens, it promotes higher first-fix rates by technicians. It does it by allowing HoloLens users to view work orders, call specific experts, and view information linked to works orders.

Pre-Requisite:

  • A Microsoft Azure tenant with a Dynamics 365 subscription.
  • Dynamics 365 Remote Assist subscription.
  • Admin access to add or update the Dynamics 365 tenant instance.
  • Dynamics 365 Field Service version 8.2 or later.(to include include the My Bookings for Today view.  With in the Dynamics 365 Subscription.
  • Android Device – The deep link from Field Service Mobile to the Remote Assist mobile app is currently available on Android only. Technicians using iOS devices must manually open Remote Assist mobile.
  • Two user accounts – one for the technician (front-line/support worker) and another for the remote collaborator.
  • The remote collaborator only needs a Microsoft Teams license.
  • The technician user will need a Dynamics 365 Field Service license, a Microsoft Teams license, and a Dynamics 365 Remote Assist license. (Note: A Remote Assist license includes Teams.)

Remote Assist Collaboration:

  • Dynamics 365 Field Service with Remote Assist Integration will allow support workers using Remote Assist on HoloLens to see their Field Service bookings and quickly call the remote collaborator listed in the booking’s Support Contact field.
  • By integrating Field Service and Remote Assist, we can:
    • Launch Remote Assist mobile directly from a Field Service Mobile booking via deep links.
    • See relevant work order information.
    • Post the Remote Assist call information to the associated work order’s timeline.

Connected Field Service with Remote Assist:

Device options and requirements for a Remote Assist user:

DeviceOS RequirementDetails
Remote Assist on mobile devicesDynamics 365 Remote Assist mobile is available on all devices, including Arora-enabled Android phones or tablets, ARKit-enabled iOS iPhones or iPads, and mobile devices without AR support.List of AR-supported devices on Android and iOS.   https://developers.google.com/ar/discover/supported-devices To access Remote Assist from devices that does not support AR   Steps: https://docs.microsoft.com/en-us/dynamics365/mixed-reality/remote-assist/mobile-app/using-devices-without-ar

Device options and requirements for a remote collaborator using Teams:

DeviceOS RequirementsDetails
Teams application on Windows 10 PCAny Windows 10 build.A Windows 10 PC running the Teams PC application can collaborate with Remote Assist on HoloLens, HoloLens 2, or qualifying Android or iOS mobile devices.   Reference: Links above
Teams application on mobile deviceAny iOS or Android phone or tablet running Teams.A phone or tablet running the Teams mobile application can collaborate with Remote Assist on HoloLens, HoloLens 2, or qualifying Android or iOS mobile devices. Reference: Links above

Network requirements:

• The recommended bandwidth for Remote Assist is at least 1.5 Mbps. When using Remote Assist on mobile devices in low-bandwidth environments, you can operate at bandwidth levels between 150 kbps and 1.5 Mbps. For more information. Reference: see the low bandwidth documentation.

• When using Remote Assist on mobile or HoloLens, any non-audio or non-video network-related activities may impact call quality. Examples include the Teams user sharing a file or the Remote Assist HoloLens user taking a snapshot that is automatically uploaded to OneDrive. After these non-audio or non-video network-related activities are completed, outgoing call quality may take up to 15 seconds to recover.
Note: Though audio and video calls might be possible in environments with reduced bandwidth, you might experience feature degradation, limiting the user experience.

Issue in Loading Omni-Channel for Customer Service App

Problem:

When an agent logins to Omni-Channel for Customer service App he gets the below error and the agent status does not load.

There was a problem with your single sign-on account. Please sign out of all Microsoft Dynamics 365 apps and sign in again. If this continues, have your administrator contact Microsoft Support with client session ID.

Root Cause:

In Azure AD, check if Security Defaults is turned on. If it is turned on, the agent should have the right authentication set up. 

Resolution:

Set up right Authentication for Agent.

Alternatively switch off security defaults in Azure AD.

That’s it!! Issue is fixed.