← Back to all apps

Overview

Tools Available9
CategoryProductivity

Add structured data to ChatGPT

Available Tools

Airtable provides 9 tools that can be used to interact with its services.

Creates new records in an Airtable table

create_records_for_table
Full Description

Creates new records in an Airtable table. To get baseId and tableId, use the search_bases and list_tables_for_base tools first.

Parameters

Required
baseIdstring

The ID of the base (application) containing the table. Must start with "app" and is 14 characters long. Example: "appZfrNIUEip5MazD". Do not substitute user-facing names for baseId. To get baseId, use the search_bases or list_bases tool.

recordsarray

An array of record objects to create. Each record must have a "fields" property containing the field values. You can create up to 10 records per request.

tableIdstring

The ID of the table to create a record in. Must start with "tbl" and is 14 characters long. Example: "tblGlReoTNWfYnXIG". Do not substitute user-facing names for tableId. To get tableId, use the list_tables_for_base tool.

Optional
typecastboolean

Whether or not to perform best-effort automatic data conversion from string values. Defaults to false to preserve data integrity.

Display Airtable records in an interactive view

display_records_for_table
Full Description

Displays an interactive widget showing record data queried from an Airtable table. Do not assume baseId and tableId. Obtain these from search_bases → list_tables_for_base. Do not attempt to pass filterByFormula. Look carefully at the filters parameter. Pre-requisite: If filtering on select/multiSelect fields, you must call get_table_schema first to get the choice IDs. Aim to provide 6 to 10 relevant fields via the 'fieldIds' parameter. The possible view types are kanban and list. Set viewType to kanban when there is a single-select field that is requested. Aim to provide at least 1 sort when there is a reasonable column to sort by.

Parameters

Required
baseIdstring

The ID of the base (application) containing the table. Must start with "app" and is 14 characters long. Example: "appZfrNIUEip5MazD". Do not substitute user-facing names for baseId. To get baseId, use the search_bases or list_bases tool.

fieldIdsarray

Only data for fields whose IDs are in this list will be included in the result. Field IDs must start with "fld" and is 14 characters long. Example: "fldGlRtkBNWfYnPOV". Do not substitute user-facing names for IDs. To get fieldId, use the list_tables_for_base tool.

tableIdstring

The ID of the table to list records from. Must start with "tbl" and is 14 characters long. Example: "tblGlReoTNWfYnXIG". Do not substitute user-facing names for tableId. To get tableId, use the list_tables_for_base tool.

Optional
coverImageFieldIdstring

The ID of the field to use as the cover image. Only used when viewType is kanban. This field must be an attachment field. Prefer fields that seem to contain images rather than documents or other file types. If no logical attachment field exists, then do not set this parameter. Field IDs must start with "fld" and is 14 characters long. Example: "fldGlRtkBNWfYnPOV". Do not substitute user-facing names for IDs. To get fieldId, use the list_tables_for_base tool.

cursorstring

The cursor to start from. To begin from the first record, do not include a cursor. For a subsequent paginated request, include the nextCursor from the previous response.

filtersobject

Describes the filters to apply to the records using a structured format. Example filter where the value of the field with ID "fld8WsrpLHHevsnW8" is "orange" or the value of the field with ID "fldulcCPDVz87Bmnw" is greater than 5: {"operator": "or", "operands": [{"operator": "=", operands: ["fld8WsrpLHHevsnW8", "orange"]}, {"operator": ">", operands: ["fldulcCPDVz87Bmnw", 5]}]} Example filter where the value of the collaborator field with ID "fldCRi9oz2vRLcIWr" can be any user in a group with ID "ugpDUVUnftA7H9bG8" and the value of the field with ID "fldgD18XtsueoiguT" equals select option with ID "selha8nGNAT5ATR7P": {"operator": "and", "operands": [{"operator": "hasAnyOf", operands: ["fldCRi9oz2vRLcIWr", "ugpDUVUnftA7H9bG8"], "operatorOptions": {matchGroupsByMembership: true}}, {"operator": "=", operands: ["fldgD18XtsueoiguT", "selha8nGNAT5ATR7P"]}]}

pageSizenumber

The maximum number of records to return in the response. The server may respond with fewer records than this value when the total set has fewer records than this value. Defaults to 3000.

sortarray

A list of sort objects that specifies how the records will be ordered. Each sort object must have a fieldId key specifying the ID of the field to sort on, and an optional direction key that is either "asc" or "desc". The default direction is "asc".

stackingFieldIdstring

The ID of the field to stack the data by. Only used when viewType is kanban. This field must be a single select field. If no logical single select field exists, then do not set this parameter. Field IDs must start with "fld" and is 14 characters long. Example: "fldGlRtkBNWfYnPOV". Do not substitute user-facing names for IDs. To get fieldId, use the list_tables_for_base tool.

viewTypestring

Type of view to display the data in. Potential values in order of preference: - kanban: displays the data in a visual kanban board, e.g. when asked to show the status of tasks. - list: displays the data in a basic list.

Options:kanbanlist

Gets table schema for the given table IDs

get_table_schema
Full Description

Gets the detailed schema information for specified tables and fields in a base. This returns the field ID, type, and config for the specified fields of the specified tables.

Parameters

Required
baseIdstring

The ID of the base (application) containing the tables. Must start with "app" and is 14 characters long. Example: "appZfrNIUEip5MazD". Do not substitute user-facing names for baseId. To get baseId, use the search_bases or list_bases tool.

tablesarray

