Home

PowerAutomate

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.

Dynamics 365 Customer Voice

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.

Dynamics 365 Customer Voice

About Me!

I am Devikumari Krishna, a Solution Architect with 15+ years of experience in various phases of software Development lifecycle. Proficient in analyzing and translating business requirements to technical requirements and architecture.

Being a Dynamics 365 and Power platform expert, I have experience in Sales, Customer Service, Field Service, Marketing, CRM Dynamic Portals, and CRM Integration with Azure, Power Automation Flow, and Data Verse.

In my Blog

  • I will target to give my learning and implementation experience as step by step instructions for others to follow.
  • I will make sure the information is crisp and useful for Dynamics 365 technologists.
  • I will target to cover Power Apps, Dynamics 365, Azure and Data Verse in my blog.

Apps, PowerApps

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:

Apps, Dynamics 365, PowerApps

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.

Apps, PowerApps

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:
Dynamics 365 Customer Voice

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 Omni-Channel

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.

Apps, PowerApps

How to Share Canvas App with Guest Users?

In this blog I will show step by step instructions on how to share canvas app with Guest Users.

Guest users can use their own Power Apps per User license to access a Canvas App in another tenant as a guest.

  • User got added successfully.
  • Navigate to https://make.powerapps.com
  • Click on the Canvas App that you want to share with Guest User.
  • Click on 3 dots->and choose share
  • Add Security Role and Share.
  • Now share the App URL to the guest user and he should be able to access the App.
  • The Guest User can access the App from his tenant and license Plan successfully.
PowerApps, PowerAutomate

Get Tweet User details from Twitter using Power Automate

In this blog, I will describe on how to use power automate to extract tweet details from Twitter page.

To start with,

  • Login to https://make.powerapps.com.
  • Navigate to Flows and create an automated cloud flow.
  • Let us use the trigger When a Tweet is posted.
  • Click on Add Connection and set the Twitter Account details which needs to tracked.
  • In the Search Text, enter the search terms – #Searchtext or “search text” or from: @username.
  • Power Automate will only trigger when the search criteria is met.

Initialize an array variable to get the User Details Array information from the Tweet.

  • Call the trigger – Get User
  • Insert user name parameter from previous step ( ‘when a new tweet is posted’)
  • Now pass information to user details array we initialized. For this we will use the action – Append to Array,
  • Test the results by passing it to a html table,
  • Lets use the create html table action and pass the array we set in the previous step with user details.
  • You can either choose the columns to be ‘Automatic’ or give custom values,

If custom value is choosen , each column name need to be created and value needs to be assigned as below,

@{variables(‘arrayname’)?[0]?[‘FieldName’]}

In our case to get full name – @{variables(‘userdetailsarray’)?[0]?[‘FullName’]}

  • Save the Flow. Now create a Tweet from associated Twitter account with the search input matching the search term specified in flow.
  • The UserDetails Array holds the following information,

The html table would appear like below,

  • Please Note : Incase location is coming as blank – make sure in Twitter User profile the location and location settings are set properly,

Complete steps for flow is as below,

PowerApps, PowerAutomate

Power Automate – Data sources using Environment Variables

In this blog , I will describe how to use environment variables to pass data sources in power automate flows.

Environment variables help us in a great way to reduce the manual association of data sources in each environment.

  • Login to https://make.powerapps.com
  • Navigate to Solutions -> Add New->More->Environment variables
  • Create an environment variable for Site .
  • Choose the Data Type – Data Source
  • Associate SharePoint connector if you have already created. Else create a connection and associate it here.
  • Choose the parameter type as ‘Site’.
  • Associate the SharePoint Site . You can pass the Default site value and a current value ( which is unique for each environment).
  • If the current value is not specified , default value will be used.
  • Once the environment variable for site is created, we need to create one more environment variable for List.
  • Follow the same steps as above and create a new environment variable,
  • Choose the Parameter Type as ‘List’.
  • Under Site , Specify the name of Environment variable we created in above step.
  • Now login to https://flows.microsoft.com
  • choose the flow that is using sharepoint list as data source or create a new flow,
  • In the Site Address – instead of specifying the URL directly choose ‘custom value’
  • Now you will observe that the environment variables are available to use in ‘Dynamic Content’
  • Use the Environment variables created for Site and List respectively,
  • This helps is deploying the Canvas Apps from one environment without manual intervention in Data source connections.