# Airtable

> Connect Airtable to sanda: what to prepare, the fields the connection form asks for, and how its data lands in your warehouse.

## Connect Airtable

:::steps
1. **Open the catalogue.** In the console, go to **Data · Connections** and press **New connection**.
2. **Choose Airtable.** It is listed under product and operations; you can also search for it by name.
3. **Fill in the form.** Enter the fields below. Credentials go straight to sanda’s sync engine and are never stored in sanda’s database.
4. **Choose what to sync.** Pick the tables you want, and a sync mode for each. See [choose what to sync](https://docs.sanda-os.com.au/connections/choose-tables).
5. **Run the first sync.** sanda tests the connection, then lands each table you chose in your warehouse.
:::

## Configuration fields

What the connection form asks for. Required fields are marked; the rest are optional.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| **Authentication** | one of 2 options | No |  |
| **Add Base ID to Stream Name** | boolean | No | When enabled, includes the base ID in stream names to ensure uniqueness. Use this if you have cloned Airtable bases with duplicate table names. Note that enabling this will change stream names and require a full refresh. Default `false`. |
| **Number of Concurrent Threads** | integer | No | Number of concurrent threads for syncing. Higher values can speed up syncs but may hit rate limits. Airtable limits to 5 requests per second per base. Default `5`. |

### Authentication


Choose one of the following. Each asks for its own fields.

**OAuth2.0**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| **Access token** | string, secret | No | Access Token for making authenticated requests. |
| **Client ID** | string, secret | Yes | The client ID of the Airtable developer application. |
| **Client Secret** | string, secret | Yes | The client secret of the Airtable developer application. |
| **Refresh token** | string, secret | Yes | The key to refresh the expired access token. |
| **Token expiry date** | string | No | The date-time when the access token should be refreshed. |

**Personal Access Token**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| **Personal Access Token** | string, secret | Yes | The Personal Access Token for the Airtable account. |


## Related

:::links
- [Sync modes](https://docs.sanda-os.com.au/connections/sync-modes): How sanda reads each table on every run.
- [Sync schedules](https://docs.sanda-os.com.au/connections/schedules): How often a connection runs.
- [Allowlist sanda’s address](https://docs.sanda-os.com.au/connections/allowlist): For a system behind a firewall.
- [Troubleshoot connections](https://docs.sanda-os.com.au/connections/troubleshooting): What an error means and how to fix it.
:::
