
There are couple of ways to integrate an APIM with Logic App. The most common use case as far as I know is exposing the Logic App as an API on the APIM. The other scenario is calling a Logic App from APIM.
I will provide the APIM policy snippet to call a Logic App. If you are using Managed Identity to authenticate to Logic App (will cover in a separate article), you can skip sending the bearer token.
Few steps to be done in the Logic App
enable Authentication at the Logic App end
the Logic App URL should not contain the SAS token
make sure that the Logic App has the below in trigger section. Basically, this is the ensure that the Logic App expects the Bearer token and “IncludeAuthorizationHeadersInOutputs” ensures that the Auth token is available for further processing within the Logic App
“triggers”: {
“manual”: {
“conditions”: [
{
“expression”: “@startsWith(triggerOutputs()?[‘headers’]?[‘Authorization’], ‘Bearer’)”
}
],
“inputs”: {
“schema”: {}
},
“kind”: “Http”,
“operationOptions”: “IncludeAuthorizationHeadersInOutputs”,
“type”: “Request”
}
}
APIM Policy to call the Logic App
We issue a call to the Logic App from with the
<policies>
<inbound>
<send-request mode\="new" response-variable-name\="responsela" timeout\="20" ignore-error\="false"\>
<set-url\>https://xxxxxxx.com:443/workflows/xxxxxxxxxxxx/triggers/manual/paths/invoke?api-version=2016-10-01</set-url\>
<set-method\>POST</set-method\>
<set-header name\="Content-Type" exists-action\="override"\>
<value\>application/json</value\>
</set-header\>
<set-header name\="Authorization" exists-action\="override"\>
<value\>Bearer \*\*\*\*</value\>
</set-header\>
</send-request\>
<return-response\>
<set-status code\="200" reason\="OK" />
<set-body\>@(((IResponse)context.Variables\["responsela"\]).Body.As<JObject\>(preserveContent: true).ToString())</set-body\>
</return-response\>
</inbound\>
<outbound\>
<base />
</outbound\>
<on-error\>
<base />
</on-error\>
<backend\>
<base />
</backend\>
</policies>
All the tags are quite self-explanatory and there a loads of documentation available about them.
Hope this helps.
Cheers!