Skip to main content

Updating An Existing Record via Airtable Form


Forum|alt.badge.img+3

Hi! I am brand new to Airtable (and admittedly, brand new to the tech world in general), so I wanted to share my first project and get some feedback/suggestions.

Some background on the project: My dad’s company is built almost entirely out of google drive and he is wanting to start transitioning over to Airtable to automate some processes that are currently being done tediously by his HR team. One of these tasks is keeping employees’ contact info updated regularly. Right now, this is being done by HR reaching out to employees individually to see if their info has changed and then manually updating in google sheets.

Current Project: Import current employee info into new Airtable base and set up a form to be emailed quarterly to all employees which will allow them to change any information and update their record automatically once this form has been submitted.

Step 1: I imported data straight from google sheets into Airtable to create my Employee Info base. This google sheet had a lot of information (about 50 different columns) so I created a view that would hide everything aside from the contact information that I am wanting to keep updated (name, personal email, company email, address, phone number)

Step 2: I created a form for the contact info in a separate table (I used the exact same column headings and titled this table “Form Submissions”) and used the app SendGrid to create an email template that would pull data from the base and send a unique email to all employees with a pre-filled form. I chose to have the form pre-filled for two reasons: 1) if an employee’s information has not changed, it will be easier to review their current information and submit vs having to re-type all of the same information and 2) I’ll be using their company email (the one data point that will not change and is unique to each employee) to link the new record to their existing record and I want to eliminate the possibility of typos interfering with this automation. Here’s the email I’ll be sending:

Step 3: To have the form submission update the existing record, I set up the following automation:

  1. When a new record is created in the table “Form Submissions”

  1. Find a record in table “Contact Info” where “Company Email” contains “Company Email” from Form Submissions

  1. Update the matching record in “Contact Info” on all of the fields within the Contact info form

Step 4: After excitedly demonstrating my project to my dad, he pointed out that we need an easy way to tell who submitted the form and who ignored the email. I decided to add a time stamp to the form so we could see when it was submitted, thinking I could add this as another field to update automatically in my Contact Info table and replace the timestamp from the last time they submitted. However, because this is a computed value, I wasn’t able to add it to the automation to update in the record. Instead I ended up using the “link to another record” option to link my Contact Info table to my Submissions table and added a look-up column for the time stamp (which I renamed “last updated”). From there I was able to create a view to filter the records that had not been updated within the last week so it would be easy to send a follow-up email to those employees in a few days.

And that’s it! I thought this was a fun and tricky first project to help me learn my way around apps and automations within Airtable. I got to experience the high associated with seeing the green checkmark informing me that my test ran successfully (after many, many failed tests beforehand) and let me just say: I get it.

I’m open to any feedback/suggestions for anything that could be done differently to make this project simpler or more efficient. And additionally, any suggestions for fun projects I can do to help me build more skills within Airtable!

Thanks for taking the time to read :slightly_smiling_face:

Kayla

28 replies

ScottWorld
Forum|alt.badge.img+33
  • Brainy
  • 8782 replies
  • May 2, 2021

Welcome to the community, @Kayla_Higginbotham!!

Congratulations on your big success with Airtable, and thanks so much for sharing your success story in complete step-by-step detail!! 😃🙌

A few thoughts that I would like to add here:

You can now use Fillout's advanced forms for Airtable, which is 100% free and is the easiest & most customizable & most bulletproof way to update Airtable records from a form.

The reason that Fillout's advanced forms for Airtable are a better solution than Airtable's forms for updating records is because of the following reasons:

a) Fillout is 100% free to use with Airtable.
b) Fillout's forms don't require any complicated prefill links.
c) Fillout’s links for updating records remain static, so you don’t have to keep regenerating prefill links for the same Airtable record over & over again.
d) Fillout's forms don't require you to add any automations at all.
e) Fillout's forms don't require you to add an extra table just to collect your form entries for updating.

