Bundle not appearing to be chosen as dynamic fields

:bullseye: What is your goal?

Super newbie, so could be simple!

I am building an automation where:

A Google Form is submitted.

Data is summarised (OpenAI).

A new row is added to a “Builder” sheet.

A Search Rows (Advanced) module pulls up to 3 matching rows from a Use Case Library sheet based on the Sector column.

These 3 rows must be mapped into Use Case 1, Use Case 2, Use Case 3 fields in the “Builder” sheet.

To do this, I need Make to expose:

Items
Item 1
A–J
Item 2
A–J
Item 3
A–J

The execution log does contain all of these items.

But the mapping panel does not show them.

:thinking: What is the problem & what have you tried?

The Search Rows module output (in Execution Log) shows:

Total number of bundles = 3

Bundle order position 1 → Columns A–J

Bundle order position 2 → Columns A–J

Bundle order position 3 → Columns A–J

(Screenshot attached showing all 3 bundles.)

But in the mapping panel for Update a Row, I only see:

Total number of bundles: 3

Bundle order position: 1

Columns A–J for bundle 1

There is no Items tree and no option to select bundle 2 or 3.

The mapping panel seems to ignore bundles 2 and 3, even though they are present in the module output.

I have already attempted all standard fixes:

Deleted and re-added the Update a Row module

Duplicated and replaced the Search Rows module

Re-ran the scenario after inserting 3 matching rows

Ensured the Search Rows module runs before Update a Row

Confirmed all bundles appear correctly in the output body

Cleared browser cache

Tried Safari and Chrome

Refreshed fields in mapping

Zoomed UI to 100%

Tried “run module only” then mapping

Ensured no field names are duplicated

None of these resolved the issue.

:clipboard: Error messages or input/output bundles

No error, just not able to select bundle in mapping.

Input bundle: [
{
“from”: “drive”,
“mode”: “select”,
“values”: {},
“sheetId”: “Builder 3”,
“rowNumber”: 12,
“spreadsheetId”: “/1Mkhft1YLJ64xrtMBNQ4Ekh6oU4AlYHH43TGo9tZemDI”,
“includesHeaders”: true,
“valueInputOption”: “USER_ENTERED”
}
]

Output bundle:
{

{
    "0": "Tourism",
    "1": "Low network connectivity; Grade listed building; not accessible; heritage site  ",
    "2": "Cannot make access changes to heritage building; innaccessible for disabled visitors; poor connectivity",
    "3": "£500–£2,000, low staffing, poor connectivity, digital skills",
    "4": "Immersive map of the castle via Ipad and laptop",
    "5": "Capture 360 photos via phone + clip-on camera; upload to low-cost platform; embed on website",
    "6": "Social media, website, virtual tour online.",
    "7": "Better accessibility; different content encourages repeat visits ",
    "8": "Needs occasional updates; avoid headsets due to hygiene, low digital adoption of visitors",
    "9": "low-cost, no-headset, accessibility, tourism, 360",
    "24": null,
    "__IMTLENGTH__": 3,
    "__IMTINDEX__": 1
},
{
    "0": "Tourism",
    "1": "High network connectivity; Grade listed building; not accessible; heritage site  ",
    "2": "Cannot make access changes to heritage building; innaccessible for disabled visitors; poor connectivity",
    "3": "£500–£2,000, low staffing, poor connectivity, digital skills",
    "4": "Immersive map of the castle via Ipad and laptop",
    "5": "Capture 360 photos via phone + clip-on camera; upload to low-cost platform; embed on website",
    "6": "Social media, website, virtual tour online.",
    "7": "Better accessibility; different content encourages repeat visits ",
    "8": "Needs occasional updates; avoid headsets due to hygiene, low digital adoption of visitors",
    "24": null,
    "__IMTLENGTH__": 3,
    "__IMTINDEX__": 2
},
{
    "0": "Tourism",
    "1": "Poor connectivity; Grade listed building; not accessible; heritage site  ",
    "2": "Cannot make access changes to heritage building; innaccessible for disabled visitors; poor connectivity",
    "3": "£500–£2,000, low staffing, poor connectivity, digital skills",
    "4": "Immersive map of the castle via Ipad and laptop",
    "5": "Capture 360 photos via phone + clip-on camera; upload to low-cost platform; embed on website",
    "6": "Social media, website, virtual tour online.",
    "7": "Better accessibility; different content encourages repeat visits ",
    "8": "Needs occasional updates; avoid headsets due to hygiene, low digital adoption of visitors",
    "24": null,
    "__IMTLENGTH__": 3,
    "__IMTINDEX__": 3
}

]

