> For the complete documentation index, see [llms.txt](https://learn.moselle.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.moselle.io/getting-started/onboarding/setup-integrations/airtable.md).

# Airtable

Connect Airtable bases and tables to Moselle with a personal access token — a self-serve setup in about 5 minutes, with a schedule you control.

{% hint style="info" %}
**Quick Answer:** The Airtable integration connects specific **bases and tables** to Moselle using a personal access token you generate in Airtable. Pick which tables to sync, choose a schedule, and Moselle keeps that data current automatically. Setup is self-serve and takes about 5 minutes.
{% endhint %}

## What This Connection Does

**The Airtable integration is** a read-only connection between the bases and tables you choose in Airtable and your data in Moselle. It's a good fit when part of your catalog, supply, or planning data lives in Airtable instead of a system of record with a native Moselle integration — bringing it in automatically instead of re-exporting a CSV every time it changes.

Once connected, you pick exactly which tables to sync, and Moselle keeps them current on a schedule you control.

## What You'll Need

* [ ] An Airtable account with access to the base(s) you want to connect
* [ ] Permission to create a **personal access token** in Airtable

## Create a Personal Access Token

{% stepper %}
{% step %}

### Go to airtable.com/create/tokens

Sign in to Airtable and open the token creation page.
{% endstep %}

{% step %}

### Set the required scopes

Grant the token these two scopes:

* `data.records:read`
* `schema.bases:read`
  {% endstep %}

{% step %}

### Grant access to your base(s)

Under **Access**, add the specific base(s) you want Moselle to read. Create the token and copy it — Airtable only shows it once.
{% endstep %}
{% endstepper %}

## Connect Airtable in Moselle

{% stepper %}
{% step %}

### Open the Integrations tab in Moselle

Click your **avatar** in the top right corner → **Settings** → the **Integrations** tab.
{% endstep %}

{% step %}

### Select Airtable and paste your token

Find the **Airtable** integration in the grid and click **Connect**. Paste your personal access token into the field and submit.

{% hint style="warning" %}
Your token is stored encrypted. If the token is rejected, the dialog stays open with the error shown inline so you can correct and resubmit — no separate key-install step needed.
{% endhint %}
{% endstep %}

{% step %}

### Pick your tables

Once connected, choose which **base / table** pairs to sync from a searchable list.
{% endstep %}

{% step %}

### Set a sync schedule

Choose how often Moselle checks for updates: **Off**, **Hourly**, **Every 6 hours**, **Daily**, or **Weekly** — or click **Sync now** to pull immediately.

{% hint style="success" %}
**Connected.** Your selected tables begin syncing on the schedule you set.
{% endhint %}
{% endstep %}
{% endstepper %}

## Reconnecting Airtable

If your token expires or you need to grant access to a different base, reconnecting replaces the stored token — go to **Settings > Integrations**, find **Airtable**, and submit a new personal access token the same way.

## Frequently Asked Questions

### Does Moselle write data back to my Airtable base?

**No.** The integration is **read-only** — Moselle never creates, edits, or deletes records in Airtable.

### What happens if a table is renamed?

Your table selections are tracked by their underlying IDs, so renaming a base or table in Airtable doesn't break the sync — you don't need to reselect it.

### How do I change which tables sync?

Go to **Settings > Integrations**, find **Airtable**, and open the table picker to add or remove tables from the sync.

### How do I disconnect Airtable?

Revoke the personal access token from your Airtable account settings at any time. Reach out to <support@moselle.io> if you'd like help.

***

## Related Guides

{% content-ref url="/pages/iSRNCSGVWQanaAuYnC4i" %}
[Setup Integrations](/getting-started/onboarding/setup-integrations.md)
{% endcontent-ref %}

{% content-ref url="/pages/gCe1K2BrezPBYW410xHI" %}
[Google Sheets](/getting-started/onboarding/setup-integrations/google-sheets.md)
{% endcontent-ref %}

{% content-ref url="/pages/MSPVU3BYQtL9A3tpxneV" %}
[Manual Data Uploads](/getting-started/onboarding/manual-data-uploads.md)
{% endcontent-ref %}