Fillout also offers hundreds of advanced features that Airtable’s native forms don’t offer, including the ability to:
- Update Airtable records from a form 
- Display Airtable lookup fields & Airtable rollup fields & Airtable attachments & formulas on forms
- Conditionally & dynamically filter which linked records can be chosen, without any of the limits that Airtable natively imposes on this.
- Perform math or other live calculations on your forms
- Accept payments on forms
- Create multi-page forms with conditional paths
- Create new linked records on a form
- Display as many fields as you want to see in a linked record selection list (including attachment fields)
- Connect a single form to dozens of external apps simultaneously
- Limit the number of linked records that can be chosen
- Upload an unlimited amount of attachments simultaneously
- Add CAPTCHAs to your form, add expiration dates for your forms, add logins to your forms
- Add choice matrixes to your forms
- Integrate Google Maps and other apps onto your forms
- And much, much, much more!

Hope this helps! If you’d like to hire the best Airtable consultant to help you with anything Airtable-related, please feel free to contact me through my website: Airtable consultant — ScottWorld 


Forum|alt.badge.img+3
ScottWorld wrote:

Welcome to the community, @Kayla_Higginbotham!!

Congratulations on your big success with Airtable, and thanks so much for sharing your success story in complete step-by-step detail!! 😃🙌

A few thoughts that I would like to add here:

You can now use Fillout's advanced forms for Airtable, which is 100% free and is the easiest & most customizable & most bulletproof way to update Airtable records from a form.

The reason that Fillout's advanced forms for Airtable are a better solution than Airtable's forms for updating records is because of the following reasons:

a) Fillout is 100% free to use with Airtable.
b) Fillout's forms don't require any complicated prefill links.
c) Fillout’s links for updating records remain static, so you don’t have to keep regenerating prefill links for the same Airtable record over & over again.
d) Fillout's forms don't require you to add any automations at all.
e) Fillout's forms don't require you to add an extra table just to collect your form entries for updating.

Fillout also offers hundreds of advanced features that Airtable’s native forms don’t offer, including the ability to:
- Update Airtable records from a form 
- Display Airtable lookup fields & Airtable rollup fields & Airtable attachments & formulas on forms
- Conditionally & dynamically filter which linked records can be chosen, without any of the limits that Airtable natively imposes on this.
- Perform math or other live calculations on your forms
- Accept payments on forms
- Create multi-page forms with conditional paths
- Create new linked records on a form
- Display as many fields as you want to see in a linked record selection list (including attachment fields)
- Connect a single form to dozens of external apps simultaneously
- Limit the number of linked records that can be chosen
- Upload an unlimited amount of attachments simultaneously
- Add CAPTCHAs to your form, add expiration dates for your forms, add logins to your forms
- Add choice matrixes to your forms
- Integrate Google Maps and other apps onto your forms
- And much, much, much more!

Hope this helps! If you’d like to hire the best Airtable consultant to help you with anything Airtable-related, please feel free to contact me through my website: Airtable consultant — ScottWorld 


Thanks for the positive feedback and warm welcome to the community, @ScottWorld :slightly_smiling_face:


Forum|alt.badge.img+3
  • Participating Frequently
  • 6 replies
  • September 23, 2021
Kayla_Higginbot wrote:

Thanks for the positive feedback and warm welcome to the community, @ScottWorld :slightly_smiling_face:


Hey Kayla,

Thanks for posting this. I agree with Scott, this is the best tutorial I have read thanks for shedding light on this topic. You’ve made it seem totally achievable.

Best
Isaac


Forum|alt.badge.img+3
  • Participating Frequently
  • 6 replies
  • September 23, 2021
Isaac_Tanner-De wrote:

Hey Kayla,

Thanks for posting this. I agree with Scott, this is the best tutorial I have read thanks for shedding light on this topic. You’ve made it seem totally achievable.

Best
Isaac


I’d love to get your feedback on how to go about my project which is pretty ambitious I realise now.

I’m building a workflow from a deals table with 6 prefilled internal forms that update records in the deals table.

I’ve got some things right and others wrong. I can’t use emails since some customers submit multiple quote requests. I have used an autonumber and formula to create unique quote numbers. So that whether they are derived by google sheets or airtable forms they will follow the same format. Do you think this will suffice Scott?

