Operate Airtable Bases and Records with Hermes
Airtable can act as a lightweight operational database, but its friendly grid hides real schema and permission boundaries. The bundled Airtable skill uses the REST API for base discovery, table schemas, filtered reads, record creation, updates, upserts, and deletion.
Official skill reference: Airtable
Inspect before mutation
Use a Personal Access Token with only the required bases and scopes. First list visible bases, then fetch the table schema. Field names, select options, linked-record shapes, and formula behavior should come from the live schema—not from memory or a screenshot.
For reads, use maxRecords, field selection, sorting, a named view, or a URL-encoded filterByFormula. Follow the returned offset until pagination is complete when the task requires the whole set.
For writes, prefer the smallest operation: create one record, patch only changed fields, or use an upsert with a verified merge field. Airtable batches are limited, so large jobs need bounded chunks and retry awareness.
Change checklist
- Confirm base ID, table, view, and field schema.
- Keep the token out of commands shown in reports and public logs.
- Read matching records before creating to prevent duplicates.
- Validate select values, dates, attachments, and linked record IDs.
- Use PATCH when unchanged fields should be preserved.
- Record returned record IDs and re-fetch them after mutation.
Common pitfalls
- Treating a display label as a stable field contract. Names and types can change.
- Skipping pagination. The first response is not necessarily the full dataset.
- Using
typecastas a substitute for validation. Automatic coercion can create unwanted options or surprising values. - Upserting on a non-unique field. A weak merge key can update the wrong record.
- Retrying a timed-out create blindly. Check for the record first so a retry does not duplicate it.
Verification
Fetch the exact record ID or rerun the narrow filter. Compare only the fields intended to change, confirm unaffected fields remain intact, and count created or updated records against the request. For bulk work, reconcile successes and failures by record ID before another attempt.
