Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Airtable connector

OAuth 2.0 project_managementdataanalytics

Connect to Airtable. Manage databases, tables, records, and collaborate on structured data

Airtable connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Register your Airtable credentials with Scalekit so it handles the token lifecycle. You do this once per environment.

    Dashboard setup steps

    Register your Scalekit environment with the Airtable connector so Scalekit handles the authentication flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. Then complete the configuration in your application as follows:

    1. Create the Airtable connection in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Search for Airtable and click Create.

        Search for Airtable and create a new connection

      • In the Configure Airtable Connection dialog, copy the Redirect URI. You will need this when registering your OAuth integration in Airtable.

        Copy the redirect URI from the Configure Airtable Connection dialog

    2. Register an OAuth integration in Airtable

      • Go to the Airtable Builder Hub and navigate to OAuth integrations. Click Register an OAuth integration.

        OAuth integrations page in Airtable Builder Hub

      • Fill in your integration details (name, description, and other required fields).

      • Under OAuth redirect URLs, paste the redirect URI you copied from the Scalekit dashboard.

    3. Get your client credentials

      • On your OAuth integration page in the Airtable Builder Hub, find the Developer details section.

      • Copy the Client ID.

      • Click Generate client secret and copy the secret value immediately.

        Copy Client ID and generate a client secret from Airtable developer details

    4. Add credentials in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections and open the Airtable connection you created.

      • Enter your credentials:

        • Client ID — from the Airtable developer details
        • Client Secret — the generated secret from Airtable
        • Scopes — select the permissions your app needs (for example, data.records:read, data.records:write, schema.bases:read, schema.bases:write, webhook.manage). See Airtable OAuth scopes reference for the full list.

        Airtable credentials entered in the Scalekit connection configuration

      • Click Save.

  4. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'airtable'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Airtable:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first API call through the proxy
    const result = await actions.request({
    connectionName: connector,
    identifier,
    path: '/v0/meta/whoami',
    method: 'GET',
    })
    console.log(result)
Proxy API call
const result = await actions.request({
connectionName: 'airtable',
identifier: 'user_123',
path: '/v0/meta/whoami',
method: 'GET',
});
console.log(result);
Execute a tool
const result = await actions.executeTool({
connector: 'airtable',
identifier: 'user_123',
toolName: 'airtable_list',
toolInput: {},
});
console.log(result);