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

# Airtable

> What agents can do in Airtable at each access level, and how to connect, limit, and disconnect Airtable.

Connect Airtable so your agents can work in your Airtable account. You choose an access level for each account, and Squad refuses any agent action outside that level.

## Access levels

Each Airtable account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.

| Level                          | The connect window describes this level as           | Actions agents can use |
| ------------------------------ | ---------------------------------------------------- | ---------------------- |
| **Read-only**                  | "Read records and base schemas. Cannot edit."        | 7 of 27                |
| **Read + write** (recommended) | "Read and write records in your bases."              | 24 of 27               |
| **Full access**                | "Read/write records, edit schemas, manage webhooks." | 27 of 27               |

**Read + write** is the recommended level. The connect window selects it for you, and you can choose another level.

The Airtable sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every agent action against the level you chose, and it refuses actions outside that level.

## What agents can do at each level

Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the agent searches for the matching action.

<Tip>**Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask your agent in plain words, for example "What can you do in my Airtable account?" The agent can search the Airtable actions for you.</Tip>

Each action shows its name, a one-line description where the Airtable action catalog has one, and its slug. The slug is the ID that agents use when they call the action.

<AccordionGroup>
  <Accordion title="Read-only">
    Agents can use 7 of the 27 Airtable actions at this level:

    * View records
    * View attachments
    * View bases
    * View comments
    * View schemas
    * View users

    All 7 actions at this level:

    | Works on        | Action              | What it does                                                                                                                                  | Slug                           |
    | --------------- | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
    | **Attachments** | Get attachment info |                                                                                                                                               | `AIRTABLE_GET_ATTACHMENT_INFO` |
    | **Bases**       | List bases          | Retrieves all Airtable bases accessible to the authenticated user, which may include an 'offset' for pagination.                              | `AIRTABLE_LIST_BASES`          |
    | **Comments**    | List comments       | List comments on a specific Airtable record.                                                                                                  | `AIRTABLE_LIST_COMMENTS`       |
    | **Records**     | Get record          | Retrieves a specific record from an Airtable table by its record ID.                                                                          | `AIRTABLE_GET_RECORD`          |
    |                 | List records        | List records from an Airtable table with filtering, sorting, and pagination.                                                                  | `AIRTABLE_LIST_RECORDS`        |
    | **Schemas**     | Get base schema     | Retrieves the detailed schema for a specified Airtable base, including its tables, fields, field types, and configurations, using the baseId. | `AIRTABLE_GET_BASE_SCHEMA`     |
    | **Users**       | Get user info       | Retrieves information, such as ID and permission scopes, for the currently authenticated Airtable user from the /meta/whoami endpoint.        | `AIRTABLE_GET_USER_INFO`       |
  </Accordion>

  <Accordion title="Read + write (recommended)">
    Agents can use 24 of the 27 Airtable actions at this level: everything in **Read-only**, plus:

    * Create and update records
    * Create and update comments
    * Create and update fields
    * Create and update tables
    * View account details
    * Create attachments
    * Create bases

    The 17 actions that this level adds to **Read-only**:

    | Works on            | Action                              | What it does                                                                                                                      | Slug                                           |
    | ------------------- | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- |
    | **Account details** | Who am I                            |                                                                                                                                   | `AIRTABLE_WHO_AM_I`                            |
    | **Attachments**     | Upload attachment                   | Uploads a file attachment to a specified field in an Airtable record.                                                             | `AIRTABLE_UPLOAD_ATTACHMENT`                   |
    | **Bases**           | Create base                         | Creates a new Airtable base with specified tables and fields within a workspace.                                                  | `AIRTABLE_CREATE_BASE`                         |
    | **Comments**        | Create comment                      | Create a comment on a specific Airtable record.                                                                                   | `AIRTABLE_CREATE_COMMENT`                      |
    |                     | Update comment                      | Update an existing comment on a specific Airtable record.                                                                         | `AIRTABLE_UPDATE_COMMENT`                      |
    | **Fields**          | Create field                        | Creates a new field within a specified table in an Airtable base.                                                                 | `AIRTABLE_CREATE_FIELD`                        |
    |                     | Update field                        | Updates a field's name or description in an Airtable table.                                                                       | `AIRTABLE_UPDATE_FIELD`                        |
    | **Records**         | Create multiple records             | DEPRECATED: Use AIRTABLE\_CREATE\_RECORDS instead.                                                                                | `AIRTABLE_CREATE_MULTIPLE_RECORDS`             |
    |                     | Create record                       | DEPRECATED: Use CreateRecords instead.                                                                                            | `AIRTABLE_CREATE_RECORD`                       |
    |                     | Create record from natural language | Creates a new record in an Airtable table from a natural language description.                                                    | `AIRTABLE_CREATE_RECORD_FROM_NATURAL_LANGUAGE` |
    |                     | Create records                      | Create multiple records (up to 10) in a specified Airtable table.                                                                 | `AIRTABLE_CREATE_RECORDS`                      |
    |                     | Update multiple records             | Update up to 10 records in an Airtable table with selective field modifications.                                                  | `AIRTABLE_UPDATE_MULTIPLE_RECORDS`             |
    |                     | Update multiple records put         | Destructively update multiple records in Airtable using PUT, clearing unspecified fields.                                         | `AIRTABLE_UPDATE_MULTIPLE_RECORDS_PUT`         |
    |                     | Update record                       | Modifies specified fields of an existing record in an Airtable base and table.                                                    | `AIRTABLE_UPDATE_RECORD`                       |
    |                     | Update record put                   | Updates an existing record in an Airtable base using PUT method.                                                                  | `AIRTABLE_UPDATE_RECORD_PUT`                   |
    | **Tables**          | Create table                        | Creates a new table within a specified existing Airtable base, allowing definition of its name, description, and field structure. | `AIRTABLE_CREATE_TABLE`                        |
    |                     | Update table                        | Updates the name, description, and/or date dependency settings of a table in Airtable.                                            | `AIRTABLE_UPDATE_TABLE`                        |
  </Accordion>

  <Accordion title="Full access">
    Agents can use 27 of the 27 Airtable actions at this level: everything in **Read + write**, plus:

    * Delete records
    * Delete comments

    The 3 actions that this level adds to **Read + write**:

    | Works on     | Action                  | What it does                                                                                   | Slug                               |
    | ------------ | ----------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------- |
    | **Comments** | Delete comment          | Delete a comment from a record in an Airtable table.                                           | `AIRTABLE_DELETE_COMMENT`          |
    | **Records**  | Delete multiple records | Delete up to 10 specified records from a table within an Airtable base.                        | `AIRTABLE_DELETE_MULTIPLE_RECORDS` |
    |              | Delete record           | Permanently deletes a specific record from an existing table within an existing Airtable base. | `AIRTABLE_DELETE_RECORD`           |
  </Accordion>
