Building "AI-native business apps" on a platform with a real extension surface
Airtable positions itself as an "AI-native app platform" for building operational software on top of shared data (bases), with extensibility spanning in-product extensions, scripts, and a public Web API for external integrations.
Why Airtable's extensibility matters (business + ecosystem impact)
-
Enterprise reach creates a big surface area for third-party value. Airtable says it has enabled 500,000+ organisations, including 80% of the Fortune 100—which is exactly the kind of distribution that makes a marketplace and developer tooling strategically meaningful.
-
Extensions turn a database into a "workflow workbench." Airtable describes extensions as modular add-ons that "live on top" of bases and help teams analyse, enrich, visualise, and take action on their data.
-
Marketplace density ("hundreds") reduces churn and increases stickiness. Airtable's own materials describe the Extension/Marketplace inventory as "hundreds" of extensions and scripts (with a mix of Airtable-built and third-party/community-built tools).
Milestones and platform evolution (quick timeline)
-
Circa 2018: "Blocks" launched as in-base modular tools.
-
2020: Airtable launched an Apps Marketplace and renamed Blocks → Apps.
-
2022: Airtable renamed Apps → Extensions to reduce ambiguity and signal a broader future surface area (views, interfaces, etc.).
-
2023: Airtable announced its Connected Apps Platform as a next-generation app-building direction (AI included).
-
2025: Airtable announced a relaunch framing itself as "AI-native," emphasising AI agents and scale.
Key extensibility building blocks
-
Extensions (Blocks SDK): Build rich UI extensions that run inside Airtable. Airtable provides a review process for Marketplace submissions and a developer guide set.
-
Scripting: Lightweight JavaScript scripting for automations and workflow helpers; Airtable also introduced script templates discoverable via Marketplace.
-
Web API + OAuth: External integrations can use personal access tokens or OAuth (registered OAuth integrations) depending on the use case.
-
Monetisation model (pragmatic + flexible): Airtable's Extensions FAQ explicitly notes you can independently monetise your extension (for example, via your own channels) and have users validate using an API key—i.e., monetisation is not strictly "inside the marketplace."
Let's Build on Airtable
Airtable's most "plugin-platform-like" surface is
Extensions (built with the Blocks SDK). Below is a minimal "Hello World" walkthrough that follows Airtable's official flow (CLI-driven local dev, run inside a base, then optionally submit for Marketplace review).
What we'll build
A tiny extension UI that renders:
- a friendly Hello, \ (using the current Airtable user), and
- the Base name it's running inside
1. Prerequisites (from Airtable's Getting Started)
- An Airtable account + a base you can use for development
- Node.js tooling (and the Airtable Blocks CLI)
2. Install the Blocks CLI
npm install -g @airtable/blocks-cli
You'll use this CLI to initialise, run, and deploy your extension.
3. Initialise a new extension project
Create a folder, then initialise:
mkdir airtable-hello-extension
cd airtable-hello-extension
block init
During init, the CLI will guide you to connect the project to a base and set up a remote target so the extension can run in Airtable.
4. Implement "Hello, \" + Base name
In the generated project, you'll have a React entry (commonly
frontend/index.js or similar depending on the scaffold). Replace the main component with something like:
import React from "react";
import { initializeBlock, useBase, useCurrentUser } from "@airtable/blocks/ui";
function HelloExtension() {
const base = useBase();
const user = useCurrentUser();
const name =
user?.name ||
user?.email ||
"there";
return (
<div style={{ padding: 12, fontFamily: "system-ui, -apple-system, sans-serif" }}>
<h2 style={{ margin: 0 }}>Hello, {name} 👋</h2>
<p style={{ marginTop: 8 }}>
You're running inside: <strong>{base.name}</strong>
</p>
</div>
);
}
initializeBlock(() => <HelloExtension />);
This uses the Blocks SDK UI hooks to access runtime context (current base + user) inside Airtable.
5. Run it inside your base
Start the dev server:
block run
Then, in Airtable, open your base →
Tools →
Extensions →
Add an extension →
Build a custom extension (Airtable's UI flow).
6. (Optional) Prepare for Marketplace submission
If you want to publish broadly, Airtable documents an
extension review process for Marketplace submissions.
Reference Documentation