Create a Table of Contents in PDF Using Power Automate

In this guide, you'll learn how to add a table of contents to a PDF using Power Automate. For this example, you'll be adding a table of contents to your PDF in SharePoint, but you can easily customize this example to destinations like Dropbox, Google Drive, OneDrive, or any platform supported by Power Automate.


Ensure the following prerequisites are in place:

  • An Office 365 subscription with a SharePoint Online license.
  • A full subscription to Muhimbi PDF Converter for Power Automate. Note that the free version doesn't support this functionality.
  • Appropriate privileges to create flows.
  • Working knowledge of SharePoint Online and Microsoft Power Automate (Flow).

How to Create a Table of Contents

The steps to convert and create a table of contents from a document are outlined below. The flow will look as follows:

create table of contents

1. Creating a New Flow

Create a new flow using the When a file is created or modified in a folder SharePoint Online trigger. Fill out the URL for the site collection and select the relevant SharePoint folder.

create a new flow

2. Converting a Document

Insert Muhimbi's Convert document action and fill it out as shown in the screenshot below. Substitute the Source file name and Source file content fields with suitable values.

  • Source file namex-ms-file-name-encoded, which is the output of When a file is created or modified in a folder.
  • Source file contentFile Content, which is the output of When a file is created or modified in a folder.
  • Output format — PDF
  • Override settings — Refer to the following:

convert a document

3. Creating a File

Insert a Create file action to write the converted file with the table of contents back to SharePoint Online.

  • File NameBase File name.pdf, which is the output variable of the Convert document action.
  • File ContentProcessed file content, which is the output variable of the Convert document action.

file name

4. Publishing the Workflow

Publish the workflow and upload any document. After a few seconds, the flow will trigger and a compressed PDF file will be generated in the target location.

Note: The best way to test this is to convert an MS Word file that contains proper heading definitions (e.g. Heading 1, Heading 2, etc.).


HTML isn’t the best format for print or PDF conversion purposes. Depending on your exact needs and source material, you may need to experiment with various available settings. If you have any questions or require assistance, please feel free to contact us.

Please consider the following when using Power Automate:

  1. Modern views — In SharePoint Online, it’s possible to display lists and libraries in modern or classic mode. Modern view is undergoing constant change (by Microsoft), and some modern view pages will convert fine, while others don’t. As a result, we currently only support the conversion of pages displayed in classic view.

  2. Multi-factor authentication (MFA) — An increasing number of SharePoint Online/Office 365 environments are secured using MFA. Although this is a positive development, it gets in the way of automated systems, including our HTML converter. If your environment uses MFA, create an app password for HTML conversions, or disable MFA on your HTML conversion account.

  3. HTML conversion option isn’t displayed — The option to convert the current page to PDF is only available in classic SharePoint pages. Modern pages currently don’t provide the ability to extend the personal actions menu. As soon as Microsoft makes this functionality available, we’ll add it.

  4. PDF layout doesn’t match — By default, the page being converted is optimized for print/PDF output. If you prefer for a PDF to look exactly like what’s displayed onscreen, including user interface elements, set the Media Type to Screen in the HTML conversion configuration screen.

  5. User-modified content isn’t converted — The converter doesn’t have knowledge about the information currently displayed in the user’s browser (e.g. size of the browser window, or custom data entered but not yet submitted to the server). The converter always requests a fresh copy of the URL and converts that information to PDF.

  6. User-specific information is missing — HTML conversion is carried out in the context of the configured user account, though the system isn’t aware of the user carrying out the HTML conversion. Don’t specify accounts that display more information than what users need to have access to.

Have a Question?
We’re Always Happy to Help.

© Muhimbi Ltd. 2008 - 2024
This website uses cookies to ensure you get the best experience. Learn more