Airtable
OAuth 2.0 project_managementdataanalyticsAirtable
Authentication
Section titled “Authentication”This connector uses OAuth 2.0. Scalekit acts as the OAuth client: it redirects your user to Airtable, obtains an access token, and automatically refreshes it before it expires. Your agent code never handles tokens directly — you only pass a connectionName and a user identifier.
You supply your Airtable Connected App credentials (Client ID + Secret) once per environment in the Scalekit dashboard.
Set up the connector
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:
-
Create the Airtable connection in Scalekit
-
In Scalekit dashboard, go to Agent Actions → Connections and click + Create Connection. Search for Airtable and click Create.

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

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

-
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.
-
-
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.

-
-
Add credentials in Scalekit
-
In Scalekit dashboard, go to Agent Actions → 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.

-
Click Save.
-
Code examples
Connect a user’s Airtable account and make API calls on their behalf — Scalekit handles OAuth and token management automatically.
Proxy API Calls
import { ScalekitClient } from '@scalekit-sdk/node';import 'dotenv/config';
const connectionName = 'airtable'; // get your connection name from connection configurationsconst identifier = 'user_123'; // your unique user identifier
// Get your credentials from app.scalekit.com → Developers → Settings → API Credentialsconst scalekit = new ScalekitClient( process.env.SCALEKIT_ENV_URL, process.env.SCALEKIT_CLIENT_ID, process.env.SCALEKIT_CLIENT_SECRET);const actions = scalekit.actions;
// Authenticate the userconst { link } = await actions.getAuthorizationLink({ connectionName, identifier,});console.log('🔗 Authorize Airtable:', link);process.stdout.write('Press Enter after authorizing...');await new Promise(r => process.stdin.once('data', r));
// Make a request via Scalekit proxyconst result = await actions.request({ connectionName, identifier, path: '/v0/meta/whoami', method: 'GET',});console.log(result);import scalekit.client, osfrom dotenv import load_dotenvload_dotenv()
connection_name = "airtable" # get your connection name from connection configurationsidentifier = "user_123" # your unique user identifier
# Get your credentials from app.scalekit.com → Developers → Settings → API Credentialsscalekit_client = scalekit.client.ScalekitClient( client_id=os.getenv("SCALEKIT_CLIENT_ID"), client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"), env_url=os.getenv("SCALEKIT_ENV_URL"),)actions = scalekit_client.actions
# Authenticate the userlink_response = actions.get_authorization_link( connection_name=connection_name, identifier=identifier)# present this link to your user for authorization, or click it yourself for testingprint("🔗 Authorize Airtable:", link_response.link)input("Press Enter after authorizing...")
# Make a request via Scalekit proxyresult = actions.request( connection_name=connection_name, identifier=identifier, path="/v0/meta/whoami", method="GET")print(result)