What is your goal?
grab records from Make.com’s “Parse CSV” copy it to Airtable in bulk using fewer credits as then standard AT’s credit record module.
What is the problem & what have you tried?
wasting 20+ hours running circles including with a variety of AI answer engines & many variations of settings & designs between Parse CSV → with/without Array Aggr → AT Bulk Create Records (Advanced)". So far have only 1 config resulting only 1 output record in Airtable with nor errors.
Hey there,
Parse CSV → array aggregator → bulk create records should work, assuming the mapping is correct. If only one record was crated, best guess is you mapped the first record of the array instead of the array it self.
Hi,
I’d use a code module to prepare the JSON in the format expected by Make’s Airtable “Create Record” module. Note that this differs slightly from the official Airtable API docs as the Make’s module expects each field specified as { id, type, value }, rather than the API’s native field structure.
The code would batch records up by 10 also (max per batch). Lately, loop through those batches.
Airtable module:
Basic code to get started:
const { csv } = input;
const HEADER_TO_FIELD = {
'col1': { field: 'Field A', type: 'text' },
'col2': { field: 'Airtable Field Name 2', type: 'text' },
'col3': { field: 'Three', type: 'number' },
};
const BATCH_SIZE = 10;
function rowToRecord(row) {
const record = Object.keys(row).map(header => {
const mapping = HEADER_TO_FIELD[header] || { field: header, type: 'text' };
return {
id: mapping.field,
type: mapping.type,
value: row[header] || ''
};
});
return { record };
}
function toAirtableBatches(rows) {
const records = rows.map(rowToRecord);
const batches = [];
for (let i = 0; i < records.length; i += BATCH_SIZE) {
batches.push(records.slice(i, i + BATCH_SIZE));
}
return batches;
}
const batches = toAirtableBatches(csv);
return {
csv,
batches
};
Hope this helps