Conditional ability to link?


#1

Hi all,

I’m using Airtable to make a list of contacts for conflict checking in a law firm. I made a single table of all “contacts” including both people and organizations, and added some basic info like phone numbers, emails, etc. I also added a column which says “contact type” and splits the contacts into people or organizations.

I want to be able to list the individuals who make up or work for organizations. I did this by making a new column called “members” and linking it to the same “contacts” table. Then I type in and select individuals’ names. However, I don’t want to be able to list individuals as members of other individuals. Can I write a formula by which an individual is unable to be added as a “member” of another individual?

If you’re wondering why I don’t separate individuals and organizations into distinct tables–the reason is because (1) it will be easier to search a single table and (2) I also want (and made) a separate “cases” table which has a column for clients and another for opposing party (each is linked to “contacts”). I can’t figure out if there’s a way for the columns to each pull information from two separate tables (individuals and organizations, if I were to separate “contacts”) at once, because otherwise I’ll have to make columns for clients, opposing party, client institutions, and opposing institutions, which is too cluttered. Obviously, if these are easy fixes for my problems then I would appreciate those solutions as well.

Thanks.


#2

You can’t restrict to which records another record can link, but you can create a simple alert that appears whenever such an invalid link is made.

Create a formula field in [Contacts] … oh, wait. [Contacts] is a self-linking table, isn’t it? So lookups/rollups won’t work.

I’ll have to kick this around a bit; I still haven’t found an application for self-linking, so I’m not familiar with what workarounds are possible.


#3

Well, to go off your idea here @W_Vann_Hall , you could simply have a warning field in the [Contacts] table with this:

IF(
   AND(
      {Contact Type} = ‘Person’,
      {Members}
   ),
   “🛑 Invalid”
)

If you link a Contact to another Contact that is marked as a “Person”, this formula will throw the “Invalid” warning, and otherwise will be blank.


#4

Oh, duh. I got wrapped around the axle of trying to compare the linker and linkee contact types. Your solution is more elegant and, even better, actually works.