Connecting to Airtable allows you to pull in and manipulate the data in your Airtable bases. This allows you to:

  1. Easily view and combine Airtable data with data from other sources (like MySQL or Salesforce)
  2. Build a frontend to view and update your bases in a controlled manner, with field-by-field user permissions

How to connect

You'll need the API Key from your Airtable account to connect. To find it, go to your Airtable account settings ( ) and copy-paste the key in the API section.

Once you connect, Internal will ask which Airtable base you want to add, and then which tables you want to add as Spaces to the navigation. You can still access Spaces for the other tables by adding them to navigation later or via the "Jump to..." (command-K shortcut) menu at the top-left.

What happens when you connect

When you connect an Airtable base, Internal automatically generates:

  1. A list function and get function for each table within the Airtable base. So if your base has two tables, "Users" and "Companies", Internal will generate a "List Users records" function and a "List Companies records" function, as well as a "Get Users record" function and a "Get Companies record" function. List and get functions read data from your tables and allow you to display that data in components - think of these as prebuilt SQL queries, so you don't have to write queries for everything. List fetches multiple records while get grabs a single record.
  2. An insert, update, and delete function for each table in the base. These functions will allow you to manipulate the data within each.

Working with Airtable

  • In its API, Airtable uses a "RECORD_ID" to uniquely identify records. Internal displays these values under a "RECORD_ID()" column.
  • You can also expose these RECORD_ID values in your Airtable table, if you want to verify or match up records. Add a new field in Airtable, and use the "RECORD_ID()" formula to expose these values in Airtable.
  • Airtable allows you to create "linked record fields" where a field's options are populated by records from another table. Internal will display the related records differently, depending on whether the field allows multiple linked records.
  • If "Allow linking to multiple records" is OFF, Internal will automatically link the related record; clicking on that record id (Ex: "recKbB6BPmYkKpgqe") will bring you to that linked record. If "Allow linking to multiple records" is ON, and there are multiple records linked, Internal will display the RECORD_ID for each linked record as nested values.
  • Similarly, if a field is configured to accept multiple values, Internal will display this field as nested values. For fields that accept multiple values (multi-select field) or multiple linked records, you can use the JSON input component to edit these values or use the Tag Selector component to submit an array of values -- this will allow you to work with these fields.
  • You must submit valid entries for fields when you make updates through Internal. For example, if an Airtable field was configured to only accept "True" or "False" as values, you won't be able to update that field to any other value -- Internal will inform you that you do not have the permissions to do this if you attempt to do so.
  • Check out our Tips & Tricks guide for Airtable to learn how to display images from an Airtable attachment field and more!