Airtable
Let an agent work your bases without the run of your account. It reads schemas and searches records, creates, updates and upserts them and comments on them, and deleting a record or writing in bulk can wait for a person.
- host
- api.airtable.com
- connect
- API key, per user
Create record
airtable-create-record
Create records
airtable-create-records
Update record
airtable-update-record
Upsert records
airtable-upsert-records
Reads and writes in Airtable. Writes are off until you switch them on.
Each one is a named operation from the pack. Reads change nothing.
Writes
Create record
read backairtable-create-record
Create one record with the fields you give. Returns the new record with its id.
Create records
read backairtable-create-records
Create up to 10 records in one call; Airtable refuses more. Counts one mutation per record.
Update record
acknowledgedairtable-update-record
Change the fields you give on one record; fields you leave out stay as they are. Returns the record.
Upsert records
acknowledgedairtable-upsert-records
Update or create up to 10 records, matched on one to three fields that identify a record (for example Email). No match creates a record, one match updates it, and more than one match fails the call. Counts one mutation per record. Returns the records and the ids Airtable created and updated.
Delete record
read backairtable-delete-record
Delete one record, with its comments.
Add comment
read backairtable-add-comment
Add a comment to one record, as the token's user, or reply to a comment with parent_comment_id. Everyone with access to the base can see it.
Update comment
read backairtable-update-comment
Replace the text of one comment. Airtable lets a token edit only comments its own user wrote.
Reads
Get current user
airtable-get-current-user
Get the Airtable user the token acts as: the user id, and the email address when the token has the user.email:read scope. Use it to check whose account a call reaches.
List bases
airtable-list-bases
List the bases the token can reach: id, name and your permission level on each. Airtable returns up to 1000 bases a page; when the response has an offset, pass it as offset for the next page.
Get base schema
airtable-get-base-schema
Get a base's tables: each table's id, name and primary field, its fields (id, name, type, options) and its views (id, name, type). Use it to learn the field names and ids before reading or writing records.
List records
airtable-list-records
List or search a table's records: id, createdTime and fields. 10 records a page; when the response has an offset, pass it as offset for the next page with the same filter, view and sort. Filter with an Airtable formula, for example {Status}='Open' or SEARCH('acme', LOWER({Name})). Empty cells are left out of fields.
Get record
airtable-get-record
Get one record by id: id, createdTime and every non-empty field, keyed by field name.
List comments
airtable-list-comments
List the comments on one record, newest first: id, author, text, createdTime and lastUpdatedTime. 20 a page; when the response has an offset, pass it as offset for the next page.
How do users connect? Each one brings their own Airtable.
- 1.Call for the userYour server invokes the action for the signed-in user. Without a Airtable connection, the SDK throws EndUserNotConnectedError with a connect link.
- 2.The user pastes a keyThe link opens a form that shows where in Airtable's settings to create the key. The link lasts 10 minutes and works once.
- 3.Anlyon checks itThe key is checked with Airtable before it is kept, and bound to api.airtable.com. It is never shown back.
- 4.Your server confirmsYour server confirms the connection for the user who is signed in, and the call goes through.
Guardrails. Suggested limits and approvals, for you to review.
Suggested limits
- 200 records created a day
- 200 records created in bulk a day
- 500 records updated a day
- 200 records upserted a day
- 20 records deleted a day
- 200 comments added a day
- 100 comments edited a day
Suggested approvals
- A person approves deleting a record
- A person approves creating records in bulk
- A person approves upserting records
What the key must allow
- A personal access token you create
- data.records:read and write, data.recordComments:read and write, schema.bases:read
- Only the bases you add to the token
Good to know
- A base that is not added to the token cannot be reached.
- Airtable has no idempotency key for a create. Anlyon sends it once and never repeats it.
For your own account
- 1.In Airtable, open the builder hub, Personal access tokens, and create a token with those scopes.
- 2.Add the bases your agent should reach, and no others.
- 3.In Anlyon, open Actions, then Integrations, choose Airtable and paste the token.
- 4.Anlyon checks the token with Airtable before storing it. It becomes a secret named AIRTABLE, bound to api.airtable.com.
Airtable in your code. For one of your users, or for your own account.
Act for one of your users from your server, or connect your company's own Airtable with the CLI.
import { Client, EndUserNotConnectedError } from "@anlyonhq/sdk";const anlyon = new Client({ apiKey: process.env.ANLYON_API_KEY! });try { const { data } = await anlyon .forUser(session.userId) .actions.invoke("airtable-create-record", { base_id: "appA1b2C3d4E5f6G7", table: "Leads", fields: { Name: "Acme", Stage: "Contacted" } }); return { status: "done", grade: data.grade };} catch (error) { if (error instanceof EndUserNotConnectedError) { // The user connects their own Airtable, then you call again. return { status: "connect_required", url: error.connectUrl }; } throw error;}Other integrations. Under the same limits, approvals and receipts.
Available
Stripe
Payments · API key
Refunds under a money ceiling, and every customer, payment and invoice to read.
Available
GitHub
Code · API key
Issues, pull requests and code, in the repositories you choose.
Available
HubSpot
CRM · Sign in
Contacts, companies and deals: search them and change them.
- Anlyon app
- Available
- Your own app
- Recommended for production
