# Airtable

UI Bakery allows you to connect easily to Airtable without any additional layers like APIs and third-party services.

{% hint style="warning" %}
Airtable imposes certain limitations on API abilities - 5 requests per second per base.
{% endhint %}

## Configuration

### Prerequisites

To connect your Airtable database to UI Bakery, you'll require the following components:

* [Personal access token](#obtaining-personal-access-token)
* [Database ID](#obtaining-database-id)
* [List of database tables](#obtaining-list-of-database-tables)

#### Obtaining personal access token

You can create and copy it from your [Airtable Developer page](https://airtable.com/create/tokens). \
Here, you need to click the **+ Create new token** button, specify the *Name*, *Scopes*, and *Access* properties according to your requirements, and proceed to creating the token.

Copy the created token and save it for later.

<figure><img src="https://837703843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUX6zPRMFFK0yrTghj7cY%2Fuploads%2FNXYLOduWY1jfTTYiSlBk%2FCleanShot%202025-04-07%20at%2013.28.56%402x-min.png?alt=media&#x26;token=faf03c1b-873c-4d50-99e9-9a924d919de6" alt=""><figcaption></figcaption></figure>

#### Obtaining database ID

Open the [Airtable APIs page](https://airtable.com/developers/web/api/introduction), select the database you want to connect, and copy the base ID.

<figure><img src="https://837703843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUX6zPRMFFK0yrTghj7cY%2Fuploads%2F3g3e1OGFUDJVSDSdQV7N%2FCleanShot%202025-04-07%20at%2014.10.07%402x-min.png?alt=media&#x26;token=3d4c3948-3de5-4a5c-aa9c-9ef509d82ef5" alt=""><figcaption></figcaption></figure>

#### Obtaining list of database tables

Open your database and copy the **exact names** of the Tables you need to use in your app.

{% hint style="warning" %}
A table must have at least **one** row for UI Bakery to recognize its fields.
{% endhint %}

### Connecting the data source

Now that you've obtained all the necessary parameters, you can proceed to connecting your datasource in UI Bakery.

On the **Data sources** page, paste the personal access token, base ID and table names in the corresponding fields.

<figure><img src="https://837703843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUX6zPRMFFK0yrTghj7cY%2Fuploads%2FEV81gOxCE347806l1JyE%2FCleanShot%202025-04-07%20at%2014.24.53%402x-min.png?alt=media&#x26;token=655be4a4-77da-466a-a371-3a634b8fe71c" alt=""><figcaption></figcaption></figure>

Verify that the configuration is correct by testing the connection first and then click **Connect Datasource**.&#x20;

UI Bakery will extract the database structure and store column types to suggest the [proper table columns and form field types](https://docs.uibakery.io/concepts/components/work-with-components/field-types-and-types-recognition).

## Usage

Once you have established a connection between UI Bakery and Airtable, you can access Airtable data, load it, and send it back.

{% hint style="warning" %}
Please note that UI Bakery limits the number of loaded records by default to **1000**. To expand it, enter the required limit in the action that loads Airtable data.
{% endhint %}

Airtable supports the following action steps:

* [Load Table](https://docs.uibakery.io/reference/working-with-actions/load-table-action)
* [Load Row](https://docs.uibakery.io/reference/working-with-actions/load-row-action)
* [Create Row](https://docs.uibakery.io/reference/working-with-actions/create-row-action)
* [Bulk Create Rows](https://docs.uibakery.io/reference/working-with-actions/bulk-create-rows-action)
* [Update Row](https://docs.uibakery.io/reference/working-with-actions/update-row-action)
* [Delete Row](https://docs.uibakery.io/reference/working-with-actions/delete-row-action)
* [Bulk Delete Rows](https://docs.uibakery.io/reference/working-with-actions/bulk-delete-rows-action)

### Loading table views

Additionally, it is possible to set a specific Airtable view that will be loaded for the selected table. This may come in handy if you'd like to configure advanced filters on the Airtable side and load the pre-configured view.

To do this, scroll down in the *Load Table* action to the **Additional params** section and specify `view` as the key and the `name of your view` as the value.

<figure><img src="https://837703843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUX6zPRMFFK0yrTghj7cY%2Fuploads%2FyaYeX1Uw7wTuX1yn1aNE%2FCleanShot%202025-04-07%20at%2014.40.22%402x-min.png?alt=media&#x26;token=15406c1b-81a4-44ed-add5-81e68483e0d7" alt=""><figcaption></figcaption></figure>

### Filtering by linked items

Unfortunately, Airtable API is limited to filtering only by displayed values, thus filtering by internal ID is not supported (other than by the record ID of the table).

To add a filter by linked items, you'll need to follow the steps below:

1. Create a new `ID` formula field with the `RECORD_ID()` formula in the related table - this will list the internal record ID as a value.
2. Next, in the main table, create a lookup field to display the value from *step 1*, for example,  `Related Ids`.
3. Finally, use your filtering logic on the value from *step 2*, for example, you can use `in` or `=` operators.
