Power Automate: Populating Word Templates in SharePoint
One of the most common automation requests I receive is how to generate formatted documents using SharePoint data. Whether it’s contracts, reports, or internal memos, Power Automate makes it possible to dynamically populate a Word document with data from SharePoint and other sources. In this post, I’ll walk through how to set up Word templates, use the Power Automate Word Template action to fill them in, and even generate PDFs for distribution. I’ve also got an associated video or two at the end, showing my demos of the process.
Use Cases
Here are a few real-world scenarios where this Power Automate word template automation is useful:
- Generating contracts or agreements using SharePoint form data
- Creating expense reports with dynamic tables
- Building any kind of issue tracking reports from a SharePoint list
- Automating client correspondence with data and image details
What You’ll Need
Before getting started, make sure you have:
- A SharePoint/Microsoft list or form with the data you want to populate
- A Word template with predefined fields
- Power Automate (with the premium Word Online connector if needed)
Setting Up the Power Automate Word Template
To begin, create a Word document using the desktop version of Microsoft Word (not the web version), and insert placeholders where the dynamic content will go.
Steps:
1. Open Word and create a blank document.
2. Go to Developer Tab (add it via Word settings if you don’t see it).

3. Insert Plain Text Content Controls where data should be inserted.
4. Name each field logically using the Properties button (e.g., ClientName, ReportDate). Here is an example of the status field and typing the name of it using the properties button.

5. Save and upload this template to a SharePoint document library (preferably a secure location where users can’t edit it).
Tip: Avoid using Rich Text Content Controls—Power Automate does not support them.
Building the Power Automate Word Template Flow
Once your template is ready, it’s time to create a Power Automate flow to populate it.
1. Trigger the Flow
Decide how your flow should start. Some common triggers include:
- When a new item is added to a SharePoint list
- When a form is submitted (Microsoft Forms)
- Manually triggered by a user
2. Populate the Word Template
- Use the “Populate a Microsoft Word template” action. This is a premium connector, which could be an extra cost in your tenant.
- Select your Word document from SharePoint.
- The action will automatically detect the fields in your template.
- Map your flow’s dynamic fields to the corresponding placeholders.
You will see Advanced Parameters listed, representing each of the fields that you inserted into the document via the developer tab. The dynamic content that you select here will be inserted into the generated Word doc.

3. Generate the Document
- Use the “Create file” action to save the populated document to SharePoint or OneDrive.
- To prevent overwriting, use a dynamic file name (e.g.,
Contract_{ClientName}.docx).
4. Convert to PDF (Optional)
To prevent edits and make sharing easier:
- Use the “Convert file” action in OneDrive to generate a PDF.
- Store the PDF in a document library or send it via email.
Advanced Features
Repeating Tables 📊
For reports that require dynamic tables, such as expense reports or IT issues:
- Add a Repeating Section in Word from the Developer tab.
- Use Power Automate to loop through SharePoint data and insert multiple rows dynamically.
Image Insertion 🖼️
If you need to insert images (e.g., dynamic logos, signatures, or charts):
- Store the image in SharePoint or capture it via Power Apps.
- Use Power Automate to retrieve and embed the image in the document.
Signatures ✒️
Need to include a signature, without high-end 3rd party products?
- Capture a signature in Power Apps as an image via an input control.
- Grab it via the flow and insert it into the Word document dynamically as a completed, signed form with fields.
Troubleshooting & Best Practices
- Check field names – Ensure your Word template field names exactly match what Power Automate expects.
- Use unique file names – Prevent documents from being overwritten by adding dynamic content to filenames.
- Limit file size – If inserting images, make sure they are optimized for faster processing.
- Avoid editing the template frequently – Any changes require updating your Power Automate flow mappings.
Summary
Automating document generation with Power Automate and SharePoint saves time and ensures consistency across reports, contracts, and other business documents. By using Word templates, you can dynamically insert data, create repeating tables, and even embed images and signatures. If you need more advanced features, consider using Power Apps for input or triggering flows based on user interactions.
Want to learn more? Check out my Power Automate course, where I dive deeper into dynamic document generation and automation! 🚀
These are the free preview modules related to this concept. This is free through the end of March, 2025.

Here is my associated Power Hour video where I demonstrate these concepts and show how to populate a document with fields from a list, generate the document, and save it to SharePoint as a PDF.
As I mentioned in the video, check out the above link to my course, to watch the videos on repeating tables and the Power Apps signature part.
Also, here is another Power Hour, where I taught how to use this Word document template concept to send lovely graphical reports that contain pie charts or bar charts based on your SharePoint data, generated using an Excel script!
I am experiencing issues with repeating content controls, plain text, when opening in the word desktop app, the first line in the repeating control is repeated multiple lines (in the word online, the rows have the correct data), have you experienced it before?
Yes, that has happened to me, it’s a pain. I’ve spent hours messing with that table with the repeating section and it breaks pretty easily.
I’m unable to populate custom dates in the word template, they just don’t appear to be available in the template. Any thoughts or workarounds?
Just use a text box. Since the end users aren’t ever interacting with the template itself, there’s no need for a date picker.
Hello,
thank you for sharing, this is great training. but I have a little question, in the sharepointlist I have a lot of columns type Image. how to drop in the word online. in your video for image just one, could you please share some idea for lot of images columns in the sharepointlist. thanks