Hi everyone,
I’m facing a technical challenge that I believe is relevant to many working with automated Word document generation in enterprise scenarios.
Due to architectural constraints, I must exclude desktop flows and work only with Power Automate Cloud.
My goal is to achieve dynamic population of Word (.docx) templates—including placeholder replacement, dynamic table generation, and image insertion—starting from structured data (JSON/XML).
On the Appian platform, there’s a plugin called Advanced Document Templating (based on XDocReport), which allows you to:
- Use a Word template with placeholders (e.g., ${name}, ${date}).
- Pass an XML/JSON data model that populates placeholders and generates dynamic structures (e.g., tables with variable rows).
- Insert images at desired points in the document.
- Get as output a fully populated Word file, ready to be sent or archived.
Suppose you have a Word template with a table and placeholders like ${name} and ${developer}. By passing XML like:
<project>
<name>Demo Project</name>
<developer name='Mario' lastEmail='Rossi' mail='mario@email' day='10-10-2024' />
<developer name='Luca' lastEmail='Bianchi' mail='luca@email' day='11-10-2024' />
</project>
the plugin generates a Word document with all data filled in and the table dynamically populated.
In Power Automate Cloud, the Word Online (Business) connector only offers basic features (e.g., filling content controls), but does not support advanced logic such as:
- Mail merge on Word templates with custom placeholders
- Dynamic table generation from data arrays
- Dynamic image insertion
- Arbitrary placeholder replacement throughout the document
Are there any cloud-native solutions, custom connectors, workarounds (including HTTP actions, Azure Functions, Power Automate Extensions, external APIs, etc.) that can provide XDocReport/Appian-like capabilities in Power Automate Cloud?
Any experience, practical example, snippet, or reference to open source or marketplace solutions is highly appreciated!
I believe a solution to this challenge would be of great value to the entire community.
Thanks in advance to anyone who contributes!