---
title: Airtable
description: Let the SurfSense agent browse your Airtable bases, tables, and records
---
The Airtable connector connects SurfSense to Airtable's hosted MCP server, giving the agent live tools to list your bases, browse tables, and read records. Nothing is indexed in the background.
This setup is only needed on **self-hosted** deployments. On SurfSense Cloud, just click **Connect**.
## Step 1: Register an OAuth Integration
1. Navigate to [airtable.com/create/oauth](https://airtable.com/create/oauth)
2. In the **Builder Hub**, under **Developers**, click **"OAuth integrations"**
3. Click **"Register an OAuth integration"**

Fill in the details:
| Field | Value |
|-------|-------|
| **Name** | `SurfSense` |
| **OAuth redirect URL** | `http://localhost:3929/api/v1/auth/mcp/airtable/connector/callback` |
`http://localhost:3929` is the default public URL of a Docker install. If you run SurfSense [manually](/docs/manual-installation), use your backend URL (`http://localhost:8000`); in production, use your public domain.
Click **"Register integration"**

## Step 2: Configure Scopes
Enable the scopes SurfSense requests:
| Scope | Description |
|-------|-------------|
| `data.records:read` | See the data in records |
| `schema.bases:read` | See the structure of a base, like table names or field types |

## Step 3: Fill in Support Information
Add a support email (plus privacy policy and terms URLs if you have them) and click **"Save changes"**.

## Step 4: Add the Credentials to SurfSense
Copy the **Client ID** and **Client Secret** from the integration page and add them to your `.env` file:
```bash
AIRTABLE_CLIENT_ID=your_airtable_client_id
AIRTABLE_CLIENT_SECRET=your_airtable_client_secret
```
Restart SurfSense, open the **Connectors** dialog, and click **Connect** on Airtable:
```bash
docker compose up -d
```
Never share your client secret publicly.