I used a single select field in kanban view to track stages these trigger automation in zapier like creating draft quotes. I used airtable automations to sent instructions for new tasks and a link to the prefilled forms for example in the qualification call stage a message is sent to “sales channel” in slack. The message provides the first name, phone number and a link to the prefilled form. So that sales people can call the customer to confirm the details of the request. Once the qualified checkbox is ticked in this form. It will move to the design stage and “design channel” in slack will get a message with a prefilled form and so on through all the steps in our workflow.

The next step is following your tut to create those find and update record automation.

What’s your next project Kayla, looking forward to the next tutorial… If you’d like to collaborate on something I’d really love to build a content creation base.


Forum|alt.badge.img+3
  • Participating Frequently
  • 6 replies
  • September 28, 2021
Isaac_Tanner-De wrote:

I’d love to get your feedback on how to go about my project which is pretty ambitious I realise now.

I’m building a workflow from a deals table with 6 prefilled internal forms that update records in the deals table.

I’ve got some things right and others wrong. I can’t use emails since some customers submit multiple quote requests. I have used an autonumber and formula to create unique quote numbers. So that whether they are derived by google sheets or airtable forms they will follow the same format. Do you think this will suffice Scott?

I used a single select field in kanban view to track stages these trigger automation in zapier like creating draft quotes. I used airtable automations to sent instructions for new tasks and a link to the prefilled forms for example in the qualification call stage a message is sent to “sales channel” in slack. The message provides the first name, phone number and a link to the prefilled form. So that sales people can call the customer to confirm the details of the request. Once the qualified checkbox is ticked in this form. It will move to the design stage and “design channel” in slack will get a message with a prefilled form and so on through all the steps in our workflow.

The next step is following your tut to create those find and update record automation.

What’s your next project Kayla, looking forward to the next tutorial… If you’d like to collaborate on something I’d really love to build a content creation base.


Hi Guys, I wanted to give you an update on this because I reorganised my linked relationships today. Created an updates table by duplicating the existing table. There are so many records that need to be updated with the form that I hit an air tables automation limit felt like tearing my hair out at that point. I’ve come back to this thread now to get a refresher on how Kayla created a timestamp.
I’ll also share another tutorial I found today which has been a lot of help How to Update Airtable with a Form - YouTube

:exploding_head: Okay so this was 100x easier to build the automation with zapier which surprised me.
It’s pretty easy to setup but make sure to add a “last modified” timestamp field to your updates table then use zapier to build the same automation you planned to build with airtable automations. The advantage being that you can create 1 automation to do all these updates if you do it via zapier whereas in airtable you have to create many automations for the same effect.

PS really helps to have data inside your table so fill out a record will every field filled in before moving to zapier,pabbly,intergomat ect


Forum|alt.badge.img+3
  • Participating Frequently
  • 6 replies
  • October 1, 2021
Isaac_Tanner-De wrote:

Hi Guys, I wanted to give you an update on this because I reorganised my linked relationships today. Created an updates table by duplicating the existing table. There are so many records that need to be updated with the form that I hit an air tables automation limit felt like tearing my hair out at that point. I’ve come back to this thread now to get a refresher on how Kayla created a timestamp.
I’ll also share another tutorial I found today which has been a lot of help How to Update Airtable with a Form - YouTube

:exploding_head: Okay so this was 100x easier to build the automation with zapier which surprised me.
It’s pretty easy to setup but make sure to add a “last modified” timestamp field to your updates table then use zapier to build the same automation you planned to build with airtable automations. The advantage being that you can create 1 automation to do all these updates if you do it via zapier whereas in airtable you have to create many automations for the same effect.

PS really helps to have data inside your table so fill out a record will every field filled in before moving to zapier,pabbly,intergomat ect


Another pothole here and definitely needs a tip to overcome this one. I’m using a linked contacts table and I would like to update the contact details with the form how do I pull this off?


  • New Participant
  • 2 replies
  • October 7, 2021
Isaac_Tanner-De wrote:

Hi Guys, I wanted to give you an update on this because I reorganised my linked relationships today. Created an updates table by duplicating the existing table. There are so many records that need to be updated with the form that I hit an air tables automation limit felt like tearing my hair out at that point. I’ve come back to this thread now to get a refresher on how Kayla created a timestamp.
I’ll also share another tutorial I found today which has been a lot of help How to Update Airtable with a Form - YouTube

