FormatDate in a Join

:bullseye: What is your goal?

I’m trying to format a date/time field in a formula within a Google Docs template in Make. My field comes from a table that should output a formatted list.

j’essaie de formater un champ date/heure dans une formule dans un template google docs dans Make. Mon champ arrive d’un tableau qui doit me sortir une liste formatée

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

Everything possible, but nothing works. My Array Aggregator output bundle is shown below, and my formula is: {{join(map(19.array; “date_heure_accueil_aller”))}}{{newline}} … date_heure_accueil_aller is a date field in Airtable. I’ve tested FormatDate and Parsedate. The expected result is a list of my dates, one below the other, in a cell of a Google Docs table. This works for all my text fields.

qu’avez vous essayé : Tout ce qui est possible mais rien ne fonctionne. mon bundle de sortie d’array aggregator voir ci dessous et ma formule : {{join(map(19.array; “date_heure_accueil_aller”))}}{{newline}} … date_heure_accueil_aller est un champ date dans airtable. J’ai testé FormatDate, parsedate. Le resultat attendu est la liste de mes dates, les unes au dessous des autres dans une cellule d’un tableau google docs. Cela fonctionne pour tous mes champs texte

:clipboard: Error messages or input/output bundles

[
{
“array”: [
{
“Lien_Html”: [
https://drive.google.com/uc?export=view&id=1KyoB7Bxtj3_q3149T7XaLQnQYBmaOoIP
],
“VACANCIERS”: [
“recvEYxLaJgI5gPZ2”
],
“Arriv_a_Paris_en”: “Avion”,
“Nom_Accomp_Aller”: “Mr DUPONT”,
“Part_de_Paris_en”: null,
“Tel_Accomp_Aller”: “+33660423528”,
“Ref_Train_Avion_Aller”: “AF1152”,
“Prov_Train_Avion_Aller”: “TOULOUSE”,
“Recap_Lieu_Accueil_Aller”: “AEROPORT CDG : terminal d’arrivée de votre avion.”,
“date_heure_accueil_aller”: “2026-04-12T14:00:00.000Z”,
“Recap_Lieu_Accueil_Retour”: “AEROPORT CDG : terminal de départ de votre avion.”,
“date_heure_accueil_retour”: “2026-04-12T14:00:00.000Z”
},
{
“Lien_Html”: [
https://drive.google.com/uc?export=view&id=1KyoB7Bxtj3_q3149T7XaLQnQYBmaOoIP
],
“VACANCIERS”: [
“recuLi0920A9qbBQa”
],
“Arriv_a_Paris_en”: null,
“Nom_Accomp_Aller”: “Famille”,
“Part_de_Paris_en”: null,
“Tel_Accomp_Aller”: “+33682393765”,
“Ref_Train_Avion_Aller”: null,
“Prov_Train_Avion_Aller”: null,
“Recap_Lieu_Accueil_Aller”: null,
“date_heure_accueil_aller”: “2026-04-25T05:00:00.000Z”,
“Recap_Lieu_Accueil_Retour”: “GARE TGV Aéroport CDG 2 : bureau Assist’en’Gare.”,
“date_heure_accueil_retour”: “2026-04-12T19:00:00.000Z”
},
{
“Lien_Html”: [
https://drive.google.com/uc?export=view&id=1KyoB7Bxtj3_q3149T7XaLQnQYBmaOoIP
],
“VACANCIERS”: [
“recYXo9fRqKvyMgjr”
],
“Arriv_a_Paris_en”: “Train : TGV Grandes Lignes - Intercités”,
“Nom_Accomp_Aller”: null,
“Part_de_Paris_en”: null,
“Tel_Accomp_Aller”: null,
“Ref_Train_Avion_Aller”: “OUIGO 52563”,
“Prov_Train_Avion_Aller”: “MARSEILLE”,
“Recap_Lieu_Accueil_Aller”: “GARE MONTPARNASSE : bureau Assist’en’Gare.”,
“date_heure_accueil_aller”: “2026-04-05T04:30:00.000Z”,
“Recap_Lieu_Accueil_Retour”: “GARE TGV Aéroport CDG 2 : bureau Assist’en’Gare.”,
“date_heure_accueil_retour”: “2026-04-12T16:00:00.000Z”
},
{
“Lien_Html”: [
https://drive.google.com/uc?export=view&id=1KyoB7Bxtj3_q3149T7XaLQnQYBmaOoIP
],
“VACANCIERS”: [
“recsYVBVBkHJoNSr6”
],
“Arriv_a_Paris_en”: null,
“Nom_Accomp_Aller”: null,
“Part_de_Paris_en”: null,
“Tel_Accomp_Aller”: null,
“Ref_Train_Avion_Aller”: null,
“Prov_Train_Avion_Aller”: null,
“Recap_Lieu_Accueil_Aller”: null,
“date_heure_accueil_aller”: “2026-04-25T05:00:00.000Z”,
“Recap_Lieu_Accueil_Retour”: null,
“date_heure_accueil_retour”: “2026-04-12T14:00:00.000Z”
}
],
IMTAGGLENGTH”: 4
}
]