:camera_with_flash: Screenshots (scenario flow, module settings, errors)

Hey Jenna,

you can use the order index to specify which item you want to map. Place it inside the square brackets.

Welcome to the Make community!

Combining Bundles Using Aggregators

Every result (item/record) from trigger/iterator/list/search/match modules will output a bundle. This can result in multiple bundles, which then trigger multiple operations in future modules (one operation per bundle). To “combine” multiple bundles into a single variable, you’ll need to use an aggregator of some sort.

Aggregators are modules that accumulate multiple bundles into one single bundle. An example of a commonly-used aggregator module is the Array aggregator module. The next popular aggregator is the Text Aggregator which is very flexible and can apply to many use-cases like building of JSON, CSV, HTML.

You can find out more about the other types of aggregator modules here:

Question: Which is the best aggregator do you think you’ll need for your use-case?

Mapping a Specific Structure Into a Complex Field

If you have an array of collections, in programming terms, this is called an array of objects, or an array with non-primitive data types (“complex”).

The Array Aggregator module is very powerful because it allows you to build a new complex array of collections that matches a later module’s field to map multiple items (collections) to it. Such fields initially would allow you to manually add items, but you can toggle the “Map” switch to the “on” state and map a whole array into a single field.

This is done by selecting the “Target structure type” in an Array Aggregator module.

As you can see from the above example, the “Map” toggle on complex fields are used when you have an array variable (like from an array aggregator). Other combinations of modules may also allow you to generate an array that matches a future field’s array structure, like “Aggregate to JSON + Parse JSON”, or “Create JSON + Parse JSON”, but this is an advanced topic.

Question: Are you mapping your array into a field that accepts more than one item/collection?

Example

Here is an example of how your scenario could look like:

This is just an example. Your final solution may or may not look like this depending on your requirements and actual data.

For more information, see “Mapping with arrays” in the Help Centre. You should also do the Make Academy, which also covers the use of Iterators & Aggregators.

Hope this helps! If you are still having trouble, please provide more details.

@samliew

So would I be able to build an array that pulls all use case rows that are linked to the specific the sector (i.e. ‘retail’ - Column A), aggregate the data and push a consolidated cell into my builder sheet? Thanks for your response :slight_smile:

It should be possible.

If you need further assistance, please provide the following:

1. All Relevant Screenshots

We need to see what you’re working with to give you the best advice. Screenshots are important because Make is a visual editor — a picture provides us with more context.

It would help us identify the issue by having screenshots of:

  • the full scenario, and the zoomed in parts of the scenario that you are referring to (if your scenario is huge),
  • a full scenario run/execution from the history (showing output “speech” bubbles),
  • relevant module fields (showing how you’ve used any built-in functions, and how you’ve mapped the variables),
  • relevant filters between modules (showing which operators and any built-in functions you’ve used, and how you’ve mapped the variables),
  • relevant module input/output bubbles,
  • if applicable, any error messages,
  • and if applicable, any external services (spreadsheet headers/ sample data/ regex101.com/ etc. to show the item/ record exists, and is set up correctly).
Need help❓View instructions ◀

We would appreciate it if you could directly upload screenshots here instead of linking to them outside of this forum. This allows us to zoom in on the image when clicked, and also having improved privacy from third-party sources.

Taking Screenshots

  • Microsoft Windows: Take screenshots using the “Windows Snipping Tool”, by pressing either PrtSc or WinShiftS keys on your keyboard.
  • MacOS: Take screenshots by pressing CommandShift4 keys on your keyboard.

Uploading Attachments

  • Drag image files directly into the rich-text editor, or
  • Click on the upload button in the editor toolbar to select files:

2. Scenario Blueprint

Providing your scenario will allow others to quickly recreate and see how you have set up the mappings in each module, and also allows us take screenshots or provide module exports of any solutions we have for you in return. This would benefit you in implementing our suggestions as you can view screenshots of the changes or paste corrected modules back into your scenario.

Need help❓View instructions ◀

A. Export Blueprint

In the scenario editor, click the three dots at the top-right, then select “Export blueprint”.

  • You can upload files and images to this forum by clicking on the upload button:

    Uploading an attachment here will look like this:
    blueprint.json (12.3 KB)

B. Create Public Share Link

In the scenario editor, click on the Share button:

Read more about the scenario sharing feature in the Help Centre.

3. Module Output Bundles

Please provide the output bundles (input bundles are not so crucial) of each of the relevant modules by running the scenario, or get output bundles from a previous scenario run from the “History” tab.

Providing the output bundles will allow others to replicate what is going on in the scenario, especially if there are complex data structures (nested arrays and collections), especially if external services are involved, and help you with mapping the raw property names from collections.

Need help❓View instructions ◀

Click on the white speech bubbles on the top-right of each module and select “Download output bundles”.

A. Upload a Text File

Save each bundle contents in a plain text editor as a bundle.txt file. Open the file to check if it has not added additional formatting or encoded the plain text.

  • You can upload files and images to this forum by clicking on the upload button:

    Uploading an attachment here will look like this:
    output-bundle.txt (12.3 KB)

B. Insert a Formatted Code Block

If you are unable to upload files on this forum, alternatively you can paste the bundles AND format them correctly.

:warning: Formatting IS Important! :warning:

Here are some ways to provide text content in a way that it won’t be modified by the forum.

  • Method 1: Type code fence manually
    Manually type three backticks ``` in a separate line before and after the content, like this,

    ```
    text goes here
    ```
    
  • Method 2: Highlight the pasted content, then click the preformatted text/code button

  • Method 3: Upload your file elsewhere and share the public link
    This method is only advised for large files exceeding the forum upload limit.

Sharing these details will make it easier for others to assist you, so that you can get better answers, faster.

Hope this helps! If you are still having trouble, please provide more details.

@samliew

Thank you for your help. Unfortunately, it is still not pulling through. This is definitely user error on my part, I am sure.

Immersive Advisor - v2 automate pipeline.blueprint.json (102.1 KB)

Full Scenario (issue in last three modules, search row, array and update a row)

Search rows advanced output includes all three bundles, so up to this point it is working fine.

[
    {
        "0": "Tourism",
        "1": "Low network connectivity; Grade listed building; not accessible; heritage site  ",
        "2": "Cannot make access changes to heritage building; innaccessible for disabled visitors; poor connectivity",
        "3": "£500–£2,000, low staffing, poor connectivity, digital skills",
        "4": "Immersive map of the castle via Ipad and laptop",
        "5": "Capture 360 photos via phone + clip-on camera; upload to low-cost platform; embed on website",
        "6": "Social media, website, virtual tour online.",
        "7": "Better accessibility; different content encourages repeat visits ",
        "8": "Needs occasional updates; avoid headsets due to hygiene, low digital adoption of visitors",
        "9": "low-cost, no-headset, accessibility, tourism, 360",
        "24": null,
        "__IMTLENGTH__": 3,
        "__IMTINDEX__": 1
    },
    {
        "0": "Tourism",
        "1": "High network connectivity; Grade listed building; not accessible; heritage site  ",
        "2": "Cannot make access changes to heritage building; innaccessible for disabled visitors; poor connectivity",
        "3": "£500–£2,000, low staffing, poor connectivity, digital skills",
        "4": "Immersive map of the castle via Ipad and laptop",
        "5": "Capture 360 photos via phone + clip-on camera; upload to low-cost platform; embed on website",
        "6": "Social media, website, virtual tour online.",
        "7": "Better accessibility; different content encourages repeat visits ",
        "8": "Needs occasional updates; avoid headsets due to hygiene, low digital adoption of visitors",
        "24": null,
        "__IMTLENGTH__": 3,
        "__IMTINDEX__": 2
    },
    {
        "0": "Tourism",
        "1": "Poor connectivity; Grade listed building; not accessible; heritage site  ",
        "2": "Cannot make access changes to heritage building; innaccessible for disabled visitors; poor connectivity",
        "3": "£500–£2,000, low staffing, poor connectivity, digital skills",
        "4": "Immersive map of the castle via Ipad and laptop",
        "5": "Capture 360 photos via phone + clip-on camera; upload to low-cost platform; embed on website",
        "6": "Social media, website, virtual tour online.",
        "7": "Better accessibility; different content encourages repeat visits ",
        "8": "Needs occasional updates; avoid headsets due to hygiene, low digital adoption of visitors",
        "24": null,
        "__IMTLENGTH__": 3,
        "__IMTINDEX__": 3
    }
]

The array aggregator consolidates all three bundles:

[
    {
        "__IMTKEY__": "Tourism",
        "array": [
            {
                "1": "Low network connectivity; Grade listed building; not accessible; heritage site  ",
                "2": "Cannot make access changes to heritage building; innaccessible for disabled visitors; poor connectivity",
                "3": "£500–£2,000, low staffing, poor connectivity, digital skills",
                "4": "Immersive map of the castle via Ipad and laptop",
                "5": "Capture 360 photos via phone + clip-on camera; upload to low-cost platform; embed on website",
                "6": "Social media, website, virtual tour online.",
                "7": "Better accessibility; different content encourages repeat visits ",
                "8": "Needs occasional updates; avoid headsets due to hygiene, low digital adoption of visitors",
                "9": "low-cost, no-headset, accessibility, tourism, 360"
            },
            {
                "1": "High network connectivity; Grade listed building; not accessible; heritage site  ",
                "2": "Cannot make access changes to heritage building; innaccessible for disabled visitors; poor connectivity",
                "3": "£500–£2,000, low staffing, poor connectivity, digital skills",
                "4": "Immersive map of the castle via Ipad and laptop",
                "5": "Capture 360 photos via phone + clip-on camera; upload to low-cost platform; embed on website",
                "6": "Social media, website, virtual tour online.",
                "7": "Better accessibility; different content encourages repeat visits ",
                "8": "Needs occasional updates; avoid headsets due to hygiene, low digital adoption of visitors",
                "9": null
            },
            {
                "1": "Poor connectivity; Grade listed building; not accessible; heritage site  ",
                "2": "Cannot make access changes to heritage building; innaccessible for disabled visitors; poor connectivity",
                "3": "£500–£2,000, low staffing, poor connectivity, digital skills",
                "4": "Immersive map of the castle via Ipad and laptop",
                "5": "Capture 360 photos via phone + clip-on camera; upload to low-cost platform; embed on website",
                "6": "Social media, website, virtual tour online.",
                "7": "Better accessibility; different content encourages repeat visits ",
                "8": "Needs occasional updates; avoid headsets due to hygiene, low digital adoption of visitors",
                "9": null
            }
        ]
    }
]

But the challenge lies in updating those use cases into a spreadsheet.

Aggregator Set Up:

The update a row module returns three seperate lines but does not pull use case 2 and 3 through.

[
    {
        "spreadsheetId": "1Mkhft1YLJ64xrtMBNQ4Ekh6oU4AlYHH43TGo9tZemDI",
        "updatedRange": "'Builder 3'!A17:G17",
        "updatedRows": 1,
        "updatedColumns": 3,
        "updatedCells": 3
    }
]

Update row module set up:

Spreadsheet output showcasing the name tags (context, main challenge etc.) but no date for bundle 2 and 3.