Power automate flow – inputs.parameters of workflow not valid

In power automate, if you run into the following error:

The ‘inputs.parameters’ of workflow operation ‘Get_a_row_by_ID_3’ of type ‘OpenApiConnection’ is not valid. Error details: The resolved string values for the following parameters are invalid, they may not be null or empty: ‘recordId’

Check your previous steps, and make sure the parameter that you’re passing into your step (in this case, Get Row by ID) Row Id gets a valid record id (guid). In the above flow, in Get row by ID 2, I was retrieving a record and selecting only one column in Select columns, this attribute is a lookup on the entity record. This wasn’t bringing the result in the desired result in the body upon running the flow, and I was referencing this value in the Get row by Id 3 step, hence the error, I am referring to a value which doesn’t exist.

In power automate, if you run into the following error:

The ‘inputs.parameters’ of workflow operation ‘Get_a_row_by_ID_3’ of type ‘OpenApiConnection’ is not valid. Error details: The resolved string values for the following parameters are invalid, they may not be null or empty: ‘recordId’

Check your previous steps, and make sure the parameter that you’re passing into your step (in this case, Get Row by ID) Row Id gets a valid record id (guid). In the above flow, in Get row by ID 2, I was retrieving a record and selecting only one column in Select columns, this attribute is a lookup on the entity record. This wasn’t bringing the result in the desired result in the body upon running the flow, and I was referencing this value in the Get row by Id 3 step, hence the error, I am referring to a value which doesn’t exist.

The way to reference the column in the select column is _new_accountid_value

After I added the above column, the flow ran successfully, and the value was available in the next steps.

Power Automate Flow – Flow client error returned with status code “Bad Request”

In Power Automate Flow, you may encounter the error below when tryin to save the flow

Request to XRM API failed with error: ‘Message: Flow client error returned with status code “BadRequest” and details “{“error”:{“code”:”InvalidOpenApiFlow”,”message”:”Flow save failed with code ‘InvalidTemplate’ and message ‘The template validation failed: ‘The repetition action(s) ‘Apply_to_each’ referenced by ‘inputs’ in action ‘Create_a_new_record’ are not defined in the template.’.’.”}}”. Code: 0x80060467 InnerError: Type: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]

There issue may happen when you’re trying to copy a value (example, lookup) from one flow to the other because the flow may have different collection (list of records for example) names. Therefore, when you’re copying one value from one flow to the other, you’re also copying the collection name.

For example, in one flow, your collection name is

outputs(‘Run_a_Child_Flow_-_Retrieve_Records’)?[‘Body’]?[‘new_personcategoriesid’]

In the other flow, if the collection name is different, and you’re copying the above value and pasting in the flow, you’ll see the “Bad Request” error.

To fix the issue, I deleted the value, selected the lookup field from the existing flow using dynamic content. It let me save the flow. This is a simple issue, often that people may figure it out, but I wanted to put it out there if someone run into this issue.

Power Automate – Invalid type. Expected Object but got Array

In Power automate, in the parse json, if the response doesn’t align with the schema of the parse json, you’ll notice different errors, one of them being “Invalid type. Expected Object but got Array”.

The Parse json schema was expecting an object as a response.

But, instead, received an array of objects, which results in the following error

This error happens when you’re passing a list of array oject records from the child workflow or list records from the previous steps.

So the parse json was expecting an object in the format of

{

“Var1″:”var1_value”,

“Var2″:”var2_value”

}

But instead receiving an array of objects:

[

{

“Var1″:”var1_value”,

“Var2″:”var2_value”

}

]

The output value outputs(‘Get_List_record_of_Person_Engagement_Event’)?[‘body/value’] returns an array/list of objects

To solve this problem, you need to return just the first object value from the result. Use the following expression (in the above Response body value) to return the first value from the array

first(outputs(‘Get_List_record_of_Person_Engagement_Event’)? [‘body/value’])

This will return the following object

{

“Var1″:”var1_value”,

“Var2″:”var2_value”

}

Which is now in-line with the format that we were expecting in the parse json