How to add multiple loops of table data per document
While Make natively supports only one loop per document, this guide demonstrates a method to include multiple independent loops of data in a single document.
Prerequisites
Before you begin, complete the following setup:
Create a Google Doc which has two independent looping sections as placeholders. These will be replaced by dynamic data during document generation.
For example:
- One loop for a list of countries and carriers
- Another loop for a list of warehouses
A sample template is shown below:

Steps to add multiple loops of data
Step 1: Prepare your input data
Collect your input data for your tables. A sample JSON file is attached below.
[
{
"key": "country_carrier",
"value": [
{
"entry": [
{ "key": "country", "value": "NO" },
{ "key": "carrier", "value": "Posten Norge" }
]
},
{
"entry": [
{ "key": "country", "value": "SE" },
{ "key": "carrier", "value": "PostNord Sweden" }
]
},
{
"entry": [
{ "key": "country", "value": "DK" },
{ "key": "carrier", "value": "DAO Denmark" }
]
}
]
},
{
"key": "warehouse_list",
"value": [
{
"entry": [
{ "key": "warehouse", "value": "Nordic Central" },
{ "key": "city", "value": "Oslo" },
{ "key": "loading_spec", "value": "Dock A" }
]
},
{
"entry": [
{ "key": "warehouse", "value": "Coastal Hub" },
{ "key": "city", "value": "Stockholm" },
{ "key": "loading_spec", "value": "Gate 2" }
]
},
{
"entry": [
{ "key": "warehouse", "value": "Continental Depot" },
{ "key": "city", "value": "Copenhagen" },
{ "key": "loading_spec", "value": "Platform B" }
]
}
]
}
]This will be the input for your workflow.
Step 2: Add the Parse JSON module
Click the + sign on your scenario builder.
Search and add the Parse JSON module.
In the JSON string field, paste your JSON data.

Click Save.
Right click on the module and click Run this module only.
The raw JSON data is transformed from a single block of text into keys and values that can be used and mapped by subsequent modules in your scenario.

Step 3: Add the Array aggregator module
Click the + sign to add a new module.
Search and add an Array aggregator module.

Click Save.
Array aggregator will eventually combine multiple items from the JSON file into one array. It also needs a traget data structure type for looping which is not availble yet. Therefore, you will configure this module at a later stage during this workflow.
Step 4: Download the document template
Click the + sign to add a new module.
Search and add the Google Drive - Download a file module.
From the Enter a File ID dropdown, click Select from the list.
From the Choose a Drive field drop down, click the drive where your template document is saved. In this scenario, it is My Drive.
From the File ID field, search and click the Template doc file.

Click Save.
The Google Drive module is now configured to download the Template doc file from the chosen location.
Step 5: Fill out the document template
Click the + sign to add another module.
Search and add the Microsoft Word Templates - Fill out a document module.
In the Name of filled out file field, enter the name you want the output file to have. In this scenario, it is Filled out doc.docx.
From the Data source field, click Form.
Toggle the Map button to ON.
In the Values field, map the array output from the Array aggregator module.

Click Save.
A new Microsoft Word document is ready for use in your scenario. You will further configure the process of merging data to create a final document in the upcoming steps.
Step 6: Upload the generated file
Click the + sign to add another module.
Add Google Drive > Upload a File module.
Configure the module as shown in the image below.
Enter a Folder ID: Select from the list.
New Drive Location: Select your preferred Google Drive folder.
New Folder Location: Select a folder to save the output file from the Microsoft Word Templates - Fill out a document module.
File: Select Microsoft Word Templates - Fill out a document.

Click Save.
The Google Drive module is now configured to upload the Filled out doc.docx file into a chosen location.
Step 7: Configure the Array aggregator module
Now return to the Array aggregator module to complete its setup. You configure the Array aggregator later in the scenario because it requires a Target structure type. The Microsoft Word Templates option only becomes available after the values field in Microsoft Word Templates module has been mapped to the output array from the Array aggregator module .
From the Target structure type dropdown, click Values under Microsoft Word Templates - Fill out a document.
From the Value type dropdown, click Loop or section.
In the Key field, map the key from the Parse JSON module.
If you do no see key, right-click on the Parse JSON module and then click Run this module only. Wait for sometime for the fields to load.
Toggle to switch on the Map button next to the Value field.
In the Value field, map the value[] from your parsed input (JSON) file.

Click Save.
The Array aggregator module is fully configured and ready to combine your parsed data into the required structure for the Word template for looping multiple tables.
Step 8: Run your scenario
Click Run Once to run your scenario.
Review the generated output file to confirm that both looping sections have been populated correctly.
Your output file must contain two distinct tables or lists, each populated from its respective data loop:

Your scenario at a glance:
