How to print a variable from Array aggregator in Email HTML?

:bullseye: What is your goal?

I am building a daily delivery briefing scenario.

The goal is:

Google Sheets Search Rows reads delivery orders from an Orders_Log sheet.
For each row, Tools → Set multiple variables creates a formatted text variable called briefing_row.
Array aggregator aggregates all briefing_row values.
Email sends an HTML briefing with the list of orders.
HTTP sends the same briefing to WhatsApp.

I need to print all briefing_row values inside the Email HTML body, preserving line breaks.

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

The scenario runs successfully and all modules are green.

Tools → Set multiple variables creates briefing_row correctly.

Example Tools output:

briefing_row:
Order #1076

Fascia: AM2 — 11:30–13:00
Comune: Mombercelli
Area: AREA_B
Accommodation / Private home: villa test 8
Indirizzo: via test 8
WhatsApp cliente: 393356029467
Note: chiavi nel cassetto
Totale: €126.30

Array aggregator output also contains briefing_row inside Array.

The problem is in the Email module.

If I try:

join(map(6.Array; “briefing_row”); “

”)

the email body is empty.

If I try direct extraction, the email prints the object instead of only the text, for example:

{“briefing_row”:“Order #1076\n\nFascia: AM2 — 11:30–13:00…”}

I need the correct Make formula to print only the briefing_row text from the Array aggregator in the Email HTML body, ideally converting line breaks \n into
.

:clipboard: Error messages or input/output bundles

There is no execution error. All modules are green.

Relevant scenario flow:

Google Sheets — Search Rows
→ Iterator
→ HTTP
→ Tools — Set multiple variables
→ Array aggregator
→ Email
→ HTTP WhatsApp

Tools module output:

Variable name: briefing_row

Variable value:
Order #1076

Fascia: AM2 — 11:30–13:00
Comune: Mombercelli
Area: AREA_B
Accommodation / Private home: villa test 8
Indirizzo: via test 8
WhatsApp cliente: 393356029467
Note: chiavi nel cassetto
Totale: €126.30

Array aggregator output structure:

Array
1
briefing_row: Order #1076

Email HTML body currently contains a section like:

FORMULA HERE

What should the correct formula be?

Should it be something like:

join(map(6.Array; “briefing_row”); “

”)

or:

replace(join(map(6.Array; “briefing_row”); “\n\n”); “\n”; “
”)

or a different get()/map() syntax?

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

Using the map() and join() functions is right, but you need to fix two things.

First, your join separator should be “

” not " " - that’s what creates visible spacing between orders in HTML email.

Then the \n line breaks inside each briefing_row won’t render in HTML either so you will need to replace them with
tags.

Here is the formula that should work:

{{replace(join(map(6.Array[]; “briefing_row”); “

”); “\n”; “
”)}}

This joins all the briefing_row values that are separated by a double line break, then converts any \n line breaks inside each row into
tags so they render correctly in the HTML body.

Make sure your Email module Content Type is set to HTML, looking from your setup it seems to be. Otherwise the HTML code of
will just print as “

Hey there,

first, can you show the array aggregator? Cause your screenshot doesn’t show it, and from it does show, it’s not configured properly.

Second, if you are aggregating data to send as text over email, then use a text aggregator, not an array one.

Welcome to the Make community!

Please provide the Output bundle of the Array Aggregator (module [6]) from the Scenario History, or by re-running the scenario.

To allow others to assist you, please click here and provide the requested information.

Properly-formatted Output Bundles from a Scenario Run

Please provide the Output bundle of each of the relevant modules from the Scenario History, or by re-running the scenario.

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

A. Upload a Text File

Save each bundle contents in a plain text editor as a moduleNumber-output.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:
    module1-input.txt (1.2 KB), module1-output.txt (3.4 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 with the “Preformatted Text” (code) button in the rich-text editor. Otherwise the forum software will change the content, making them invalid!

: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.

Providing the Output bundle will allow others to replicate what is going on, especially if there are complex data structures (like nested arrays and collections) and data from external services. This helps us with answering your question with valid examples, like mapping raw variable names (instead of the label/display name).

@samliew