Power Automate and Logic Apps both use the same language, Workflow Definition Language (or WDL). The nice thing about Azure Logic Apps and Power Automate, though, is that there’s a fancy front end that allows you to generate most of the code without hands-on-keyboard.
Here’s an example. I built a small little flow that uses the Mailchimp connector trigger to find when a new contact is added to one of my lists (hint, hint). It then takes the outputs from the trigger and sends me a little message on Microsoft Teams telling me a new user signed up.
In the screenshot above, you can see that the Parse JSON action has received the results you entered when you created it. Of course, it's more accessible.
In this next screenshot, though, the Parse JSON didn’t quite work as I needed it to. When there’s nested objects or arrays sent into an action, you’ll get that stupid “For each” loop added around your object. Power Automate / Logic Apps both assume that you need to handle a case where there’s more than one line returned, and they try to help you out. In these cases, you might have to do some custom workflow definition language expressions.
So, in the “List contacts” thing, I already said I just wanted 1 result, so I knew I’d only get one contact. To avoid Logic Apps throwing in a “For each” loop, I just pointed to the first item by putting a “[0]” between the value array and contactid field. Boom – no “For each” loop anymore. Anyway, to keep it simple, Power Automate and Logic Apps use the Workflow Definition Language. Most people probably won’t ever need to know that or type it out, but it’s cool to understand. Check out the learning paths to know more.