airtable

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

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

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 dependencies. ## Core Features & Use Cases - Records CRUD and batch operations: Create, read, update (PATCH), upsert by merge field, and delete records, including batches of up to 10 records per request. - Filtering, sorting, and views: Query records with URL-encoded filterByFormula expressions, server-side sorts, field selection, and named views. - Schema inspection and safe workflows: List bases and table schemas before mutating, handle pagination with offsets, and respect the 5 requests/second/base rate limit. - Use Case: Sync a list of customer emails into an Airtable CRM table idempotently using performUpsert on the Email field, then filter for all "Todo" tasks due after today and mark them done. ## Quick Start Use the airtable skill to list all records in my Tasks table where Status is Todo and create a new high-priority task.

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?▼

Use curl with a POST to /v0/$BASE_ID/$TABLE to create records and PATCH to update them, sending JSON bodies with a fields object. For idempotent syncs, use performUpsert with fieldsToMergeOn to create or patch records based on a merge 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 or braces must be percent-encoded.

What Airtable API token do I need for REST API access?▼

You need a Personal Access Token starting with pat, created at airtable.com/create/tokens, with data.records:read, data.records:write, and schema.bases:read scopes. Legacy key... API keys were deprecated in February 2024, and each base must be added to the token's Access list.

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

Airtable PATs are scoped per base, so a 403 means the token's Access list does not include that base, not an authentication failure. Revisit the token settings at airtable.com/create/tokens and grant access to the missing base.

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

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 it is absent; back off when you receive a 429.

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.