# Airtable — Pipedream Connect

> Airtable is a low-code platform to build next-gen apps. Move beyond rigid tools, operationalize your critical data, and reimagine workflows with AI.

- API slug: `airtable_oauth` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: Productivity
- Website: https://airtable.com/
- Managed OAuth scopes: `data.records:read` · `data.records:write` · `data.recordComments:read` · `data.recordComments:write` · `schema.bases:read` · `schema.bases:write` · `webhook:manage` · `user.email:read`
- This page (HTML): https://pipedream.com/apps/airtable-oauth
- Tools: 19 actions · 8 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: airtable_oauth`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "airtable_oauth",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Create Comment:
const result = await mcp.callTool({
  name: "airtable_oauth-create-comment",
  arguments: {
    baseId: "Base",
    tableId: "Table",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Airtable endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://api.airtable.com/v0/meta/whoami

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuYWlydGFibGUuY29tL3YwL21ldGEvd2hvYW1p?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "airtable_oauth-create-comment",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    airtable_oauth: { authProvisionId: "apn_xxxxxxx" },
    baseId: "Base",
    tableId: "Table",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (19)

### `airtable_oauth-create-comment` — Create Comment (Write)

Create a comment on a selected record. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/create-comment.md

### `airtable_oauth-create-field` — Create Field (Write)

Create a new field in a table. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/create-field.md

### `airtable_oauth-create-multiple-records` — Create Multiple Records (Write)

Create one or more records in a table in a single operation with an array. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/create-multiple-records.md

### `airtable_oauth-create-or-update-record` — Create or Update Record (Write)

Create a new record, or update an existing one if a Record ID is provided (an upsert). Leave Record ID blank to create a record from record; supply it to update that record's fields instead. Use List Tables to look up field names first, and List Records to find an existing record's ID. See the…

Full schema: https://pipedream.com/apps/airtable-oauth/actions/create-or-update-record.md

### `airtable_oauth-create-single-record` — Create Single Record (Write)

Create a new record in a table. Provide field values in record, e.g. { "Name": "Acme", "Stage": "Won" }. Use List Tables first to look up the table's field names and types. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/create-single-record.md

### `airtable_oauth-create-table` — Create Table (Write)

Create a new table. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/create-table.md

### `airtable_oauth-delete-record` — Delete Record (Write)

Delete a selected record from a table. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/delete-record.md

### `airtable_oauth-get-record` — Get Record (Read-only)

Get data of a selected record from a table. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/get-record.md

### `airtable_oauth-get-record-or-create` — Get Record Or Create (Write)

Fetch a record by its Record ID. If the ID is blank, or doesn't match an existing record, create a new record instead using record. Use List Tables to look up field names first, and List Records to find an existing record's ID. See the get-record documentation and the create-record documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/get-record-or-create.md

### `airtable_oauth-list-bases` — List Bases (Read-only)

Get the list of bases that can be accessed. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/list-bases.md

### `airtable_oauth-list-comments` — List Comments (Read-only)

Get a list of comments on a selected record, e.g. to look up a comment's ID before updating it. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/list-comments.md

### `airtable_oauth-list-records` — List Records (Read-only)

Retrieve records from a table, optionally sorting and filtering results. Use List Tables to look up a table's field IDs. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/list-records.md

### `airtable_oauth-list-records-in-view` — List Records in View (Read-only)

Retrieve records from a view, optionally sorting and filtering results. Use List Tables to look up a table's view IDs. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/list-records-in-view.md

### `airtable_oauth-list-tables` — List Tables (Read-only)

Get a list of tables in the selected base, including each table's fields and views. Use List Bases to look up a base ID. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/list-tables.md

### `airtable_oauth-search-records` — Search Records (Read-only)

Find records in a table using an Airtable formula, or a Search Field + Search Value pair. Search Formula takes precedence when provided; otherwise Search Field and Search Value must both be set. Use List Tables first to look up the table's field names. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/search-records.md

### `airtable_oauth-update-comment` — Update Comment (Write)

Update an existing comment on a selected record. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/update-comment.md

### `airtable_oauth-update-field` — Update Field (Write)

Update an existing field in a table. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/update-field.md

### `airtable_oauth-update-record` — Update Record (Write)

Update a record's fields by Record ID — a partial update; only the fields included in record are changed, all others are left as-is. Use List Tables to look up field names first, and List Records to find the record's ID. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/update-record.md

### `airtable_oauth-update-table` — Update Table (Write)

Update an existing table. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/actions/update-table.md

## Triggers (8)

### `airtable_oauth-new-field` — New Field Created (Instant) (Instant)

Emit new event when a field is created in the selected table. See the documentation

Full schema: https://pipedream.com/apps/airtable-oauth/triggers/new-field.md

### `airtable_oauth-new-or-modified-field` — New or Modified Field (Instant) (Instant)

Emit new event when a field is created or updated in the selected table

Full schema: https://pipedream.com/apps/airtable-oauth/triggers/new-or-modified-field.md

### `airtable_oauth-new-or-modified-records` — New or Modified Records (Instant) (Instant)

Emit new event for each new or modified record in a table or view

Full schema: https://pipedream.com/apps/airtable-oauth/triggers/new-or-modified-records.md

### `airtable_oauth-new-or-modified-records-in-view` — New or Modified Records in View (Polling)

Emit new event for each new or modified record in a view

Full schema: https://pipedream.com/apps/airtable-oauth/triggers/new-or-modified-records-in-view.md

### `airtable_oauth-new-modified-or-deleted-records-instant` — New Record Created, Updated or Deleted (Instant) (Instant)

Emit new event when a record is added, updated, or deleted in a table or selected view.

Full schema: https://pipedream.com/apps/airtable-oauth/triggers/new-modified-or-deleted-records-instant.md

### `airtable_oauth-new-records` — New Record(s) Created (Instant) (Instant)

Emit new event for each new record in a table

Full schema: https://pipedream.com/apps/airtable-oauth/triggers/new-records.md

### `airtable_oauth-new-records-in-view` — New Records in View (Polling)

Emit new event for each new record in a view

Full schema: https://pipedream.com/apps/airtable-oauth/triggers/new-records-in-view.md

### `airtable_oauth-new-modified-or-deleted-records` — New, Modified or Deleted Records (Polling)

Emit new event each time a record is added, updated, or deleted in an Airtable table. Supports tables up to 10,000 records

Full schema: https://pipedream.com/apps/airtable-oauth/triggers/new-modified-or-deleted-records.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
