Connect Airtable
Connecting Airtable links your Airtable workspace to SKU.io so you can push products, inventory, and orders into Airtable bases. SKU.io connects as a client to your Airtable account, so the flow runs entirely from an Airtable authorization popup — there is no middleware to install and no API key to paste.
Before you begin
- You need an Airtable account with permission to grant third-party access to the bases you want to sync.
- Allow popups for SKU.io in your browser. The connect flow opens Airtable's authorization screen in a popup window, and a blocked popup stops the connection.
- You reach the integration at Apps & Integrations → Airtable.
Steps
- Go to Apps & Integrations → Airtable. If no account is connected yet, you see a centered Connect your Airtable account empty state.
- Select Connect Airtable. SKU.io opens a 600×700 Airtable authorization popup and the button shows a connecting spinner.
- In the popup, sign in to Airtable if prompted, then review the access SKU.io is requesting and choose Grant access (Airtable's own button). This is where you decide which bases SKU.io may reach.
- Wait for the popup to return. It briefly shows an Authorization Successful card, then closes itself after about a second.
- Confirm the connection landed. SKU.io shows an Airtable connected successfully! toast, a green Connected status chip appears in the header, and the five-tab strip — Dashboard, Datasets, Inbound, Activity, Settings — becomes available. The account you connected is now the active one.
SKU.io runs a standard OAuth 2.0 authorization flow in the popup and stores the resulting tokens for you — you never handle any of it. For the token-exchange details, see How Airtable sync works.
Connect another account
You can connect more than one Airtable account (for example, a personal workspace and a team workspace).
- From any Airtable tab, find the header at the top of the page.
- Select the outlined Connect another account button.
- Complete the same Airtable authorization popup as above. When it returns, SKU.io adds the new connection and jumps the account switcher to it.
Once you have two or more connected accounts, an account switcher (labelled by email) appears in the header. Pick an account there to scope every tab to that connection. Your choice is mirrored to the ?instance= value in the page URL, so it survives a refresh and can be bookmarked.
Reconnect a connection
Airtable access tokens can expire or be revoked on Airtable's side. When that happens, the connection needs re-authorizing rather than replacing — reconnecting re-grants access to the same connection and keeps all its sync mappings.
- Open the connection you need to fix. Its status chip reads Needs reconnect (amber) in the header, or you can go to the Settings tab.
- Select Reconnect. On the header this button appears next to the status chip; on the Settings tab it sits beside the connection's status in the Connection card.
- Complete the Airtable authorization popup. SKU.io re-runs OAuth against the existing connection, so nothing is duplicated and your mappings stay intact.
A fresh connect that fails during the token exchange is rolled back — the half-created connection is deleted so you never end up with an orphaned row. A reconnect that fails leaves the existing connection in place so you can try again.
Check a connection's status and scopes
SKU.io re-checks a stored token against Airtable on its own whenever it talks to Airtable, refreshing the account email and granted scopes it shows you. There is no verify or recheck button to press — the connection re-verifies automatically.
- Go to the Settings tab for the connection. It shows the granting account's email, a plain-language status line (for a healthy connection, Your Airtable token is healthy and syncing.), and the Disconnect control in the Danger Zone.
- To see which scopes you granted, open the Dashboard tab, where SKU.io lists the granted scopes for the active connection.
If a token has expired or been revoked, the status line and the header chip change to Needs reconnect — follow Reconnect a connection to restore access.
Disconnect a connection
Disconnecting removes the connection and every sync mapping tied to it. It cannot be undone.
- Go to the Settings tab for the connection you want to remove.
- Scroll to the red Danger Zone card and select Disconnect.
- In the confirmation dialog — titled Disconnect Airtable? — read the warning that this permanently removes the connection and every sync mapping, and that you will need to reconnect to sync again.
- Select Disconnect to confirm, or Cancel to keep the connection.
- Wait for the Airtable disconnected. toast. SKU.io returns you to the Airtable landing page.
Disconnecting cascade-deletes the connection along with its mappings, record links, and any queued changes. Airtable exposes no token-revocation endpoint, so SKU.io does not "log out" of Airtable — it deletes its own connection row, which makes the stored tokens inert. Your Airtable bases and their data are left completely untouched.
Connection statuses
The header and the Settings → Connection card both show a status chip. Use this table to read it.
| Status | Chip label | What it means | Description shown in Settings |
|---|---|---|---|
| Connected | Connected (green) | The token is stored and healthy; this connection is usable and jobs will sync it. | Your Airtable token is healthy and syncing. |
| Needs reauth | Needs reconnect (amber) | The token expired or was revoked; select Reconnect to resume. | Your Airtable token expired — reconnect to resume syncing. |
| Error | Error (red) | The last connection attempt failed. | The last connection attempt failed. Reconnect to retry. |
| Disconnected | Disconnected (grey) | No usable connection resolves (the fallback state, including while the page is still loading). | Not connected. |
Only a Connected connection with a stored token is usable — sync jobs skip any connection that is not connected.
What you may notice in the interface
- Loading states. While SKU.io loads your connections, an indeterminate progress bar shows under the header. KPI values, dataset rows, base and table pickers, and recent-sync lists render skeleton placeholders while they fetch, so the layout does not jump. If nothing resolves, the status chip falls back to a grey Disconnected.
- The callback page. The popup briefly lands on a layout-less Authorization Successful (or Authorization Failed) card. It posts the result back to the main window and auto-closes after about a second, so you normally only glimpse it.
- If the popup is blocked. SKU.io shows an error toast asking you to allow popups for this site, and the connecting spinner stops.
- If you close the popup early. SKU.io detects the closed window and stops the connecting spinner — nothing is created.
- If authorization fails. SKU.io shows an error toast carrying Airtable's own error message.
Token-endpoint traffic (the code exchange and refresh) runs through a dedicated connector that redacts access tokens, refresh tokens, authorization codes, and the Basic credential before anything is written to SKU.io's API logs. Secrets never land in the log.
Connecting Airtable makes SKU.io a client of your Airtable workspace; it is separate from SKU.io's own OAuth server and Personal Access Tokens (where SKU.io is the server). See How Airtable sync works for the full distinction.
Next steps
- Create an Ops Hub base — let SKU.io provision a ready-made Airtable base for you in one click.
- Sync data to Airtable — map a dataset to an Airtable table and push your records.
- How Airtable sync works — the outbound record lifecycle, end to end.
- Airtable integration overview — the datasets you can sync and what the integration does.
Video transcript
To connect Airtable, go to Apps & Integrations, open Airtable, and select Connect Airtable. A secure Airtable window opens where you sign in and grant SKU.io access to your workspace. Once you approve, the Dashboard shows your connected account, the connection status, your monthly Airtable API usage, and the exact scopes you granted. From the Settings tab you can reconnect if your access ever expires, or disconnect — which removes the connection and all of its sync mappings.