An array of table IDs and corresponding field IDs to get schema information for. Must start with "tbl" and is 14 characters long. Example: "tblGlReoTNWfYnXIG". Do not substitute user-facing names for tableId. To get tableId, use the list_tables_for_base tool. Field IDs must start with "fld" and is 14 characters long. Example: "fldGlRtkBNWfYnPOV". Do not substitute user-facing names for IDs. To get fieldId, use the list_tables_for_base tool.

List Airtable bases

list_bases
Full Description

Lists all bases (applications) that you have access to in your Airtable account. Use this to get the baseId of the base you want to use. Favorited and recently viewed bases are generally more relevant.

Fetch records for processing or analysis

list_records_for_table
Full Description

Lists records queried from an Airtable table. Do not assume baseId and tableId. Obtain these from search_bases → list_tables_for_base. Do not attempt to pass filterByFormula. Look carefully at the filters parameter. Pre-requisite: If filtering on select/multiSelect fields, you must call get_table_schema first to get the choice IDs. Aim to provide at least 6 relevant fields via the 'fieldIds' parameter.

Parameters

Required
baseIdstring

The ID of the base (application) containing the table. Must start with "app" and is 14 characters long. Example: "appZfrNIUEip5MazD". Do not substitute user-facing names for baseId. To get baseId, use the search_bases or list_bases tool.

tableIdstring

The ID of the table to list records from. Must start with "tbl" and is 14 characters long. Example: "tblGlReoTNWfYnXIG". Do not substitute user-facing names for tableId. To get tableId, use the list_tables_for_base tool.

Optional
cursorstring

The cursor to start from. To begin from the first record, do not include a cursor. For a subsequent paginated request, include the nextCursor from the previous response.

fieldIdsarray

Only data for fields whose IDs are in this list will be included in the result. Pass in only the fields most useful for the user to see. If not provided, all fields will be included in the result. Field IDs must start with "fld" and is 14 characters long. Example: "fldGlRtkBNWfYnPOV". Do not substitute user-facing names for IDs. To get fieldId, use the list_tables_for_base tool.

filtersobject

Describes the filters to apply to the records using a structured format. Example filter where the value of the field with ID "fld8WsrpLHHevsnW8" is "orange" or the value of the field with ID "fldulcCPDVz87Bmnw" is greater than 5: {"operator": "or", "operands": [{"operator": "=", operands: ["fld8WsrpLHHevsnW8", "orange"]}, {"operator": ">", operands: ["fldulcCPDVz87Bmnw", 5]}]} Example filter where the value of the collaborator field with ID "fldCRi9oz2vRLcIWr" can be any user in a group with ID "ugpDUVUnftA7H9bG8" and the value of the field with ID "fldgD18XtsueoiguT" equals select option with ID "selha8nGNAT5ATR7P": {"operator": "and", "operands": [{"operator": "hasAnyOf", operands: ["fldCRi9oz2vRLcIWr", "ugpDUVUnftA7H9bG8"], "operatorOptions": {matchGroupsByMembership: true}}, {"operator": "=", operands: ["fldgD18XtsueoiguT", "selha8nGNAT5ATR7P"]}]}

pageSizenumber

The maximum number of records to return in the response. The server may respond with fewer records than this value when the total set has fewer records than this value. Defaults to 3000.

sortarray

A list of sort objects that specifies how the records will be ordered. Each sort object must have a fieldId key specifying the ID of the field to sort on, and an optional direction key that is either "asc" or "desc". The default direction is "asc".

Returns the summary of the specified base

list_tables_for_base
Full Description

Gets the summary of a specific base (application). This includes the schemas of all tables in the base, including field name and type.

Parameters

Required
baseIdstring

The ID of the base (application) to get the summary of. Must start with "app" and is 14 characters long. Example: "appZfrNIUEip5MazD". Do not substitute user-facing names for baseId. To get baseId, use the search_bases or list_bases tool.

Ping

ping
Full Description

Ping the MCP server to check if it is running

Search for an Airtable base

search_bases
Full Description

Searches for bases (applications) by name. This is useful when you need to find a specific base quickly by a partial name-based match. Returns bases sorted by their relevance score, as well as a recommended base ID and a hint on whether we need to ask the user to explicitly select the base they want to use.

Parameters

Required
searchQuerystring

The query to search for bases by name. The search is case-insensitive and works with partial matches. Examples: "projects", "issues", "customers"

Updates multiple records in an Airtable table

update_records_for_table
Full Description

Updates records in an Airtable table. The fields you specify will be updated, and all other fields will be left unchanged. To get baseId and tableId, consider using the search_bases and list_tables_for_base tools first.

Parameters

Required
baseIdstring

The ID of the base (application) containing the table. Must start with "app" and is 14 characters long. Example: "appZfrNIUEip5MazD". Do not substitute user-facing names for baseId. To get baseId, use the search_bases or list_bases tool.

recordsarray

An array of record objects to update. Each record must have a "fields" property containing the field values. You can update up to 10 records per request.

tableIdstring

The ID of the table to update records in. Must start with "tbl" and is 14 characters long. Example: "tblGlReoTNWfYnXIG". Do not substitute user-facing names for tableId. To get tableId, use the list_tables_for_base tool.

Optional
performUpsertobject

Enables upsert behavior when set. When upserting is enabled, the recordId parameter is optional. Records that do not include a recordId will use the fields chosen by the fieldIdsToMergeOn parameter to match with existing records. - If no matches are found, a new record will be created. - If a match is found, that record will be updated. - If multiple matches are found, the request will fail. Records that include id will ignore fieldIdsToMergeOn and behave as normal updates. If no record with the given id exists, the request will fail and will not create a new record

typecastboolean

Whether or not to perform best-effort automatic data conversion from string values. Defaults to false to preserve data integrity.