Ever wondered or noticed that mysterious Run XSLT function in Azure Logic Apps Data Mapper? After some detective work, we discovered it’s incredibly powerful—but works differently than you’d expect. The Logic Apps Data Mapper enables you to create and execute your custom XSLT. That means you can keep your visual map for 80–90% of the work and drop in handcrafted XSLT for the gnarly bits—advanced grouping, xsl:key, recursion, or simply reusing BizTalk/legacy maps.
📝 One-Minute Brief
If you’ve ever wondered how to create custom XSLT inside the Logic Apps Data Mapper, the Run XSLT function is your gateway.
When: Reuse BizTalk/legacy maps; advanced patterns (xsl:key, grouping, recursion); final polish.
Logic Apps Data Mapper can execute custom XSLT using the built-in Run XSLT function. This allows you to combine Data Mapper visuals (functions) with hand-crafted XSLT. But here’s the tricky part we discovered: it doesn’t always work the way you might expect from traditional XSLT processing.
Setting Up Your XSLT Scripts
To use this feature, you need to place your XSLT files in a very specific location:
- YourProject/Artifacts/DataMapper/Extensions/InlineXslt/YourScript.xslt

Notice that the Run XSLT function takes no input parameters — it simply executes your script against the source document context.
How to use
To use this feature, add the Run XSLT function and select one of your scripts from the dropdown. You can connect its output to one of the columns on the target schema or use it as input for another function.

When to use
These out-of-the-box capabilities are ideal for used in these scenarios:
- Reuse BizTalk/legacy XSLT.
- Advanced patterns (grouping,
xsl:key, recursion). - Simplify the mapping rule logic when using Data Mapper visuals (functions) are to complex to maintain and handle, or to difficult to read.
- Implement capabilities that are currently not supported within the Data Mapper.
- A final “polish step” after a visual map.
Friday Fact Takeaway
The Run XSLT function is incredibly powerful once you understand this functionality, making it perfect for parsing complex encoded data, performing multi-field business logic, and implementing sophisticated transformations that go far beyond simple field mapping.
Pro tip: Use Data Mapper for 80–90% of the work, then a lightweight custom XSLT to normalize edge cases before sending downstream
To lazy to read? We’ve got you covered! Check out our video version of this content!
Hope you find this helpful! If you enjoyed the content or found it useful and wish to support our efforts to create more, you can contribute towards purchasing a Sauron’s Action Figure for Sandro’s son, yep, not for me!