airtable

Manage Airtable bases, tables, and records via REST API curl commands.

Updated Sep 20, 2026
One-click install
npx skills add https://github.com/GreenyZA/neo-light --skill airtable-greenyza
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: airtable
Source: https://github.com/GreenyZA/neo-light/tree/main/.hermes-home/skills/productivity/airtable
Command: npx skills add https://github.com/GreenyZA/neo-light --skill airtable-greenyza

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Working with Airtable data from an agent or terminal normally requires an SDK, OAuth setup, or manual dashboard clicks. This Skill lets you perform full CRUD operations on Airtable records directly with curl and a personal access token, with no extra tooling. ## Core Features & Use Cases - Records CRUD and batch operations: Create, read, update (PATCH merge), upsert by merge field, and delete records, including batches of up to 10 per request. - Filtering, sorting, and pagination: Query records with URL-encoded filterByFormula expressions, named views, field selection, and offset-based pagination loops. - Schema inspection: List accessible bases and table schemas before mutating, confirming exact field names, IDs, and select options. - Use Case: Sync a list of customer emails into an Airtable CRM table idempotently using performUpsert on the Email field, then filter for all records where Status is 'Todo' and mark them Done. ## Quick Start Ask the agent to list the tables in your Airtable base and show the first ten records from a chosen table.

Frequently Asked Questions about airtable

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create or update Airtable records with the REST API?▼

Send a POST to /v0/{baseId}/{table} with a JSON body containing a fields object to create records, or PATCH a specific record ID to merge updates. Use performUpsert with fieldsToMergeOn to create-or-update by a key field like Email.

How to filter Airtable records using filterByFormula?▼

Pass a URL-encoded Airtable formula such as {Status}='Todo' as the filterByFormula query parameter. Encode it with Python's urllib.parse.quote rather than hand-escaping, since field names with spaces and curly braces require encoding.

What Airtable API token scopes do I need?▼

You need a personal access token with data.records:read, data.records:write, and schema.bases:read scopes. The token must also have each target base added to its Access list, otherwise requests to that base return 403.

Why does the Airtable API return 403 with a valid token?▼

A 403 usually means the personal access token's Access list does not include that specific base, since PATs are scoped per-base. Add the base at airtable.com/create/tokens rather than changing scopes.

What are the Airtable API rate limits and batch limits?▼

The API allows 5 requests per second per base and returns 429 with a Retry-After header when throttled. Batch create and delete endpoints accept at most 10 records per request, and list endpoints return at most 100 records per page.

Should I use PATCH or PUT to update Airtable records?▼

Use PATCH, which merges only the supplied fields and preserves everything else. PUT replaces the entire record and clears any field you did not include, so it is risky for partial updates.