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.

Delete Records with dates that is 60 days prior from today using the Script

Topic Labels: Automations
107 1
cancel
Showing results for 
Search instead for 
Did you mean: 

Hi All,

I am new to the airtable and Airtable Automations.

I have a table with a column ‘Filled Date’. I wanted to schedule an automation to happen every night to delete the records with a date that is 60 days prior to today.

I don’t know if am doing it wrong, but I tried to filter the rows using below code, but it’s filtering entire records:

var today = new Date();
const table = base.getTable(“Table1”);
const query = await table.selectRecordsAsync({
fields: [“Filled Date”]
});
const todelete = query.records.filter(rec => Math.ceil(Math.abs(today.getTime() - new Date(rec.getCellValue(“Filled Date”)).getTime()/ (1000 * 60 * 60 * 24))) > 60);
console.log(todelete);

Can anyone help me on this. Any advise is much appreciated. Thank you.

1 Reply 1

Welcome to the Airtable community!

Notice that your order of operations is off. You are converting only the record date/time to days, not the difference in time. Thus, you are probably getting all the records in the table.

Try adding a set of parentheses to fix the order of operations.

It might be easier for you to have a filtered view to do the date calculations and then have the automation script simply delete all the records in the view.