3 Ways to Create a Junction Table in Airtable (Examples & Use Cases)

In Airtable, you can often connect two tables simply by linking them together. This is usually sufficient to show that two items are related.

But sometimes you need to store additional details about the relationship between those items. For example, if you're tracking orders and products in an e-commerce system, you might want to save information like the quantity of each product in an order. Simply linking the tables won’t capture this extra data.

That’s where a junction table comes in. It’s a third table that holds the connection between the two tables and allows you to add more information about that relationship. You can think of it as a table that describes the relationship itself.

There are three ways to create a junction table in Airtable:

1. Manual Method (Free Plan)

Let’s say you’re managing a small training program. You have two tables: one for Students and one for Courses. Each student can join multiple courses, and each course can have many students. This is a classic many-to-many relationship.

If you only have a few students and a few courses, for example 5 students and 3 courses, you can easily manage this relationship manually.

Here’s how to do it:

  • Create a new table called Enrollments.

  • In this table, add a column and link it to the Students table.

  • Add another column and link it to the Courses table.

  • Add any extra columns you need, such as "Enrollment Date", "Status", or "Grade".

Each row in the Enrollments table now shows one student enrolled in one course, along with any extra details you want to track.

This method is great when the number of records is small. If you are on Airtable's free plan, this is the only way to build a junction table.

2. Using Airtable’s "Junction Table Script" (Paid Plan)

Let's say you run a business where pricing depends on the service being offered. You have one table called Pricing Tiers with 10 different pricing levels. You also have another table called Services with 50 different services.

Now you want to create a third table called Pricing Matrix that shows every possible combination of pricing tier and service. In total, you will need 500 records.

So it will look something like this:

Price 1 with Service 1
Price 1 with Service 2
...
Price 10 with Service 50

Here, you want every item from one table to be linked with every item from another. Doing this manually would take forever. If you're on a paid Airtable plan, Airtable’s junction table script can do this automatically for you.

To use the script, you just need to:

  • Select your first table, like Pricing Tiers

  • Select your second table, like Services

  • Choose your junction table, like Pricing Matrix

  • Pick the field in the junction table that links to the first table

  • Pick the field in the junction table that links to the second table

junction table script

Once you run the script, it quickly creates all the combinations and links them properly.

3. Using the “Junction Assistant” Extention (Paid Plan)

Let’s say you’re managing an interior design project. You have a table for Projects, another one for Products, and a third table called Catalogue that links the two.

Now, you don’t want to create all combinations of projects and products. You only want to add specific products to specific projects. For example, you want to assign a chair, a sink, and some wallpaper to the AKS Project, and maybe a bed and a table to the XYZ Project.

Doing this manually means clicking “Add record” over and over in the junction table. It’s slow and easy to mess up—especially if you’re assigning a lot of items in one go.

If you already have a junction table and just want to add more records to it, the Junction Assistant Extension is perfect for this.

You select a single project, pick the products you want to assign, and hit Create Records. That’s it. It adds one new record for each product, linked to the selected project. It also helps you avoid duplicates by showing what’s already linked.

Junction Assistant Extension

Later, you can go into the junction table and fill in details like quantity, color, or room placement.

To use any extension in Airtable, you need to be on a paid plan. In addition to that, this particular extension costs $15/month.

4. Write Your Own Script (Paid Plan)

If you don’t want to pay $15/month for an extension or if you need something more flexible, you can write your own script using Airtable’s Scripting Extension.

This gives you full control over how records are created and linked. For example, you can:

  • Loop through combinations based on specific filters

  • Add conditional logic to determine which records should be connected

  • Automatically create custom metadata like timestamps, user IDs, or status fields

To do this, you’ll need basic JavaScript knowledge and access to the Scripting Extension, which is available on paid plans.

This approach is ideal for advanced workflows when you need something tailored to your specific use case.

Summary

Summary

Get my free, weekly Airtable tips & tutorials

Want to master Airtable and streamline your workflows?

Every week, I share an in-depth Airtable tutorial with thousands of users. Learn how to write better formulas, optimize your bases, and get the most out of Airtable—plus tips to improve your workflow.

Join today and level up your Airtable skills every Sunday!

Need help or have feedback? Email me at [email protected]