What I am trying to achieve is to check if the body that is returned from the HTTP POST method in Logic App (which is a trigger) is empty or not.
I have tried to look for the answer in docs, but could not really find the right answer. Tried this, but this does not work either "empty(triggerBody())".
>Solution :
I have reproduced in my environment and below are my expected results:
Design:
To check if its empty or not use empty(triggerBody()) in compose action then use this output inside the condition action(is equal to true).

If true then its empty, if false its not empty.
Output:

Codeview:
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"Compose": {
"inputs": "@empty(triggerBody())",
"runAfter": {},
"type": "Compose"
},
"Condition": {
"actions": {},
"expression": {
"and": [
{
"equals": [
"@outputs('Compose')",
true
]
}
]
},
"runAfter": {
"Compose": [
"Succeeded"
]
},
"type": "If"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {},
"triggers": {
"manual": {
"inputs": {
"schema": {}
},
"kind": "Http",
"type": "Request"
}
}
},
"parameters": {}
}
