Updating An Existing Record via Airtable Form

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”

Screen Shot 2021-05-02 at 9.18.36 AM

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

Screen Shot 2021-05-02 at 9.19.36 AM

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

Screen Shot 2021-05-02 at 9.20.19 AM

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 :slight_smile:

Kayla

9 Likes

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!! :smiley: :raised_hands:

It looks like you made all the right & smart decisions along the way, every step of the way! :bulb:

You are quickly becoming an actual Airtable guru!! :cowboy_hat_face: :horse_racing:

Your post can serve as a great tutorial for other people who are looking to build a similar solution for their businesses!

The only issue for other people to be aware of with Airtable’s Automations — although it sounds like it won’t affect you at all — is that the “Update Record” automation will fail if the “Find Records” step finds more than one record. But as long as you never have any duplicate email addresses in your system (and it sounds like you will never have duplicate email addresses), then you will never run into that problem.

Super excited for you! Great job! :star2:

Best,
Scott

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

2 Likes

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.

image

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

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?

1 Like

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.