---
id: airtable
title: Airtable
---
ToolJet can connect to your **Airtable** account to read and write data.
## Connection
To establish a connection with the **Airtable** data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview/)** page from the ToolJet dashboard.
ToolJet requires the following to connect to your Airtable:
- **Personal Access Token**
You can generate the Personal Access Token by visiting **[Developer Hub from your Airtable profile](https://support.airtable.com/docs/creating-and-using-api-keys-and-access-tokens#understanding-personal-access-token-basic-actions)**.
:::info
Airtable API has a rate limit, and at the time of writing this documentation, the limit is five(5) requests per second per base. You can read more about rate limits here **[Airtable API](https://airtable.com/api)**.
:::
## Querying Airtable
1. Click on **+ Add** button of the query manager at the bottom panel of the editor.
2. Select the **Airtable** datasource added in previous step.
3. Select the desired operation from the dropdown and enter the required parameters.
4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query.
## Supported Operations
- **[List records](#list-records)**
- **[Retrieve record](#retrieve-record)**
- **[Create record](#create-record)**
- **[Update record](#update-record)**
- **[Delete record](#delete-record)**
### List Records
This operation retrieves a list of records from the specified table.
#### Required Parameters
- **Base ID**
- **Table name**
#### Optional Parameters
- **Page size**
- **Offset**
- **Filter by formula**
- **Fields**
**Response Example**
```json
{
"records": [
{
"id": "recu9xMnUdr2n2cw8",
"fields": {
"Notes": "Meeting to discuss project details",
"Name": "John Doe"
},
"createdTime": "2021-05-12T14:30:33.000Z"
},
{
"id": "recyIdR7bVdQvmKXa",
"fields": {
"Notes": "Follow-up call regarding contract",
"Name": "Jane Smith"
},
"createdTime": "2021-05-12T14:30:33.000Z"
},
{
"id": "recAOzdIHaRpvRaGE",
"fields": {
"Notes": "Client feedback review meeting",
"Name": "Alice Johnson"
},
"createdTime": "2021-05-12T14:30:33.000Z"
}
],
"offset": "recAOzdIHaRpvRaGE"
}
```
### Retrieve Record
This operation fetches a specific record from the specified table.
#### Required Parameters
- **Base ID**
- **Table name**
- **Record ID**
**Response Example**
```json
{
"id": "recu9xMnUdr2n2cw8",
"fields": {
"Notes": "Discuss project timeline",
"Name": "Michael Scott"
},
"createdTime": "2021-05-12T14:30:33.000Z"
}
```
### Create Record
This operation creates a new record in the specified table.
#### Required Parameters
- **Base ID**
- **Table name**
- **Records**
#### Example
```json title="Records"
[{
"fields": {
"Name": "Katrina Petersons",
"Email": "katrina.petersions@example.com"
}
}]
```
**Response Example**
```json
{
"records": [
{
"id": "recu6jhA7tzv4K66s",
"createdTime": "2024-06-11T06:01:44.000Z",
"fields": {
"Name": "Katrina Petersons",
"Email": "katrina.petersions@example.com",
"Date": "06-11-2024",
}
}
]
}
```
### Update record
Update a specific record by providing new data.
#### Required parameters:
- **Base ID**
- **Table name**
- **Record ID**
- **Body**
#### Example
```json
{
"Email": "katrina.petersions2@example.com"
}
```
**Response Example**
```json
{
"records": [
{
"id": "recu6jhA7tzv4K66s",
"createdTime": "2024-06-11T07:01:44.000Z",
"fields": {
"Name": "Katrina Petersons",
"Email": "katrina.petersions2@example.com",
"Date": "06-11-2024",
}
}
]
}
```
### Delete record
This operation removes a record from the specified table.
#### Required parameters:
- **Base ID**
- **Table name**
- **Record ID**
**Response Example**
```json
{
deleted: true
id: "recIKsyZgqI4zoqS7"
}
```