Jun 04, 2024 06:11 AM
I know this should be easy, but I'm new to Airtable and apparently missing something obvious.
I want to let users add a new contact to my base.
I have a People table and a Companies table. They are joined with a multi-to-multi Roles table [Person, Company, Job Title].
I've built a form to accept a new People record, but:
1) How do I detect if a matching record already exists. If it does, I don't want to create a duplicate
2) I want the form to also ask for the new contact's company and create a new Role. But, I can't ask for Company in a form on People, If, instead, I put the form on Role, then I can't create a new Person or Company; I can only accept existing ones.
My assumption is that I'm trying to force the system to act in a way it doesn't want. And, that's fine. I'm new to Airtable and 100% comfortable restructuring my base to work in a natural way.
So, my broader question is: how do I setup a base so I can link to companies (where multiple people can work in one company and occasionally one person will work in multiple companies) and I can let my users create new contacts via a friendly interface.
Solved! Go to Solution.
Jun 04, 2024 07:34 AM
Check out Fillout.com; allows you to create new linked records via a single form and so would solve your problem pretty handily and the free plan allows for 1000 submissions a month: https://www.fillout.com/help/create-new-linked-records
For a native Airtable solution:
re: 1) How do I detect if a matching record already exists. If it does, I don't want to create a duplicate
For this you'd use an automation that would trigger when a new record gets created and you'd give it a "Find record" action to find a record that had the same name (and probably same company as well?), and you'd use conditional logic to either:
1. Do nothing
2. Delete the record that was just created with the form submission
- Unfortunately this would require a paid Airtable plan as you'd need to use the "Run a script" action
- A non-paid alternative would be to create a checkbox called "Delete" or something and get the automation to mark that checkbox instead
https://support.airtable.com/docs/find-records-automation-action
https://support.airtable.com/docs/conditional-groups-of-automation-actions
---
re: 2) I want the form to also ask for the new contact's company and create a new Role. But, I can't ask for Company in a form on People, If, instead, I put the form on Role, then I can't create a new Person or Company; I can only accept existing ones.
You'll need to create text fields for people to key in the company information manually, and then use an automation to create the Company record and link them together. You'd use conditional visibility within the form itself to hide these text fields until the user indicated they can't find the appropriate company to link it to
Jun 04, 2024 07:34 AM
Check out Fillout.com; allows you to create new linked records via a single form and so would solve your problem pretty handily and the free plan allows for 1000 submissions a month: https://www.fillout.com/help/create-new-linked-records
For a native Airtable solution:
re: 1) How do I detect if a matching record already exists. If it does, I don't want to create a duplicate
For this you'd use an automation that would trigger when a new record gets created and you'd give it a "Find record" action to find a record that had the same name (and probably same company as well?), and you'd use conditional logic to either:
1. Do nothing
2. Delete the record that was just created with the form submission
- Unfortunately this would require a paid Airtable plan as you'd need to use the "Run a script" action
- A non-paid alternative would be to create a checkbox called "Delete" or something and get the automation to mark that checkbox instead
https://support.airtable.com/docs/find-records-automation-action
https://support.airtable.com/docs/conditional-groups-of-automation-actions
---
re: 2) I want the form to also ask for the new contact's company and create a new Role. But, I can't ask for Company in a form on People, If, instead, I put the form on Role, then I can't create a new Person or Company; I can only accept existing ones.
You'll need to create text fields for people to key in the company information manually, and then use an automation to create the Company record and link them together. You'd use conditional visibility within the form itself to hide these text fields until the user indicated they can't find the appropriate company to link it to
Jun 04, 2024 09:54 AM
Thanks!
It sounds like Fillout will very likely match our immediate needs. I'll give it a close look.
I'd also like to understand the native solution better (we do have a paid Airtable plan). So, I'll also take a look at the documentation links you gave.
All that being said, I'm wondering if I have the wrong mental model of how Airtable is supposed to be used. My assumption had been that I was trying to do something very standard, yet it seems that I'm pushing the edges of the tool. Am I attacking the problem in a wrong or non-standard way?
Jun 05, 2024 12:20 AM
What you're doing makes sense to me! Creating records via linked fields in a form is just not something Airtable supports at this time