</AccordionGroup>

## Connect Airtable

Before you start:

* You need an Airtable account that you can sign in to.
* Your Squad subscription must be active. Squad does not connect apps while the subscription is not active.

<Steps>
  <Step title="Open Integrations">
    Open **Settings** > **Integrations**.
  </Step>

  <Step title="Add an integration">
    On the **Connected apps** tab, click **+ Add integration**.
  </Step>

  <Step title="Find Airtable">
    Find **Airtable** in the catalog and click it. You can type the name in **Search the catalog…**.
  </Step>

  <Step title="Choose an access level">
    Under **Default scope**, choose an access level. This level applies to every agent.
  </Step>

  <Step title="Click Connect Airtable">
    Click **Connect Airtable**. The Airtable sign-in page opens in a new tab.
  </Step>

  <Step title="Sign in to Airtable">
    Sign in to Airtable and approve the request.
  </Step>
</Steps>

Check that it works: Airtable shows under **YOUR CONNECTIONS**, with a row for the account and its access level.

## Change the access level

1. Under **YOUR CONNECTIONS**, find the Airtable account.
2. Open the account menu (⋯) and click **Manage scope**.
3. Under **Default scope**, choose the new level.
4. Click **Save access**.

The change does not need a new sign-in. Agents get the new level from their next call.

## Set access for one agent

Every agent uses the account's level unless you set something else for it. You can narrow one agent to a lower level, or block it.

1. Under **YOUR CONNECTIONS**, open the account menu (⋯) on the Airtable account.
2. Click **Manage scope**.
3. Under **Per-agent access**, find the agent.
4. Choose the **Default** option to follow the account's level, choose a lower level, or choose **No access**.
5. Click **Save access**.

An agent never gets more than the account's level, even if you choose a higher level for it. Changes apply from the agent's next call. An agent with **No access** does not see the account.

## Use more than one Airtable account

Click **+ Account** on the Airtable card to connect another account. Agents use the primary account unless they are asked to use a specific one.

* After you click **+ Account**, follow the connect steps above.
* Each account has its own access level.
* The first account you connect becomes the primary account. It shows **★ PRIMARY**.
* To change the primary account, open the account menu (⋯) and click **Make primary**.
* To tell accounts apart, open the account menu (⋯) and click **Rename**.

## Reconnect or disconnect

Reconnect when the connection has expired, or when you need to change what the account can reach on the Airtable side:

1. Open the account menu (⋯) and click **Reconnect**.
2. Click **Reauthorize on Airtable**.
3. Sign in to Airtable and approve the request.

Reconnect signs in to the same account again. It does not add a second connection.

Open the account menu (⋯) on the Airtable account and click **Disconnect**. Agents lose access to that account at once.

<Warning>**Disconnect** acts at once, with no confirmation step. If it was the primary account, another connected Airtable account becomes primary.</Warning>

## Costs

Airtable actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs).

## Troubleshooting

An agent reports that an action is not allowed on this account.

* Cause: the action is outside the account's access level, or outside the level you set for that agent.
* Fix: choose a higher level in **Manage scope**, or change the agent's row under **Per-agent access**.

An agent says it has no access to Airtable, or it does not see the account.

* Cause: the agent is set to **No access** under **Per-agent access**, or the account is not connected.
* Fix: open **Manage scope** and change the agent's row. If the account is missing, connect it again.

Connecting or saving fails with "Your subscription isn't active."

* Cause: your Squad subscription is not active.
* Fix: resubscribe. See [Manage your subscription](/docs/billing).

An agent says the Airtable connection has expired.

* Cause: the sign-in for that account is no longer valid.
* Fix: use **Reconnect** on the account.

## Common questions

<AccordionGroup>
  <Accordion title="Can I limit what agents can do in Airtable?">
    Each Airtable account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.
  </Accordion>

  <Accordion title="Can I connect more than one Airtable account?">
    Click **+ Account** on the Airtable card to connect another account. Agents use the primary account unless they are asked to use a specific one.
  </Accordion>

  <Accordion title="How do I disconnect Airtable?">
    Open the account menu (⋯) on the Airtable account and click **Disconnect**. Agents lose access to that account at once.
  </Accordion>
</AccordionGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Connect apps" icon="plug" href="/docs/integrations" />

  <Card title="Add an MCP server or an API key" icon="server" href="/docs/custom-integrations">
    Use this when an action you need is not in this app.
  </Card>
</CardGroup>