1 Like

Hey there,

what is the format that you are trying to get this into?

1 Like

No you cant apply formatDate like that. It expects a singular date variable so it wont work on an entire array.

You can have an iterator module with the array mapped inside and then a text aggregator module. Then inside the text aggregator you can reformat the date to whatever is needed.

:bullseye: What is your goal?

impossible to format a date in a join

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

all

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

1 Like

Thank’s so lot …. have a good day

1 Like

Welcome to the Make community!

From your screenshot / output bundle, it appears that you have an array of items. What do you do when you have an array?

“Looping” Through Array Items

When you see an array in a module’s output, think of using an Iterator module. This allows you to individually access and process each item in the array.

In this example, this variable is an array of items (collections). You’ll want to map this variable in an Iterator module.

Question: Have you tried mapping your array variable into an Iterator module, ran the scenario once, and view the output? Then …

Combining Bundles Using Aggregators

Every result/item from some module types (like Trigger / Iterator / List / Search / Match modules) can potentially and likely output more than one bundle. These multiple bundles will individually run subsequent modules once per bundle, which is not optimal in most cases:

  • one operation per bundle per module, which could lead to…
  • use of multiple credits per bundle per module (some modules use more than one credit)
View example screenshots

Aggregator Example

The “Search Rows” module runs one time, returning 999 results (999 bundles).

  • Without Aggregator: the tools module run 999 times (999 operations)


    (and if there are more modules, they run 999 times each)

  • With Aggregator: the tools module only runs 1 time (1 operation)

:warning: Warning: :police_car_light:
This can easily use your entire quota of credits if you are not careful or fail to understand this concept.

To “combine” multiple bundles into a single variable, so that you can process all of the items in a single operation, you’ll need to use an aggregator. Aggregators is a type of module that accumulates bundles and outputs one bundle (unless you are using “Group By”). An example of a commonly-used aggregator module is the Array aggregator module.

You can find out more about some other aggregator modules here:

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

Setting the Correct Aggregator Source

You need to set the “Source Module” field of the aggregator to where the bundles are coming from. This is usually an iterator module, but can also be a search/list/repeater module, or even the trigger module!

Mapping a Complex (Collection) Structure Into an Array Field

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 array field to map multiple items (collections) to it. Such fields initially may allow you to manually add individual items, but toggle the “Map” switch on, and you can map an array variable (from an Array Aggregator) containing multiple collections.

Simply select the respective “Target structure type” in an Array Aggregator module.

As you can see from the example above, the “Map” toggle on complex array fields are used when you have an array variable (like from an array aggregator).

:clipboard: Note: :light_bulb:
Other combinations of modules may also allow you to generate an array that matches a future module 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:
Screenshot 2026-02-24 170737
Screenshot 2026-02-24 170749

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

For more information, see “Mapping with arrays” in the Help Centre. I also suggest going through the Make Academy, which also covers the use of Iterators & Aggregators.

@samliew