:exploding_head: Okay so this was 100x easier to build the automation with zapier which surprised me.
It’s pretty easy to setup but make sure to add a “last modified” timestamp field to your updates table then use zapier to build the same automation you planned to build with airtable automations. The advantage being that you can create 1 automation to do all these updates if you do it via zapier whereas in airtable you have to create many automations for the same effect.

PS really helps to have data inside your table so fill out a record will every field filled in before moving to zapier,pabbly,intergomat ect


We dropped Zapier for Airtable after several years of dealing with Zapier’s slack integrations being super slow/buggy, constantly breaking, and their ongoing failure to support their product or maintain their documentation in any way.


Forum|alt.badge.img+3
  • Participating Frequently
  • 6 replies
  • November 26, 2021
Aly_Phillips wrote:

We dropped Zapier for Airtable after several years of dealing with Zapier’s slack integrations being super slow/buggy, constantly breaking, and their ongoing failure to support their product or maintain their documentation in any way.


I think they are pretty good and they are the only company that support an integration with xero so we had to go with them. There are plenty of other good options now that automation is more mainstream


ScottWorld
Forum|alt.badge.img+33
  • Brainy
  • 8782 replies
  • November 26, 2021
Isaac_Tanner-De wrote:

I think they are pretty good and they are the only company that support an integration with xero so we had to go with them. There are plenty of other good options now that automation is more mainstream


 

If you're looking for Xero integration with Airtable, you will want to turn to Make's integrations & automations.
 
Some people turn to Zapier instead of Make, but I would not recommend using Zapier.
 
That's because of these reasons:
a) Make typically has deeper support for apps than Zapier does.
b) Make is INFINITELY more powerful & customizable than Zapier.
c) Make is SIGNIFICANTLY CHEAPER than Zapier.
 
I wrote an entire post here comparing Make vs. Zapier.
 
Hope this helps! If you’d like to hire an expert Airtable consultant to help you with anything Airtable-related, please feel free to contact me through my website: Airtable consultant — ScottWorld

Forum|alt.badge.img+1
  • New Participant
  • 1 reply
  • February 25, 2022

To you, I say, “great job.” To Airtable. I say, what…?!?

I’m a huge Airtable fan, but I can’t believe this incredibly common use case is not supported. It’s ridiculous to require such Herculean efforts. Please address this as soon as possible.


ScottWorld
Forum|alt.badge.img+33
  • Brainy
  • 8782 replies
  • February 25, 2022

Yes, it would be great for Airtable to offer this functionality!

As I mentioned above, Fillout's advanced forms for Airtable is currently the best way to update Airtable records from a form! It's easy, quick to setup, powerful, and free!  😀

Also, if you want to get even more advanced and create a portal for your customers that lets your customers log into a website and only see their own Airtable records, there a number of great Airtable portals on the market.

Some popular Airtable portals are: Noloco, JetAdmin, Softr, Pory, and Glide.

I give a brief demo of Noloco on this Airtable podcast episode. And I gave an entire one-hour webinar on Noloco called Building a Client Portal on Noloco powered by Airtable. Also, the CEO of Noloco gave a demonstration of his product on this BuiltOnAir podcast episode.

Hope this helps! If you’d like to hire an expert Airtable consultant to help you with anything Airtable-related, please feel free to contact me through my website: Airtable consultant — ScottWorld


  • New Participant
  • 1 reply
  • April 13, 2022
ScottWorld wrote:

Welcome to the community, @Kayla_Higginbotham!!

Congratulations on your big success with Airtable, and thanks so much for sharing your success story in complete step-by-step detail!! 😃🙌

A few thoughts that I would like to add here:

You can now use Fillout's advanced forms for Airtable, which is 100% free and is the easiest & most customizable & most bulletproof way to update Airtable records from a form.

The reason that Fillout's advanced forms for Airtable are a better solution than Airtable's forms for updating records is because of the following reasons:

a) Fillout is 100% free to use with Airtable.
b) Fillout's forms don't require any complicated prefill links.
c) Fillout’s links for updating records remain static, so you don’t have to keep regenerating prefill links for the same Airtable record over & over again.
d) Fillout's forms don't require you to add any automations at all.
e) Fillout's forms don't require you to add an extra table just to collect your form entries for updating.

