Search code examples
azureazure-logic-appsworkflow-definition-language

How to get query parameters in a Logic App?


I'm trying to pass an extra query parameter to Azure logic app so that I can process below data in the Logic App workflow

For Example https://logicURL?SelectedData="%7BsiteURL%3AXYZ.sharepoint.com%2Fsites%2FXYZDev%7D" (encoded string)

In HTTP action I am trying to handle above passed data with below JSON schema

{
    "kind": "Http",
    "inputs": {
        "schema": {
            "properties": {
                "selectedData": {
                    "type": "string"
                }
            },
            "type": "object"
        }
    } }

I am not getting selectedData value. I need to use decodecomponentURI and then use the JSON value.

Azure logic app schema

Find the error here

Azure logic app run time error


Solution

  • First, you need to add your query param to the existing ones, e.g.

    https://xyz.logic.azure.com:443/workflows/id/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=code&SelectedData="%7BsiteURL%3AXYZ.sharepoint.com%2Fsites%2FXYZDev%7D"
    
    https://xyz.logic.azure.com:443/workflows/id/triggers/manual/paths/invoke
      ?api-version=2016-10-01
      &sp=%2Ftriggers%2Fmanual%2Frun
      &sv=1.0
      &sig=code
      &SelectedData="%7BsiteURL%3AXYZ.sharepoint.com%2Fsites%2FXYZDev%7D"
    

    Then, you should be able to get them in your Logic App using

    @triggerOutputs()['queries']['SelectedData']
    

    As you can see, there is no need to add a schema to the Http Trigger to get a query parameter