> ## Documentation Index
> Fetch the complete documentation index at: https://docs.subverseai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Airtable

# Airtable

The **Airtable** node lets you read and write data in Airtable bases — create, retrieve, update, and delete records, or list bases and tables.

<img src="https://mintcdn.com/subverse-611dde60/UZLalX8VX2i72yfQ/images/agentverse/airtable-action-node.png?fit=max&auto=format&n=UZLalX8VX2i72yfQ&q=85&s=c237a6ec93798347444fdc17b6a15af4" alt="Airtable Node" width="808" height="1026" data-path="images/agentverse/airtable-action-node.png" />

***

## Credentials

Two credential types are supported:

| Type | Description |
| - | - |
| **Airtable Personal Access Token** | Token-based authentication using an Airtable API key |
| **Airtable OAuth2** | Platform-managed OAuth2 — sign in with your Airtable account |

To create a credential:

1. Go to **Integrations → AirTable** and select **New connection**
2. Select the desired Airtable credential type
3. Complete the authentication flow

***

## Operations

### Record

| Operation | Description |
| - | - |
| `Create` | Add a new record to a table |
| `Get` | Retrieve a single record by ID |
| `Get Many` | Retrieve multiple records with optional filters and sorting |
| `Update` | Update fields on an existing record |
| `Upsert` | Create a record if it doesn't exist, update it if it does |
| `Delete` | Delete a record by ID |

### Base

| Operation | Description |
| - | - |
| `Get Many` | List all bases accessible to the credential, with optional permission-level filtering |
| `Get Schema` | Retrieve the schema (tables and fields) of a base |

***

## Parameters: Create Record

| Parameter | Type | Required | Description |
| - | - | - | - |
| **Base** | Resource Locator | Yes | The Airtable base to write to |
| **Table** | Resource Locator | Yes | The table to create a record in |
| **Fields** | Key-Value | Yes | The field names and values for the new record |
| **Type Cast** | Boolean | No | Automatically cast field values to the correct type |

## Parameters: Get Many Bases

| Parameter | Type | Required | Description |
| - | - | - | - |
| **Return All** | Boolean | No | When enabled, returns all bases instead of up to a limit |
| **Options — Permission Level** | Select | No | Filter returned bases by permission level |

## Parameters: Get Many Records

| Parameter | Type | Required | Description |
| - | - | - | - |
| **Base** | Resource Locator | Yes | The Airtable base to read from |
| **Table** | Resource Locator | Yes | The table to read records from |
| **Filter by Formula** | String | No | Airtable formula to filter records (e.g. `{Status} = 'Active'`) |
| **Sort** | Collection | No | Sort by one or more fields |
| **Max Records** | Number | No | Maximum number of records to return |
| **Fields** | Multi-Select | No | Return only these specific fields |
| **View** | String | No | Limit results to a specific view |

***

## Output Data

A single record returned from `Get` or `Create`:

```json theme={null}
{
  "id": "recXXXXXXXXXXXXXX",
  "createdTime": "2025-03-10T09:00:00.000Z",
  "fields": {
    "Name": "Acme Corp",
    "Status": "Active",
    "Revenue": 150000,
    "Tags": ["Enterprise", "US"]
  }
}
```

Reference fields in downstream nodes:

```
{{ airtable.fields.Name }}
{{ airtable.fields.Status }}
{{ airtable.id }}
```

***

## Filter Formula Examples

| Formula | Description |
| - | - |
| `{Status} = 'Active'` | Records where Status equals "Active" |
| `{Revenue} > 100000` | Records where Revenue is greater than 100,000 |
| `AND({Status} = 'Active', {Region} = 'US')` | Active records in the US |
| `NOT({Email} = '')` | Records with a non-empty email |

***

## Related Nodes

* [Airtable Trigger](./airtable-trigger.md) — Trigger an orchestration on Airtable record events
* [For Loop](./for-loop.md) — Iterate over a list of retrieved records


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.