Fillout also offers hundreds of advanced features that Airtable’s native forms don’t offer, including the ability to:
- Update Airtable records from a form 
- Display Airtable lookup fields & Airtable rollup fields & Airtable attachments & formulas on forms
- Conditionally & dynamically filter which linked records can be chosen, without any of the limits that Airtable natively imposes on this.
- Perform math or other live calculations on your forms
- Accept payments on forms
- Create multi-page forms with conditional paths
- Create new linked records on a form
- Display as many fields as you want to see in a linked record selection list (including attachment fields)
- Connect a single form to dozens of external apps simultaneously
- Limit the number of linked records that can be chosen
- Upload an unlimited amount of attachments simultaneously
- Add CAPTCHAs to your form, add expiration dates for your forms, add logins to your forms
- Add choice matrixes to your forms
- Integrate Google Maps and other apps onto your forms
- And much, much, much more!

Hope this helps! If you’d like to hire the best Airtable consultant to help you with anything Airtable-related, please feel free to contact me through my website: Airtable consultant — ScottWorld 


Hi,
Im trying to do something similair to the original creator, except in my case there is a good chance that there will be duplicate records. This is because it is a list of members that enter their name and email into a form that puts them into the “master list” of members. It is likely someone will mistakenly fill out the form twice therefore creating a duplicate record that would cause the record updating automation to fail. Do you know of any ways to prevent duplicates from being created or another work around to this issue?


ScottWorld
Forum|alt.badge.img+33
  • Brainy
  • 8782 replies
  • April 13, 2022
sawyer_knox wrote:

Hi,
Im trying to do something similair to the original creator, except in my case there is a good chance that there will be duplicate records. This is because it is a list of members that enter their name and email into a form that puts them into the “master list” of members. It is likely someone will mistakenly fill out the form twice therefore creating a duplicate record that would cause the record updating automation to fail. Do you know of any ways to prevent duplicates from being created or another work around to this issue?


Typically, the best workaround to this would be to collect your forms in another table, and then upon form submission, use Make's Airtable automations to search for pre-existing records in the original table.

If a pre-existing record is found, then it could update the original record with the newly-submitted information from the form.

You could also use Make's special "Upsert Record" module for Airtable, which either creates a new record OR updates an existing record, depending on whether or not a record was found.

Take a look at the screenshot below for how this might look in Make.

(If you’ve never used Make before, I’ve assembled a bunch of Make training resources in this thread.)

p.s. If you’d like to hire an expert Airtable consultant to help you with anything Airtable-related, please feel free to contact me through my website: Airtable consultant — ScottWorld


Forum|alt.badge.img+15
  • Inspiring
  • 69 replies
  • May 13, 2022

What i do is prefill the form with the record Id of the record that you want to update. You can hide the field in your form with the id in when creating the prefill form url. When you run the automation after submission, update the record that matches the id.


Forum|alt.badge.img+5
  • New Participant
  • 4 replies
  • May 29, 2022
ScottWorld wrote:

Typically, the best workaround to this would be to collect your forms in another table, and then upon form submission, use Make's Airtable automations to search for pre-existing records in the original table.

If a pre-existing record is found, then it could update the original record with the newly-submitted information from the form.

You could also use Make's special "Upsert Record" module for Airtable, which either creates a new record OR updates an existing record, depending on whether or not a record was found.

Take a look at the screenshot below for how this might look in Make.

(If you’ve never used Make before, I’ve assembled a bunch of Make training resources in this thread.)

p.s. If you’d like to hire an expert Airtable consultant to help you with anything Airtable-related, please feel free to contact me through my website: Airtable consultant — ScottWorld


Do you have a workflow for this? Thanks.


ScottWorld
Forum|alt.badge.img+33
  • Brainy
  • 8782 replies
  • May 30, 2022
MaryHartberg wrote:

Do you have a workflow for this? Thanks.


Sure, take a look at my screenshot above in my previous post! 😃


Forum|alt.badge.img+1
  • Participating Frequently
  • 6 replies
  • June 8, 2022

This is an incredibly smart and well-written walkthrough, thank you for this @Kayla_Higginbotham, I’m excited to try your approach.

