airtable

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

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Working with Airtable data programmatically usually requires an SDK or OAuth setup. This Skill lets you perform full CRUD operations on Airtable records directly through curl with just a personal access token, covering filtering, upserts, batching, and pagination. ## Core Features & Use Cases - Records CRUD: Create, read, update (PATCH merge), upsert by merge field, and delete records individually or in batches of up to 10. - Filtering & Querying: Use URL-encoded filterByFormula expressions, sorting, field selection, and named views to retrieve exactly the rows you need. - Schema Inspection: List accessible bases and table schemas before mutating, confirming field names, select options, and primary fields. - 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 Use the airtable skill to list the first 10 records from my Tasks table in base appXXXXXXXXXXXXXX.

Frequently Asked Questions about airtable

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

FAQPage Schema
How do I create a record in Airtable using the API?▼

Send a POST request to https://api.airtable.com/v0/$BASE_ID/$TABLE with an Authorization Bearer header and a JSON body containing a fields object. You can create up to 10 records in one call by passing a records array instead.

How to filter Airtable records with filterByFormula?▼

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

What is the difference between PATCH and PUT in the Airtable API?▼

PATCH merges the supplied fields into the record and preserves everything else, while PUT replaces the record entirely and clears any field you did not include. Default to PATCH for updates to avoid accidental data loss.

Why does the Airtable API return a 403 error on one base but not another?▼

A 403 on a specific base means the personal access token's Access list does not include that base, not an authentication failure. PATs are scoped per-base, so add the base to the token at airtable.com/create/tokens.

What are the Airtable API rate limits and pagination rules?▼

The API allows 5 requests per second per base and returns at most 100 records per page. When a response includes an offset field, pass it back on the next request and loop until the field is absent.

How do I upsert Airtable records without knowing record IDs?▼

Send a PATCH request to the table endpoint with performUpsert specifying fieldsToMergeOn, such as Email. Airtable creates records with new merge-field values and patches records whose values already exist, enabling idempotent syncs.