clerk-orgs
Multi-tenant B2B SaaS with organization switching, role-based access control, and enterprise SSO.
- Supports dynamic org-based routing via URL slugs, role-based access checks (
org:admin,org:member), and custom role creation through the dashboard - Includes OrganizationSwitcher component for user-facing org selection and
<Show>conditional rendering for role-gated UI - Provides server-side organization context via
auth()helper with membership verification and permission checks - Enables Enterprise SSO (SAML/OIDC) for organization-wide authentication and verified domain support
- Requires Organizations enabled in Clerk Dashboard before use; Core 2 SDK has different APIs for session tasks and billing checks
Organizations (B2B SaaS)
STOP — prerequisite. Organizations must be enabled before any org-related API, hook, or component works. Two paths: (1) Dashboard → Organizations settings, or (2)
clerk enable orgs(see "Agent-first: Programmatic org management" below). Pick the Membership mode deliberately:Membership required(default since 2025-08-22) routes signed-in users through thechoose-organizationtask and disables personal accounts, whileMembership optionalkeeps personal accounts available for B2C + B2B coexistence. Pickoptionalif you need personal subscriptions alongside org subscriptions.Version: This skill targets current SDKs (
@clerk/nextjsv7+,@clerk/reactv6+ — Core 3). Core 2 differences are noted inline with> **Core 2 ONLY (skip if current SDK):**callouts — seeclerkskill for the full version table.
Quick Start
- Enable Organizations — via Dashboard → Organizations settings or
clerk enable orgs(see Agent-first section). PickMembership required(B2B-only) orMembership optional(B2C + B2B). - Create an org — via
<OrganizationSwitcher />,<CreateOrganization />, or programmatically withclerkClient().organizations.createOrganization(). - Protect routes — read
orgId/orgSlugfromauth()and gate withhas({ role })orhas({ permission }). - Manage members — send invitations via Backend API or the built-in
<OrganizationProfile />tab. - Cap membership — set
maxAllowedMembershipsat org creation or pick a seat-limited Billing Plan (seeclerk-billingskill).
What Do You Need?
| Task | Reference |
|---|---|
| System permissions catalog, custom roles, role sets | references/roles-permissions.md |
More from clerk/skills
clerk-nextjs-patterns
Advanced Next.js patterns - middleware, Server Actions, caching with
11.2Kclerk
Clerk authentication router. Use when user asks about adding authentication,
7.8Kclerk-setup
Add Clerk authentication to any project by following the official quickstart
7.0Kclerk-custom-ui
Custom authentication flows and component appearance - hooks (useSignIn,
6.7Kclerk-webhooks
Clerk webhooks for real-time events and data syncing. Verify with verifyWebhook
6.1Kclerk-testing
E2E testing for Clerk apps. Use with Playwright or Cypress for auth flow
5.8K