As is so often the case with tools like these – as helpful as they otherwise are – some of the most common sense, routine practices are unaccounted for from the word go and continue to go unaddressed for years. A data-driven platform without a native function to maintain or update data is like an airplane without landing gears.


  • Participating Frequently
  • 5 replies
  • July 19, 2022
Joe_Hewes wrote:

What i do is prefill the form with the record Id of the record that you want to update. You can hide the field in your form with the id in when creating the prefill form url. When you run the automation after submission, update the record that matches the id.


I tried that, but I don’t see any way to hide the record ID field in the form. And if I remove the field from the form but keep the prefill, that field doesn’t update on submit.

Can you show what you’re talking about?


Forum|alt.badge.img+15
  • Inspiring
  • 69 replies
  • July 19, 2022
Grant_Avery wrote:

I tried that, but I don’t see any way to hide the record ID field in the form. And if I remove the field from the form but keep the prefill, that field doesn’t update on submit.

Can you show what you’re talking about?


Here’s some xtra info:
You set the hidden field in the url string - here’s the announcement post for the feature: New Feature: Hide Form Field by URL Parameters
Plus more info in the docs New Feature: Hide Form Field by URL Parameters


  • New Participant
  • 1 reply
  • August 4, 2022

Can this be used with Multiple Select fields? I have attempted this and failed. Wondering if there is a workaround.


Julian_E_Post
Forum|alt.badge.img+13
Joe_Hewes wrote:

Here’s some xtra info:
You set the hidden field in the url string - here’s the announcement post for the feature: New Feature: Hide Form Field by URL Parameters
Plus more info in the docs New Feature: Hide Form Field by URL Parameters


I walk through how to do exactly what Joe is describing here, including prefilling the record ID and hiding it: How to collect wedding RSVPs with Airtable forms + automation - YouTube


Mike_Shaw1
Forum|alt.badge.img+9
  • 34 replies
  • February 18, 2023
Bill_Hughes wrote:

To you, I say, “great job.” To Airtable. I say, what…?!?

I’m a huge Airtable fan, but I can’t believe this incredibly common use case is not supported. It’s ridiculous to require such Herculean efforts. Please address this as soon as possible.


Airtable would put some of those other companies out of business with some basic funtions, like forms to update a record, seems so basic. Other companies charge 2 to 10 times as much as air table itself for a basic function., Ridiculous!


Forum|alt.badge.img+3
  • Participating Frequently
  • 7 replies
  • March 5, 2023

Hi Kayla.  You did great job and this is exactly what I am looking for.

But I can't do like this.

See this.

I think, I did exactly same lik you. But when I try to test, I get error.

And I can't find Add Condition option in automation flow like you. Where is that?

 

Can you let me know what I am missing?

Thanks.

 


Forum|alt.badge.img+3
  • Participating Frequently
  • 7 replies
  • March 5, 2023

Okay, I did exactly what you did, but the submitted data is created into the original table. Not into a temporary table.

In your case, submitted data should be stored in the Form Submissions table. 

But in my case, submitted data is stored in the original table(In my base, the Candidates table is the original one, and Candidates_temp is a table for form submission)

Candidates and Candidates_temp table are with exactly the same titles and content.  I duplicated the Candidates table and named Candidates_temp for the duplicated table.

I think, when opening the URL for form submission, existing data needs to be loaded so that users can update their information properly, and it will be easily more than scratch.  So I created a form in the Candidates_temp table.  But in this case, if user submits a form, then the Candidates_temp table will have duplicated records because I didn't delete records from Candidates_temp table for loading existing data on submission form(user can edit information easily more than blank)

So I want to know exactly how you did for this case.

Did you understand what I am asking?

Thanks!


Mike_Shaw1
Forum|alt.badge.img+9
Shang1128 wrote:

Hi Kayla.  You did great job and this is exactly what I am looking for.

But I can't do like this.

See this.

I think, I did exactly same lik you. But when I try to test, I get error.

And I can't find Add Condition option in automation flow like you. Where is that?

 

Can you let me know what I am missing?

Thanks.

 


Looks like you need to add the Find Records action inbetween those first.