Skip to main content

<OrganizationProfile /> component

Theme

The <OrganizationProfile /> component allows users to manage their Organization membership, security, and Billing settings.

This component's General tab displays the Organization's information and the Leave organization button. Admins will be able to see the Update profile button, Verified domains section, and Delete organization button.

The Members tab shows the Organization's members along with their join dates and Roles. Admins will have the ability to invite a member, change a member's Role, or remove them from the Organization. Admins will have tabs within the Members tab to view the Organization's invitations and requests.

The Billing tab displays the Plans and Features that are available to the Organization, as well as the user's billing information, such as their invoices and payment methods.

The Security tab appears only when self-serve SSO is enabled for the Organization in the Clerk Dashboard. From this tab, admins with the org:sys_entconns:manage permission can configure and manage the Organization's enterprise SSO connection.

Example

The following example includes a basic implementation of the <OrganizationProfile /> component. You can use this as a starting point for your own implementation.

src/routes/organization-profile.tsx
import { OrganizationProfile } from '@clerk/chrome-extension'

export default function OrganizationProfilePage() {
  return <OrganizationProfile />
}

Properties

The <OrganizationProfile /> component accepts the following properties, all of which are optional:

  • Name
    appearance?
    Type
    Appearance | undefined
    Description

    An object to style your components. Will only affect Clerk components and not Account Portal pages.

  • Name
    afterLeaveOrganizationUrl?
    Type
    string
    Description

    The full URL or path to navigate to after leaving an Organization.

  • Name
    customPages?
    Type
    CustomPages[]
    Description

    An array of custom pages to add to the Organization profile. Only available for the JavaScript SDKJavaScript Icon. To add custom pages with React-based SDK's, see the dedicated guide.

  • Name
    fallback?
    Type
    ReactNode
    Description

    An element to be rendered while the component is mounting.

  • Name
    path?
    Type
    string
    Description

    The path where the component is mounted on when routing is set to path. It is ignored in hash- and virtual-based routing.
    For example: /organization-profile.

  • Name
    routing?
    Type
    'hash' | 'path'
    Description

    The routing strategy for your pages.
    Defaults to 'path' for frameworks that handle routing, such as Next.js. Defaults to hash for all other SDK's, such as React.

Warning

This API is experimental and may undergo breaking changes. It is exported from @clerk/ui/experimental and is not covered by semantic versioning, so its components, names, and props are subject to change in future releases. It is recommended to pin the @clerk/ui version.

Rather than render the full <OrganizationProfile /> component, you can assemble your own Organization management page from smaller building blocks. Wrap them in an <OrganizationProfileProvider> and render only the panels and sections you need, in whatever order suits your app. An is required. Without one, <OrganizationProfileProvider> renders nothing.

The composable components are imported from @clerk/ui, which isn't included with your Clerk SDK — install it as a direct dependency:

npm install @clerk/ui
pnpm add @clerk/ui
yarn add @clerk/ui
bun add @clerk/ui
import {
  OrganizationProfileProvider,
  OrganizationProfileGeneralPanel,
  OrganizationProfileProfileSection,
  OrganizationProfileDomainsSection,
} from '@clerk/ui/experimental'

export default function OrganizationProfilePage() {
  return (
    <OrganizationProfileProvider>
      <OrganizationProfileGeneralPanel>
        <OrganizationProfileProfileSection />
        <OrganizationProfileDomainsSection />
      </OrganizationProfileGeneralPanel>
    </OrganizationProfileProvider>
  )
}

Rendering a panel without children renders its built-in page content, the same sections the default <OrganizationProfile /> renders on that page. The composed components don't include <OrganizationProfile />'s navigation, so your app owns the layout and how users move between panels.

Customization

To learn about how to customize Clerk components, see the customization documentation.

In addition, you also can add custom pages and links to the <OrganizationProfile /> navigation sidenav. For more information, refer to the Custom Pages documentation.

Feedback

What did you think of this content?

Last updated on