> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.airweave.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.airweave.ai/_mcp/server.

# Airtable

> Airtable integration with Airweave

{/* AUTO-GENERATED CONTENT START */}

<img src="https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/airweave.docs.buildwithfern.com/2026-05-20T11%3A36%3A51.367Z/docs/pages/connectors/airtable/icon.svg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260807%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260807T162912Z&X-Amz-Expires=604800&X-Amz-Signature=d746991575bdd497185a0d83533e87d49871f0d6edfbac3486adf110835d4388&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject" alt="Airtable logo" width="48" height="48" />

<h1>
  Airtable
</h1>

This connector enables AI agents and RAG systems to retrieve context from Airtable through Airweave's unified search layer.

## Configuration

Airtable source connector — syncs bases, tables, records, comments, attachments.

#### [View Source Code](https://github.com/airweave-ai/airweave/tree/main/backend/airweave/platform/sources/airtable.py)

Explore the Airtable connector implementation

### Authentication

This connector uses **OAuth 2.0 authentication**. You can connect through the Airweave UI or API using the OAuth flow.

**Supported authentication methods:**

* OAuth Browser Flow (recommended for UI)
* OAuth Token (for programmatic access)
* Auth Provider (enterprise SSO)

### Configuration Options

This connector does not have any additional configuration options.

## Data Models

The following data models are available for this connector:

#### AirtableUserEntity

The authenticated user (from /meta/whoami endpoint).

| Field         | Type                  | Description                           |
| ------------- | --------------------- | ------------------------------------- |
| user\_id      | str                   | Airtable user ID                      |
| display\_name | str                   | Display name derived from email or ID |
| email         | Optional\[str]        | User email address                    |
| scopes        | Optional\[List\[str]] | OAuth scopes granted to the token     |

#### AirtableBaseEntity

Metadata for an Airtable base.

| Field             | Type           | Description                                         |
| ----------------- | -------------- | --------------------------------------------------- |
| base\_id          | str            | Airtable base ID                                    |
| name              | str            | Base name                                           |
| permission\_level | Optional\[str] | Permission level for this base                      |
| url               | Optional\[str] | URL to open the base in Airtable (legacy API field) |

#### AirtableTableEntity

Metadata for an Airtable table (schema-level info).

| Field                | Type                              | Description                                   |
| -------------------- | --------------------------------- | --------------------------------------------- |
| table\_id            | str                               | Airtable table ID                             |
| name                 | str                               | Table name                                    |
| base\_id             | str                               | Parent base ID                                |
| description          | Optional\[str]                    | Table description, if any                     |
| fields\_schema       | Optional\[List\[Dict\[str, Any]]] | List of field definitions from the schema API |
| primary\_field\_name | Optional\[str]                    | Name of the primary field                     |
| view\_count          | Optional\[int]                    | Number of views in this table                 |

#### AirtableRecordEntity

One Airtable record (row) as a searchable chunk.

| Field       | Type                | Description             |
| ----------- | ------------------- | ----------------------- |
| record\_id  | str                 | Record ID               |
| name        | str                 | Record display name     |
| created\_at | Optional\[datetime] | Record creation time    |
| base\_id    | str                 | Parent base ID          |
| table\_id   | str                 | Parent table ID         |
| table\_name | Optional\[str]      | Parent table name       |
| fields      | Dict\[str, Any]     | Raw Airtable fields map |

#### AirtableCommentEntity

A comment on an Airtable record.

| Field         | Type                | Description                       |
| ------------- | ------------------- | --------------------------------- |
| comment\_id   | str                 | Comment ID                        |
| name          | str                 | Comment preview                   |
| created\_at   | Optional\[datetime] | When the comment was created      |
| updated\_at   | Optional\[datetime] | When the comment was last updated |
| record\_id    | str                 | Parent record ID                  |
| base\_id      | str                 | Parent base ID                    |
| table\_id     | str                 | Parent table ID                   |
| text          | str                 | Comment text                      |
| author\_id    | Optional\[str]      | Author user ID                    |
| author\_email | Optional\[str]      | Author email address              |
| author\_name  | Optional\[str]      | Author display name               |

#### AirtableAttachmentEntity

Attachment file from an Airtable record.

| Field          | Type           | Description                              |
| -------------- | -------------- | ---------------------------------------- |
| attachment\_id | str            | Attachment ID (or composite key)         |
| name           | str            | Attachment filename                      |
| base\_id       | str            | Base ID                                  |
| table\_id      | str            | Table ID                                 |
| table\_name    | Optional\[str] | Table name                               |
| record\_id     | str            | Record ID                                |
| field\_name    | str            | Field name that contains this attachment |

{/* AUTO-GENERATED CONTENT END */}