Use Settings Adapters
React hooks for integrating authentication and workspace settings into Notion's Settings Panel.
Installation
Supported Features
- Account settings
- Change password
- Logged in sessions
- Passkeys management
- Link social accounts
- Theme select
- Localization support for
EN,DE,ES - Timezone support
- Update/delete/leave workspace
- Members & scopes management
- Teamspaces management
- Billing & subscription management
- Custom emoji management
- Workspace icon upload
Usage
Settings Panel
You can see Notion Authn for a full example.
import { useSettingsAdapters } from "@notion-kit/auth-ui";
function Settings() {
const [tab, setTab] = useState<TabType>("account");
const adapters = useSettingsAdapters();
return (
<SettingsProvider adapters={adapters}>
<SettingsPanel>
<SettingsSidebar>
<SettingsSidebarPreset tab={tab} onTabChange={setTab} />
</SettingsSidebar>
<SettingsContent>
<SettingsBodyPreset tab={tab} onTabChange={setTab} />
</SettingsContent>
</SettingsPanel>
</SettingsProvider>
);
}API Reference
useSettingsAdapters
Note
It should be used within the <AuthProvider> context.
Returns a SettingsAdapters object containing domain-specific adapters for account, sessions, passkeys, connections, workspace, people, invitations, teamspaces, emoji, and billing.
It also provides an uploadFile handler for workspace icon uploads via Supabase Storage.
Each adapter provides query (getAll) and mutation methods for its domain. All adapters are optional — include only the ones your application supports.
Individual Adapter Hooks
You can also use individual adapter hooks for more granular control:
| Hook | Returns |
|---|---|
useAccountAdapter | AccountAdapter |
useSessionsAdapter | SessionsAdapter |
usePasskeysAdapter | PasskeysAdapter |
useConnectionsAdapter | ConnectionsAdapter |
useWorkspaceAdapter | WorkspaceAdapter |
usePeopleAdapter | PeopleAdapter |
useInvitationsAdapter | InvitationsAdapter |
useTeamspacesAdapter | TeamspacesAdapter |
useBillingAdapter | BillingAdapter |
useEmojiAdapter | EmojiAdapter |
See schema definitions for: