Deleting old row when new added or overwriting

Hi all!

I would have a form on Softr sending data to rows in Airtable. I would like ideally to just have one row and each new item received from Softr be written over the top of the old. Otherwise, have it created as a new row and delete the old one.

I’ve played with a few automations now and can’t seem to get it to work.

Any help would be appreciated! thanks, Rich :pray:t2:

hi @Rich_Taylor,
I am guessing that the data would be written on top of old one only when certain conditions occur (there is another record with the same name, email, etc.). In that case, I think you have a couple options, ranked by difficulty/flexibility to achieve your goal:

  1. Easy but Not Flexible: You could create Airtable automations which, whenever a new record is created in Airtable, check through a find step if there is another record with the same characteristics and if they find one, then they update it with the data of the new one. With this approach you can, however, not delete the new record so you would have to keep both (you could then mark it in some way, maybe a checkbox, and exclude it from your main view of interest
  2. Medium Difficulty and Medium Flexibility: You could use Integromat or Zapier where the record is each time a new record is created. When this happens, like with Airtable automations you find the relevant record and update it
  3. High Difficulty and High Flexibility: You could use Airtable scripts with specific conditions and connected actions. These would allow you to pretty much have maximum flexibility and perform any actions you prefer on the record (even do elaborate computations). In this case, you would track each time a record is created, track the record you want to update, update it and delete the new record. But with scripts you could also do much more, depending on your specific needs

Website: alessiomonino.com
Calendly: Calendly - Alessio Monino
Email: alessio.monino@gmail.com

Welcome to the Airtable community!

A form always creates a new record.

If you want to overwrite the existing record, that is usually done by editing the record, instead of using a form. If you have a Softr Professional subscription, you can edit the existing record.

If you want to use the second option of deleting the previous record, you need a method of identifying the previous record and a script to do the deletion. There is no “Delete Record” action. If you know how to write Airtable automation scripts or want to learn, this is a good project for writing your own. However, if you are not interested in coding, I see a set of Automation Helpers scripts that includes a script for deleting a record in an automation. The script was originally designed to delete the triggering record, but it can delete any record as long as you can get the record id.

On the other hand, if you don’t want to use a script, you might be able to design a system where you do not need to immediately delete the old record. For example, you could use automations to mark the new record as the “active” record and the previous record as “inactive”.