How to automate the creation of a new contact ?

Topic Labels: Automations
618 10
Showing results for 
Search instead for 
Did you mean: 
5 - Automation Enthusiast
5 - Automation Enthusiast

Hi everybody, 

I am trying to set up a specific automation. I have set up already the importation of emails in Airtable, in the table "my emails". It looks like this :


Now, I would like to automate the following steps : 

- check if in table "Contacts", there is in the field "email" the same address email than in the field "email" from the table "my emails".
- if YES, then, in "my emails" in the linked field "Contact", link the existing contact with the same email address.

- if NO, then create a new record in the table "Contacts" with all the information of the new contact.


Basically the idea is simple : if the email comes from a know person, link the email to the person, if it comes from a new person, create a contact for this person.



Thank you so much, 


Have a nice day, 



10 Replies 10

Try using conditional logic for your automation:
Screenshot 2024-06-24 at 10.06.14 PM.png

You'd use a "Find Record" action to attempt to find a record in "Contacts" the same email.  If it manages to find one, link the new message to it, if not, create a new "Contact" record and link it to the new message

I've set it up here for you to check out

This is exactly the general logic I used but I have some issues.


Here you have my parameters for each step.

Update record : 


I want to update it with the corresponding "Contact" from table "Contacts" that has the same email. So link the contact it has found corresponding.


and Create Record : 


normally create record work.

The main problem is update record.


Thank you,

Have a nice day,



Ah, your "Record ID" step is wrong and should look like this instead:

Screenshot 2024-06-24 at 11.45.57 PM.png

And here's how you would select it:

Update record.png

6 - Interface Innovator
6 - Interface Innovator

Hey Arthur 

To automate the email and contact synchronization in Airtable, we can set up a scenario. The workflow will start by checking if an email from the "my emails" table exists in the "Contacts" table. If a match is found, we'll link the email to the corresponding contact. If no match is found, a new contact record will be created with the provided email and additional information.

Here's the plan:

  • Trigger: New email added to the "my emails" table.
  • Action 1: Search the "Contacts" table for the email.
    • If found, update the "my emails" record with the linked contact.
    • If not found, create a new contact record and update the "my emails" record with this new contact.
  • Action 2: Ensure data consistency by updating both tables to reflect the changes.


5 - Automation Enthusiast
5 - Automation Enthusiast

okay but then in fields what do I put ? :


This way it return every contact of the table...

I don't understand how to return only the contact that were the one identified as existing.

Secondly, in this example, in create record, it will return to me the name of the sender like let's say (Arthur Pasquet) when I use "First Name" Field and "Last Name" Field, is there a way to separate the "name" returned by the info extracted from the email?

Thank you, 

Have a nice day, 



Thank you, yes with Make I guess it works, but it is annoying as the Airtable start module in Make doesn't provide any "Instant" module (except the "Watch responses" one) it has to run every 15min and so behind how it handle the several contacts etc...IT might create a total mess in addition of not being efficient and direct....


Hm if you're having problems with the results of the "Find Records" action, I'd suggest checking out Airtable's guide on how to set it up:

For your second question, could you provide a screenshot of some example data and how you would want it the created record to look after the automation has ran?



I have looked the link you shared but  they also return the entire list. And they are doing in the example a static condition, I am doing a dynamic one.

You see I have this : 



It is very basic, I am a bit confused about why it wouldn't be possible.

I check if the email address of the new record already exist in my list of contacts. If it exists I want to collect the profile of this specific person to put it in "Contact" of the new record.

I just want to link new record to existing record of tables, automatically, dynamically.


For the second part, for instance with this example : 



The trigger "When a new email is received" collect "name", here "Arthur Pasquet".

So "Arthur Pasquet" is one only string. But if that's a new contact and I want to automatically to create it,I have this in table "Contacts" :


Arthur will be one string, Pasquet another string.

So is there a way, by adding some code I guess, to separate the one string  "name" received into two strings to fit my columns in "Contacts" table?



Thank you, 

Have a nice day, 



Could you please check out the base that I set up for you in my first reply?  From your screenshots your automation is set up incorrectly.  If you're still facing problems after you attempt to copy my setup, please provide a read-only invite link to a duplicated copy of your base with some example data in it and I can set it up for you in your base

For your second question, try using two formula fields to set it up: 

Screenshot 2024-06-25 at 5.21.09 PM.png

I've updated the base with these formula fields as well, and you can see the formulas used after you duplicate the base into your own work space