Best way to convert user form submissions into a table of contacts?

I currently accept user submissions via a form into an Airtable base. I collect name (fname, lname), email, and Twitter profile and although I’ve created a view with just this data, I think it’d be useful to have a table of “People”. Is there a way to do this automatically? Is this advisable?

Ultimately I would like to use these inbound submissions to populate a kind of basic CRM, and having a People table seems like it’d be useful to have as I build out my base.

Hello @chrismessina,

Your question is a bit similar to a previous one I answered in the forum. I copy pasted my answer below, and adapted a bit to your case. Let me know if that works for you:

  1. Create a first table Contacts that will list your contacts or people (1 record per person). I suggest you use Email address as primary key.
  2. Create a second table Submitted forms that will list all the submitted forms (1 record per candidate). Use a simple Autonumber field as primary key.
  3. On the Submitted forms table, create a Link to another record field to the Contacts table. But don’t display it on the form.
  4. Create your public form on the Submitted forms table (or connect your typeform to it). Make sure to add an Email field on your form to collect candidate email address. But don’t display the Link to another record field to candidate on your form.

Then, each new filled form will create a record in the Submitted form table.

All what’s left to do is to link manually the submitted forms to their related contacts, assuming we identify them by their email address. Might be enough for you in your case to do it once a day, as I assume you don’t need your base to be synch systematically for each new submitted form (in that case you it’d be a good idea to build an automation using Zapier).

The good news is, as you can see in the Gif below, You can do that in 2 clicks by simply copy pasting in the Submitted forms table the whole Email column in to the Linked Record column.

Notice the submitted forms records 3 and 4 came from the same contact (email). As a result, both forms records were linked to the same contact number 3.

With the right structure in place, Airtable is able to handle duplicates for you :

  • If the Email (primary key) does not exist in the Contact table, Airtable will create a new record (contact record 4).
  • But if the Email already exists, Airtable won’t create a new record, but will link the submitted forms to the existing contact.

1 Like

Thanks @Noamsay for your quick response!

That kind of works, but not exactly. I had envisioned a similar setup but wanted to avoid the manual copy-paste step. I don’t mind doing it if I must (and I’d prefer to avoid integrating w/ Zapier et al unless absolutely necessary — one less thing to maintain).

I’m already able to get a view of my data that’s similar to your Contacts table simply by creating a new view in my Submitted forms table with a bunch of the columns hidden.

Maybe I need to think a little harder about what I actually want to achieve and then go from there. For example, I collect donations via Ko-Fi, and I can imagine exporting my list of donors to Airtable (including their emails) so that I could mark the rows of form submissions that are from donors and then do targeted outreach.

Thanks again for sharing your suggestion!

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.