Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Yes, it is possible to make a script that creates child records in Airtable in batches. You can use the Airtable API to extract records from the parent table and create multiple child records in a loop. Here is an example code snippet in JavaScript:

const AIRTABLE_API_KEY = 'YOUR_API_KEY';
const BASE_ID = 'YOUR_BASE_ID';
const PARENT_TABLE_NAME = 'Parent';
const CHILD_TABLE_NAME = 'Child';
const BATCH_SIZE = 10;

const Airtable = require('airtable');
const base = new Airtable({apiKey: AIRTABLE_API_KEY}).base(BASE_ID);

base(PARENT_TABLE_NAME).select({
    view: 'YOUR_VIEW_NAME'
}).eachPage(async function(records, fetchNextPage) {

    const childRecords = records.map(parentRecord => {
        return {
            "fields": {
                "Name": "Child record",
                "Parent": [parentRecord.getId()]
            }
        };
    });

    // Create child records in batches
    for (let i = 0; i < childRecords.length; i += BATCH_SIZE) {
        const batch = childRecords.slice(i, i + BATCH_SIZE);
        await base(CHILD_TABLE_NAME).create(batch);
    }

    fetchNextPage();

}, function(err) {
    if (err) {
        console.error(err);
        return;
    }
});

This code fetches records from the parent table using a specific view, creates child records for each parent record, and creates them in batches of 10. You can customize the script to suit your specific requirements.