This article shows how to create PDF documents from an XLSX template on a Cognito Form submission with the help of Processes in Power Automate (MS Flow). It may help you to automate the generation of different documents like applications, requests, orders, etc., in your company.
Processes are a Plumsail Documents feature with an intuitive interface for creating documents from templates.
Cognito Forms are an online form builder that allows you to create powerful forms for your website.
In this example, we will collect data from a Cognito Form, apply the data to our Excel template, and generate a new PDF document with the help of Processes in Power Automate (Microsoft Flow).
We have already prepared a Cognito form for ordering stationery and office supplies. We will use data from its submission to apply to our template. If you haven’t created any Cognito Forms before, you can learn how to do it here.
Below is a screenshot of our form:
We used the Repeating Section layout to allow users to add more products. You may also use the Basic Sales Form template to add this functionality:
Now we need to create and configure the Process which will generate stationery requests in PDF format based on data from our web form submission.
Go to the Processes section in your Plumsail account.
Click on the Add process button.
Set the Process name. As we’re going to generate PDF stationery orders from an Excel template, select XLSX for the template type.
Once you’re done with the first step Create Process, press the Next button, and you’ll proceed to the next step – Configure Template.
It includes two substeps:
Editor;
Settings.
In Editor, you can compose the template from scratch or upload a pre-made one. It’s also possible to modify the uploaded template online.
Feel free to download an XLSX stationery order template that we have already prepared:
Then upload it to the process.
When creating your own templates, mind the templating language. Plumsail Excel XLSX templates use a different approach than most other templating solutions. It uses a minimal amount of syntax to make your work done.
In short, the templating engine thinks that everything between curly {{ }}
brackets is variables where it will apply your specified data.
Read this article to get familiar with the templating engine.
To check how the document will look at the end, click on the Test template button.
You will see the dialog where you can fill in the auto-generated testing form. Form fields are created based on tokens from your document template. You can adjust the look of the testing form by changing token types.
It’s testing. We’re going to apply the data from the web form to our template.
Once you’ve tested the template, press Save&Next to proceed further - to the Settings substep.
Here, please:
Switch to an active mode to remove Plumsail watermarks from resulting documents
Fill in the name of the result file
Select PDF format for the output file
Protect the result PDF if you wish
Once you’ve customized all the settings, you can test the template to see the result as we did it before.
When everything is done here, click on Save & Next to set up deliveries.
The next step is delivery. For demonstrating purpose, we’ll store the result file in OneDrive. But there are other options.
Just set the folder’s name where the ready document will be saved.
You can configure as many deliveries as you need.
We will start our Process from Power Automate (Microsoft Flow).
This is how our Flow looks:
Check out the Flow steps described below.
We need to start the Flow every time somebody submits our stationery request form. For that, search for Cognito Forms in Power Automate and add Cognito Forms - When a new entry is created as a trigger.
If this is your first Flow with Cognito Forms, on this step, sign in to your Cognito Account from MS Flow to use your forms inside Flows.
Then, you’ll need to pick the form you want to track in the dropdown.
We need to build an array with the data from the Repeating Form’s Section to use it in the JSON Template data in Start document generation process action. So, we create an array of variable items.
This is the action from Plumsail Documents connector. This action is suitable for starting the Process of generating documents from a template. You can find more information about this action by visiting this page.
Using the action for the first time, you’ll be asked for ‘’Connection Name’’ and ‘’Access Key’’.
You can type any name for the connection. For example, ‘’Plumsail Documents’’.
Then create an API key in your Plumsail Account page, copy and paste it to ‘’Access Key’’ field.
The action has two parameters:
Process name. Select the process you need from available ones.
Template data. Specify source data in JSON format:
This object contains information from our form. We selected the dynamic content from the output of Cognito Forms - When a new entry is created action and from the Initialize variable step:
You can stop on the step Start document generation process.
Steps described above are enough for generating PDFs from an XSLX template based on the Cognito Form submission. Your result file will be saved to OneDrive in this case. See how it will look:
But if you need an advanced logic, it’s possible to work with the result file right in the Flow.
Here is an example of how you can send the ready document for approval.
Add an action Create an approval from the Approvals connector. Select an output of the previous step for an attachment.
As you can see, it’s simple to automize the generation of documents on Cognito Forms submission. If you’re new to Plumsail Documents, register an account and follow the steps described in the article to set the process for automatic creation of PDFs from Cognito Forms.