2026-09-14
Added
- Added pages.
Extensions.definePagedefines a full page of your app, default-exported fromsrc/app/pages/<slug>/page.tsx. Pages are listed under Apps in the workspace sidebar and served at/{workspaceSlug}/apps/{appSlug}/<slug>. - Added record tabs.
Extensions.defineExtension({type: "record-tab", ...})renders a React component as a tab on the record pages of the objects you choose. - Added navigation.
Destinationsbuilds 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.navigatetakes the user there andAttioLinkrenders a link to it. - Added
Chart, withChart.Bar,Chart.Line,Chart.Pie,Chart.Metric,Chart.FunnelandChart.Loading. - Added the layout components
Card,Grid,StackandEmptyState.
2026-09-10
Fixed
- Fixed
BadgeandStatusBadgestretching to the full width of their container when placed directly inside aSection. - Fixed
Badgerendering as plain text inside dialogs. It now renders as a badge anywhereStatusBadgedoes.
Changed
- The default app template no longer includes Biome. Newly created apps lint with ESLint
(
eslint.config.js, replacingeslint.attio.config.js) and format with Prettier.
2026-09-08
Changed
- Production builds (
attio buildandattio version create) now minify dependency code fromnode_modulesand build it withprocess.env.NODE_ENVset to"production", so dev-only branches in dependencies are dropped. This shrinks the uploaded bundle. Your own application code is left unminified, andattio devis unchanged.
2026-09-03
Added
- Added
ConfigSchema.record(...)for config that holds any number of keys under a single value schema, like a TypeScriptRecord<string, TValue>.
2026-08-24
Added
- Added linting that flags components imported from
attio/clientinsideSettings.defineWorkspacePagecallbacks, where components returned bySettings.useFormmust be used instead.
Fixed
- Fixed a type error when binding
CollectionInputto an optional array (ConfigSchema.array(...).optional()). - Fixed dev server and bundling issues on
Windowsoperating system
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, and are always released together at the
same version.What stable means
- Everything exported from
attio,attio/clientandattio/serverwill not change incompatibly within the 1.x line unless marked asexperimentalordeprecated. Breaking changes require a new major version. - Additive changes ship as minor versions and fixes ship as patches, so
^1.0.0picks 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.
What you can build
- Extensions: record actions, bulk record actions, record widgets, object actions and call recording text actions.
- Workflow blocks: triggers and steps that appear in Attio’s workflow builder, each with its own configurator UI.
- Workspace settings: a settings schema and a settings page for your app.
- Forms and a component library for extension UI.
- Queries against Attio data, server functions, inbound webhooks, connections to external services and a key-value store.