airtable

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

Updated May 13, 2026
One-click install
npx skills add https://github.com/superfhp/lumi-agent-body --skill airtable-superfhp
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: airtable
Source: https://github.com/superfhp/lumi-agent-body/tree/main/skills/productivity/airtable
Command: npx skills add https://github.com/superfhp/lumi-agent-body --skill airtable-superfhp

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Working with Airtable data programmatically usually requires SDKs, OAuth flows, or MCP servers. This Skill lets you perform full CRUD operations on Airtable records directly through curl with a personal access token, covering filtering, sorting, upserts, batching, and pagination. ## Core Features & Use Cases - Records CRUD: Create, read, update (PATCH), upsert, and delete records individually or in batches of up to 10 per request. - Filtering & Querying: Use filterByFormula, sorting, field selection, and named views with proper URL encoding via Python stdlib. - Schema Inspection: List accessible bases and table schemas before mutating data to confirm field names and select options. - Use Case: Sync a list of customer emails into an Airtable CRM table idempotently using performUpsert on the Email field, without creating duplicates. ## Quick Start Ask the assistant to list the records in your Airtable table or update a record's status, making sure AIRTABLE_API_KEY is set in your environment first.

Frequently Asked Questions about airtable

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

FAQPage Schema
How do I update an Airtable record via the REST API?▼

Send a PATCH request to https://api.airtable.com/v0/$BASE_ID/$TABLE/$RECORD_ID with a JSON body containing the fields to change. PATCH merges only the supplied fields, while PUT replaces the entire record and clears omitted fields.

How do I filter Airtable records with filterByFormula?▼

Pass an Airtable formula like {Status}='Todo' as the filterByFormula query parameter, URL-encoded with Python's urllib.parse.quote. Never hand-encode formulas, since field names with spaces or special characters will break the request.

Why does my Airtable API request return a 403 error?▼

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

Can I upsert Airtable records without knowing record IDs?▼

Yes, use performUpsert with fieldsToMergeOn in a PATCH request to the table endpoint. Records whose merge-field values already exist get updated, and new values create new records, making syncs idempotent.

What are the Airtable API rate limits and batch size 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 a maximum of 10 records per request, and list endpoints return at most 100 records per page.