All plans

Your bases, queried in plain English.

Ask the assistant to find a record, filter a table with Airtable formula syntax, draft a row, or update a field — without leaving chat. Airtable stays the source of truth; the assistant sees only the bases you explicitly shared on the consent screen.

Stop writing formulas from memory

Ask the question. Edit the row. The assistant handles the API shape.

You

“Top 10 hot leads by score in my CRM base.”

Other Me

Ten records. Top three: Acme Ltd (92), Beta Co (89), Delta Inc (86). Want me to draft outreach notes for any of them?

You

“Add a new lead called Acme Ltd with status Hot, score 92, owner me.”

Other Me

✅ Created recZy2f8Ab12X9h in Leads. Status=Hot, Score=92, Owner=you.

You

“Delete recZy2f8Ab12X9h.”

Other Me

⚠️ Confirm delete of recZy2f8Ab12X9h in "Leads":
Name: Acme Ltd · Status: Hot · Score: 92
Re-invoke with confirm=true. (Recoverable from Airtable trash for 7 days.)

What the assistant can do

Seven tools, all gated by the Tables SCRS scope.

airtable_list_bases
List the bases you granted access to, with IDs and permission levels.
airtable_list_tables
Show the tables in a base, with the full field schema (name + type + options).
airtable_list_records
Records with optional Airtable formula filter + sort. The assistant translates natural language into formula syntax when possible.
airtable_get_record
One record by its id (rec...), with every field formatted for readable chat.
airtable_create_record
New row. Field names are validated against the schema; values are type-encoded (numbers as numbers, dates as ISO strings, multi-selects as arrays).
airtable_update_record
Patch fields on an existing row. Only listed fields change — omitted fields stay intact.
airtable_delete_record
Two-turn confirmation. First call returns the row preview; re-invoke with confirm=true to actually delete. Soft-delete only (7-day trash recovery in Airtable UI).

PKCE + per-base consent + SCRS

Three consent layers. One audit trail.

Transport — PKCE

OAuth 2.0 with Proof Key for Code Exchange (RFC 7636). The authorisation code can only be exchanged by the session that initiated the flow — an intercepted code is useless without the server-side verifier stashed in your session.

Per-base consent

On Airtable’s consent screen you pick exactly which bases the integration can see. Other Me cannot discover bases you didn’t grant.

Tables scope gate

An admin can disable the Tables collection organisation-wide. Every Airtable call blocks at that point with a clear message, regardless of individual user grants.

DLP on writes + audit

Field values from the LLM are DLP-scanned before they leave your server — block-only so a corrupted PII redaction can’t silently land in your CRM. Every call writes a hash-chained row to SCRSAuditLog.

Three minutes to connect

  1. 1

    Settings → Integrations → Connect Airtable.

  2. 2

    On Airtable’s consent screen, pick the bases you want Other Me to see. You can share more any time by disconnecting and reconnecting.

  3. 3

    Back in chat. Every call runs through the scope gate, DLP scanner, and audit ledger.

What’s deliberately not in v1

Five constraints. Here’s why.

Limited field types for writes

Text, email, URL, phone, number, percent, currency, rating, duration, checkbox, singleSelect, multipleSelects, date, dateTime. Attachments, linked records, collaborators, formulas, rollups, lookups, counts, auto-numbers, created-/modified-time are read-only — writes return a clear “computed field” error.

Soft delete only

We deliberately DO NOT request the data.records:manage scope that permits permanent deletes. Delete sends the row to Airtable’s trash (7-day recovery via the Airtable UI). Fits with our two-turn confirmation model.

No schema edits

Creating new tables, adding fields, modifying field options — we skip the schema.bases:write scope. An LLM editing base schemas is too much blast radius. Same policy as Jira.

Poll-based, not push

Airtable has webhooks but v1 skips them. For “notify me when X changes”, ask the assistant to poll via airtable_list_records with a LAST_MODIFIED_TIME() formula clause.

Single-record writes

Airtable supports up to 10 records per create/update/delete call. v1 does one at a time — easier to audit, easier to DLP-scan, and the chat pattern rarely needs batching.

Stop remembering formula syntax.

Connect Airtable, ask in English, keep your governance.

Try it free