I have a HTTP listener that I am sending a JSON post body with.
{
"recipient":"[email protected]",
"subject":"this is a test subject",
"body":"this is a test body email"
}
I am trying to pull those individual parameters out in the next flow, but it errors instead!
The result I am looking to achieve is "[email protected]" being taken as an input for the next action
I've tried things like
"@{triggers().outputs.body.Content.recipient}"
and various variations of, but I suspect I'm missing something!
edit to add
I am currently sending the post request via Powershell, though it will ultimately be over c#
$a = @"
{"recipient":"[email protected]","subject":"this is a test subject","body":"this is a test body email"}
"@
Invoke-WebRequest -Uri https://httplistenerc743421edf234899a1315aa38c6398bc.azurewebsites.net/listen -Method POST -Body $a
With Azure Logic Apps and the built-in HTTP trigger or action, you can create automated tasks and workflows that can send outbound requests to endpoints on other services and systems over HTTP or HTTPS. To receive and respond to inbound HTTPS calls instead, use the built-in Request trigger and Response action.
The app uses a "Foreach" loop that sends an email for each new item. Create this sample logic app with an Outlook.com account or a work or school account. Between the RSS trigger and send email action, add a "Foreach" loop. To add a loop between steps, move your pointer over the arrow between those steps.
Basic knowledge about Liquid template language. Azure Logic Apps uses DotLiquid 2.0.
Ah the trick with this is the output of the HTTP Listener body is a String, so you need to convert it to JSON before you can parse it. There is a @parse() command to do just this.
So if you do this it should work:
@{json(trigger().outputs.body.Content).recipient}
That should give you the recipient. Let me know if that doesn't work.
You have to define content-type in header of http listener, after which you don't need to parse http listener's response, it will automatically in described format.
as i did with mine where azure function is returning json data as text/string:
@{body('azure_fun_Name').recipient}
@{body('azure_fun_Name').subject}
@{body('azure_fun_Name').body}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With