> ## Documentation Index
> Fetch the complete documentation index at: https://docs.attio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# App SDK

<Update label="v1.1.0" description="2026-09-14">
  ### Added

  * Added [pages](https://docs.attio.com/sdk/pages/overview). `Extensions.definePage` defines a full
    page of your app, default-exported from `src/app/pages/<slug>/page.tsx`. Pages are listed under
    Apps in the workspace sidebar and served at `/{workspaceSlug}/apps/{appSlug}/<slug>`.
  * Added [record tabs](https://docs.attio.com/sdk/extensions/record-tab).
    `Extensions.defineExtension({type: "record-tab", ...})` renders a React component as a tab on the
    record pages of the objects you choose.
  * Added [navigation](https://docs.attio.com/sdk/navigation/overview). `Destinations` builds a place
    inside Attio to point the user at: one of your app's pages, a record (optionally on a given tab)
    or your app's settings page. `navigate` takes the user there and `AttioLink` renders a link to it.
  * Added [`Chart`](https://docs.attio.com/sdk/guides/using-charts), with `Chart.Bar`, `Chart.Line`,
    `Chart.Pie`, `Chart.Metric`, `Chart.Funnel` and `Chart.Loading`.
  * Added the layout components [`Card`](https://docs.attio.com/sdk/components/card),
    [`Grid`](https://docs.attio.com/sdk/components/grid),
    [`Stack`](https://docs.attio.com/sdk/components/stack) and
    [`EmptyState`](https://docs.attio.com/sdk/components/empty-state).
</Update>

<Update label="v1.0.4" description="2026-09-10">
  ### Fixed

  * Fixed `Badge` and `StatusBadge` stretching to the full width of their container when placed directly inside a `Section`.
  * Fixed `Badge` rendering as plain text inside dialogs. It now renders as a badge anywhere `StatusBadge` does.

  ### Changed

  * The default app template no longer includes Biome. Newly created apps lint with ESLint
    (`eslint.config.js`, replacing `eslint.attio.config.js`) and format with Prettier.
</Update>

<Update label="v1.0.3" description="2026-09-08">
  ### Changed

  * Production builds (`attio build` and `attio version create`) now minify dependency code from
    `node_modules` and build it with `process.env.NODE_ENV` set to `"production"`, so dev-only
    branches in dependencies are dropped. This shrinks the uploaded bundle. Your own application code
    is left unminified, and `attio dev` is unchanged.
</Update>

<Update label="v1.0.2" description="2026-09-03">
  ### Added

  * Added `ConfigSchema.record(...)` for config that holds any number of keys under a single value
    schema, like a TypeScript `Record<string, TValue>`.
</Update>

<Update label="v1.0.1" description="2026-08-24">
  ### Added

  * Added linting that flags components imported from `attio/client` inside
    `Settings.defineWorkspacePage` callbacks, where components returned by `Settings.useForm` must be
    used instead.

  ### Fixed

  * Fixed a type error when binding `CollectionInput` to an optional array
    (`ConfigSchema.array(...).optional()`).
  * Fixed dev server and bundling issues on `Windows` operating system
</Update>

<Update label="v1.0.0" description="2026-08-11">
  The App SDK is stable. `attio` and `create-attio` were previously published as dated
  `0.0.1-experimental.<date>` builds. From 1.0.0 they follow
  [semantic versioning](https://semver.org/spec/v2.0.0.html), and are always released together at the
  same version.

  ### What stable means

  * Everything exported from `attio`, `attio/client` and `attio/server` will not change incompatibly
    within the 1.x line unless marked as `experimental` or `deprecated`. Breaking changes require a
    new major version.
  * Additive changes ship as minor versions and fixes ship as patches, so `^1.0.0` picks up both.
  * Individual APIs that are still taking shape are marked as experimental in their documentation and
    carry an `Experimental_` prefix. They are excluded from the guarantee above and can change or be
    removed in a minor release. Apps submitted for review
    [must not use them](https://docs.attio.com/share/code-review).

  ### What you can build

  * [Extensions](https://docs.attio.com/sdk/extensions/overview): record actions, bulk record actions,
    record widgets, object actions and call recording text actions.
  * [Workflow blocks](https://docs.attio.com/sdk/workflow-blocks/overview): triggers and steps that
    appear in Attio's workflow builder, each with its own configurator UI.
  * [Workspace settings](https://docs.attio.com/sdk/settings/overview): a settings schema and a
    settings page for your app.
  * [Forms](https://docs.attio.com/sdk/guides/building-forms) and a component library for extension UI.
  * [Queries against Attio data](https://docs.attio.com/sdk/guides/querying-attio-data), server
    functions, [inbound webhooks](https://docs.attio.com/sdk/guides/receiving-http-requests),
    [connections to external services](https://docs.attio.com/sdk/guides/authenticating-to-external-services)
    and a key-value store.

  If you have not built on Attio before, start with
  [creating an app](https://docs.attio.com/sdk/guides/creating-an-app).
</Update>
