Set Property(Preview)

Template ID: setproperty

Adds or updates a property in a collection or an object. Value can be a constant, value of another property or a combination of both. This template is available in Power Apps and Power Automate.

To start, specify the path to the parent. Then, specify the property to add or update as a subpath within the parent. Next, specify a value that the property will be updated with. This value can be either a constant, a path to a property, or a combination of both.

Examples

Let’s look at some examples that use the following parameters.

Example 1

Input JSON:

    {
        "peopleObject":{
            "XYZ":{
                "Age": "30"
            },
            "ABC":{
                "Age": "23"
            }
        }
    }
Input ParameterValue
newPropertyParentPathTemplate@body().peopleObject
newPropertySubPathTemplatehlocation
propertyValuePathTemplateUSA

Output JSON:

    {
        "peopleObject":{
            "location": "USA",
            "XYZ":{
                "Age": "3;0"
            },
            "ABC":{
                "Age": "23"
            }
        }
    }

Example 2

Input JSON:

    {
        "people":[
            {
                "name":"xyz"
            },
            {
                "name":"pqr"
            }
        ]   
    }
Input ParameterValue
newPropertyParentPathTemplate@body().people
newPropertySubPathTemplatehage
propertyValuePathTemplate30

Output JSON:

    {
        "people":[
            {
                "name":"xyz",
                "age": "30"
            },
            {
                "name":"pqr",
                "age": "30"
            }
        ]
    }

Example 3

Input JSON:

    {
        "firstName": "John",
        "lastName": "Smith"
    }
Input ParameterValue
newPropertyParentPathTemplate@body()
newPropertySubPathTemplatehname
propertyValuePathTemplate{@body().firstName} {@body().lastName}

Output JSON:

    {
        "firstName": "John",
        "lastName": "Smith",
        "name": "John Smith"
    }

Examples from open-sourced connectors

We have a few instances of this template being used in our open-sourced connectors repository.

ConnectorScenario
PlannerSets a new property called previewProperty with a value of "!"
AzureADSets a new property that takes the value from a URL

Input Parameters

Name Key Required Type Description
Parent object or collection path x-ms-apimTemplateParameter.newPropertyParentPathTemplate True String Path to the parent object or collection to which property will be added.
Path relative to parent x-ms-apimTemplateParameter.newPropertySubPathTemplate True String Property subpath within the parent object or collection.
Value to add x-ms-apimTemplateParameter.propertyValuePathTemplate True String A constant, path to the property or a combination of both.
Run policy on x-ms-apimTemplate-policySection True Enum Specifies when to run this policy
- Request: Policy template will run before request is sent to the backend API.
- Response: Policy will run after receiving response from the backend API.
Operations x-ms-apimTemplate-operationName Array Policy will run on the selected list of actions and triggers. If no operation is selected, this policy will apply to all operations.