@robinpath/airtable
v0.3.0
Published
Airtable integration — list, get, create, update, delete records, plus base/table/field schema management. Uses the encrypted credential vault for personal access tokens.
Readme
@robinpath/airtable
Airtable module for RobinPath.
Why use this module?
The airtable module lets you:
- List all bases accessible by the configured token
- Get the schema (tables and fields) for a base
- List records from a table with optional filtering, sorting, and pagination
- Get a single record by ID
- Create a single record in a table
All functions are callable directly from RobinPath scripts with a simple, consistent API.
Installation
robinpath add @robinpath/airtableQuick Start
1. Set up credentials
airtable.setToken "default" "patXXXXXXXXXXXXXX"2. List all bases accessible by the configured token
airtable.listBases "default"Available Functions
| Function | Description |
|----------|-------------|
| airtable.setToken | Store an Airtable personal access token for authentication |
| airtable.listBases | List all bases accessible by the configured token |
| airtable.getBaseSchema | Get the schema (tables and fields) for a base |
| airtable.listRecords | List records from a table with optional filtering, sorting, and pagination |
| airtable.getRecord | Get a single record by ID |
| airtable.createRecord | Create a single record in a table |
| airtable.createRecords | Bulk create up to 10 records in a table |
| airtable.updateRecord | Update a single record (PATCH - only updates specified fields) |
| airtable.updateRecords | Bulk update up to 10 records (PATCH) |
| airtable.replaceRecord | Replace a single record (PUT - clears unspecified fields) |
| airtable.deleteRecord | Delete a single record by ID |
| airtable.deleteRecords | Bulk delete up to 10 records by ID |
| airtable.createTable | Create a new table in a base with field definitions |
| airtable.updateTable | Update a table's name or description |
| airtable.createField | Create a new field in a table |
| airtable.updateField | Update a field's name or description |
Examples
List all bases accessible by the configured token
airtable.listBases "default"Get the schema (tables and fields) for a base
airtable.getBaseSchema "default" "appABC123"List records from a table with optional filtering, sorting, and pagination
airtable.listRecords "default" "appABC123" "Tasks" {"filterByFormula": "{Status}='Done'", "maxRecords": 50}Integration with RobinPath
import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/airtable";
const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);
const result = await rp.executeScript(`
airtable.setToken "default" "patXXXXXXXXXXXXXX"
airtable.listBases "default"
`);Full API Reference
See MODULE.md for complete documentation including all parameters, return types, error handling, and advanced examples.
Related Modules
@robinpath/google-sheets— Google Sheets module for complementary functionality@robinpath/google-calendar— Google Calendar module for complementary functionality@robinpath/google-contacts— Google Contacts module for complementary functionality@robinpath/google-forms— Google Forms module for complementary functionality@robinpath/gmail— Gmail module for complementary functionality
License
MIT
