Help

Welcome to the Airtable Community! If you're new here, check out our Getting Started area to get the most out of your community experience.

createRecordAsync not creating a Record

Topic Labels: Scripting extentions
Solved
Jump to Solution
708 2
cancel
Showing results for 
Search instead for 
Did you mean: 

Can I get a second pair of eyes on my script? Expected behavior is that a user can click a button on any record in the “People” table, and it will create a record in the “Payouts” table, linked to People by a lookup field called “Person”

I don’t get any error messages when I run this script, but I also don’t get any new records in the “Payouts” table. And I’m the only user on the license, so I don’t think it would be a permissions error.

Can you see anything I’m missing? Thanks in advance!

const childTable = base.getTable('Payouts');
const parentTable = base.getTable('People');
const parentRecord = await input.recordAsync('Parent record', parentTable);
const linkField = 'Person';
const newRecordValue = parentRecord.getCellValue("Account Balance")*(-1);
console.log(newRecordValue);

childTable.createRecordAsync({'Amount': newRecordValue, linkField: parentRecord});
1 Solution

Accepted Solutions

Your syntax for the linked field is incorrect. You are not seeing the error message because you are not awaiting the createRecordAsync line, thus your script ends before it has a chance to report the error.

Try this …

await childTable.createRecordAsync({
    'Amount': newRecordValue, 
    [linkField]: [{id: parentRecord.id}],
});

See Solution in Thread

2 Replies 2

Your syntax for the linked field is incorrect. You are not seeing the error message because you are not awaiting the createRecordAsync line, thus your script ends before it has a chance to report the error.

Try this …

await childTable.createRecordAsync({
    'Amount': newRecordValue, 
    [linkField]: [{id: parentRecord.id}],
});

Thank you! That did the trick.