Airtable integration
In short
Read, create and update records in your bases. Connect it on the Integrations page; your app then calls Airtable through Sapilon without ever holding a Airtable credential.
Lets your app list bases and tables and read, create and update records in the bases you grant access to.
Connecting
On the Integrations page choose Connect on Airtable, sign in to Airtable and allow access.
Or connect with a key instead — fill in:
- Personal access token — airtable.com/create/tokens → create a token with data.records:read/write and schema.bases:read, and add the bases it may use.
Sapilon checks the key with the provider before it saves it, and stores it encrypted; it is never shown again.
- Airtable asks which bases to share; your app sees only those.
What your app can do
Only these requests are available; anything else is refused.
GET /meta/basesGET /meta/bases/app*/tablesGET|POST|PATCH /app*/*GET|PATCH /app*/*/rec*
How the agent uses it
Use integrations.request('airtable', …); paths are relative to https://api.airtable.com/v0.
GET /meta/bases— bases the connection can see. Example:{ method: 'GET', path: '/meta/bases' }.GET /meta/bases/{baseId}/tables— tables and fields. Example:{ method: 'GET', path: '/meta/bases/appXyz/tables' }.GET|POST|PATCH /{baseId}/{table}— list, create (body: { records: [{ fields }] }) or update many records. Example:{ method: 'GET', path: '/appXyz/Customers', query: { maxRecords: '50' } }.GET|PATCH /{baseId}/{table}/{recordId}— one record. Example:{ method: 'PATCH', path: '/appXyz/Customers/recAbc', body: { fields: { Status: 'Active' } } }.
Base ids start with app, record ids with rec. Deleting records is not allowed.
More from Airtable: https://airtable.com/developers/web/api/introduction