Help

Save the date! Join us on October 16 for our Product Ops launch event. Register here.

Field [linked record] cannot accept the provided value

Topic Labels: Scripting extentions
2793 2
cancel
Showing results for 
Search instead for 
Did you mean: 
Bahle_Makhaya
4 - Data Explorer
4 - Data Explorer

Hey Airtable community,

I am having trouble automating a script that triggers when the quantity field is updated of a new record. The trigger action is that a record is inserted into another table (Inventory Quantities) with the id of the current table (Products) and quantity set to 0.

I had no issues when I set the field type of Product ID to number, but when I switched it to a linked record thats when the trouble started.

Please find the code below as per suggestions and documentation on how to handle linked records:

let ProductsTable = base.getTable("Products");
let QuantityTable = base.getTable("Inventory Quantities");
let query = await ProductsTable.selectRecordsAsync({
        sorts: [
            {field: "Product ID"},
        ]
});

let record = query.records[query.records.length-1];
let productID = record.getCellValue("Product ID") + '';

let newRecord = await QuantityTable.createRecordAsync({
    "Product": [{id: productID }],
    "Quantity": 0
})

This code throws Field “Product” cannot accept the provided value.

What could be causing this issue.

Thanks in advance for you assistance.

2 Replies 2

Hi @Bahle_Makhaya - I think it is this line this is causing issues. record is a single element from the query.records array, so you should just be able to record.id. This can then go into your createRecord call:

let newRecord = await QuantityTable.createRecordAsync({
    "Product": [{id: record.id }],
    "Quantity": 0
})

This should be in the primary docs. Great find!