*
* Recoloring the span has been unreliable (Tailwind utility CSS
* specificity quirks, deploy lag), so we just remove the overlay
* entirely with display:none. The anchor's own background then
* becomes the visible color, which is exactly what we want. The
* mobile variant has no overlay span, so display:none on the
* span is a no-op there and the anchor bg wins by default.
*/
#navbar a[href="https://app.nango.dev/signup"] {
background-color: #29abe3 !important;
background-image: none !important;
border: 1px solid #29abe3 !important;
color: #ffffff !important;
}
#navbar a[href="https://app.nango.dev/signup"] > span:first-child,
#navbar a[href="https://app.nango.dev/signup"] span.absolute,
#navbar a[href="https://app.nango.dev/signup"] span[class*="bg-primary"] {
display: none !important;
}
#navbar a[href="https://app.nango.dev/signup"]:hover {
background-color: #217ea6 !important;
border-color: #217ea6 !important;
color: #ffffff !important;
}
/* ══ HIDE BOTTOM CHAT ASSISTANT INPUT ════════════════════════════ */
/*
* Mintlify pins an "Ask a question..." chat-assistant input at the
* bottom of every doc page. The navbar already has a separate Ask AI
* button, so this bottom input is redundant. Mintlify doesn't expose
* a docs.json toggle for it.
*
* Two layers needed:
* 1. The floating input bar itself (.chat-assistant-floating-input).
* 2. Its rounded-2xl wrapper div — which also appears identically
* inside the Ask AI sidebar panel, so the rule must be scoped to
* #content-area to avoid hiding the panel's own input container.
*
* Do NOT use [class*="chat-assistant"] (hides the panel) or
* #chat-assistant-textarea (that ID is duplicated on the panel
* textarea and would hide it too).
*/
.chat-assistant-floating-input,
#content-area div.rounded-2xl.pointer-events-auto[class*="bg-background-light"] {
display: none !important;
}
🚀 Quickstart
Connect to Airtable with Nango and see data flow in 2 minutes.
Authorize Airtable
Go to Connections -> Add Test Connection -> Authorize, then log in to Airtable. Later, you’ll let your users do the same directly from your app. Call the Airtable API
Let’s make your first request to the Airtable API (fetch records from a table). Replace the placeholders below with your secret key, integration ID, and connection ID:curl "https://api.nango.dev/proxy/v0/meta/bases" \
-H "Authorization: Bearer <NANGO-SECRET-KEY>" \
-H "Provider-Config-Key: <INTEGRATION-ID>" \
-H "Connection-Id: <CONNECTION-ID>"
Install Nango’s backend SDK with npm i @nangohq/node. Then run:import { Nango } from '@nangohq/node';
const nango = new Nango({ secretKey: '<NANGO-SECRET-KEY>' });
const res = await nango.get({
endpoint: '/v0/meta/bases',
providerConfigKey: '<INTEGRATION-ID>',
connectionId: '<CONNECTION-ID>'
});
console.log(res.data);
Or fetch credentials with the Node SDK or API.✅ You’re connected! Check the Logs tab in Nango to inspect requests. Implement Nango in your app
Follow our Auth implementation guide to integrate Nango in your app.To obtain your own production credentials, follow the setup guide linked below.
📚 Airtable Integration Guides
Nango maintained guides for common use cases.
Official docs: Airtable Web API Documentation
🧩 Pre-built syncs & actions for Airtable
Enable them in your dashboard. Extend and customize to fit your needs.
Others
| Function name | Description | Type | Source code |
|---|
bases | Sync Airtable bases visible to the authenticated user. | Sync | 🔗 Github |
records | Sync Airtable records for a specific base and table. | Sync | 🔗 Github |
tables | Sync Airtable table schemas across bases in scope. | Sync | 🔗 Github |
views | Sync Airtable views for bases and tables in scope. | Sync | 🔗 Github |
webhooks | Sync Airtable webhooks configured on bases in scope | Sync | 🔗 Github |