Skip to main content
The OrganizationMemberManagement component gives your customers a single tabbed interface for managing who has access to their Auth0 Organization. Organization administrators can review the current member list with assigned roles, invite new members, and manage pending invitations through the full lifecycle—create, view details, copy the invitation URL, revoke, and revoke-and-resend. With the OrganizationMemberManagement component, you do not need to orchestrate navigation, call API endpoints, or manage state. The component loads the current Organization’s members and pending invitations from the My Organization API automatically.

Setup requirements

Auth0 Configuration Required—Ensure your tenant is configured with the My Organization API. View setup guide →
Removing a member and assigning roles are sensitive mutations that trigger a step-up authentication challenge. Configure your Auth0Provider with interactiveErrorHandler="popup" so the challenge resolves in a popup without losing page state.

Install the component

Running either command also installs the @auth0/universal-components-core dependency for shared utilities and Auth0 integration.
One install covers both React (SPA) and Next.js (RWA). Components are always imported from the root entry @auth0/universal-components-react; only Auth0ComponentProvider uses a framework-specific subpath—@auth0/universal-components-react/spa for React.

Get started

The component has no required props.
React SPA
To let administrators drill into a single member, wire viewMemberDetailsAction to the route that renders the OrganizationMemberDetail component. The action receives { userId, tab }: userId flows through to that component’s required userId prop, and the optional tab tells you which tab the administrator asked for.
React SPA

Props

OrganizationMemberManagement has no required props. It loads the current Organization’s members and pending invitations from the My Organization API automatically.

Display props

Display props control how the component renders without affecting its behavior. Use these to hide sections or enable read-only mode.

Action props

Action props handle user interactions and define what happens when users perform member and invitation operations. Use lifecycle hooks (onBefore, onAfter) to integrate with your application’s routing and analytics.createInvitationActionType: ComponentAction<CreateInvitationInput, MemberInvitation>Controls the invitation-creation flow. Fires when an administrator submits the “Invite member” modal. Use onBefore to validate the invitee list (for example, against a blocklist) and onAfter to track analytics or refetch dependent data.Properties:
  • disabled—Hide the “Invite member” button entirely.
  • onBefore(input)—Runs before the invitation is sent. Return false to cancel. input.invitees is the array of invitees being created (one per row in the modal).
  • onAfter(input, createdInvitation)—Runs after the invitation is successfully created. Receives both the original input and the created invitation record.
Example:

revokeInvitationActionType: ComponentAction<MemberInvitation>Controls the invitation-revoke flow. Fires when an administrator revokes a pending invitation from the invitation list. Receives the invitation record being revoked.Properties:
  • disabled—Hide the revoke option in the invitation row menu.
  • onBefore(invitation)—Runs before the invitation is revoked. Return false to cancel.
  • onAfter(invitation)—Runs after the invitation is revoked. Use this to refresh state outside the component.
Example:

resendInvitationActionType: ComponentAction<MemberInvitation, MemberInvitation>Controls the revoke-and-resend flow. The component revokes the original invitation and creates a new one with the same details. onAfter receives both the old and the new invitation.Properties:
  • disabled—Hide the resend option in the invitation row menu.
  • onBefore(invitation)—Runs before the invitation is resent. Return false to cancel.
  • onAfter(originalInvitation, newInvitation)—Runs after the new invitation is sent.
Example:

viewMemberDetailsActionType: ComponentAction<ViewMemberDetailsParams>Fires when an administrator requests the per-member detail view from the member list. Receives a ViewMemberDetailsParams object—the member’s userId, plus an optional tab ('details' or 'roles') when the request targets a specific tab. The standard wiring is to navigate to the route that renders OrganizationMemberDetail; userId flows through to its required userId prop.Properties:
  • disabled—Hide the “View details” entry in the row’s actions menu.
  • onAfter({ userId, tab })—Runs after the user requests the detail view. Wire this to your router. When tab is present, carry it into the destination URL so the detail view opens on the requested tab.
Example:

removeFromOrganizationActionType: ComponentAction<string>Controls the remove-from-organization flow on a specific member row. Both lifecycle hooks receive the userId string directly.
This action triggers a step-up authentication challenge. Configure your Auth0Provider with interactiveErrorHandler="popup".
Properties:
  • disabled—Hide the remove option in the row menu.
  • onBefore(userId)—Runs before the member is removed. Return false to cancel.
  • onAfter(userId)—Runs after the member is removed. Use this to refresh seat usage or write to an audit log.
Example:

assignRolesActionType: ComponentAction<{ userId: string; roleIds: string[] }>Fires after an administrator assigns one or more roles to a member from the row’s role modal. Both lifecycle hooks receive an object with the userId and the array of roleIds being assigned.Properties:
  • disabled—Hide the assign-roles option.
  • onBefore({ userId, roleIds })—Validate the selection. Return false to cancel.
  • onAfter({ userId, roleIds })—Runs after the roles are assigned. Use this to write to an audit log or refresh role badges.
Example:

Customization props

Customization props let you override default text and apply CSS variables or class names to match your application’s design system.customMessagesCustomize all text and translations rendered by the component. Every field is optional and falls back to the built-in default. Use this prop to localize the component or to align microcopy with your product voice.
header—Component header
  • title, description
tabs—Tab labels
  • members, invitations
member.table—Member table display
  • columns.name, columns.roles, columns.last_login
  • empty_message, search_placeholder
  • filter_by_role, all_roles
member.actions—Member row actions
  • assign_roles, remove_from_organization, view_details
member.assign_roles—Assign roles modal
  • title, description
  • roles_label, roles_placeholder
  • submit_button, cancel_button
member.remove_from_organization—Remove member confirmation
  • title, description
  • confirm_button, cancel_button
invitation.table—Invitation table display
  • columns.email, columns.status, columns.inviter
  • columns.created_at, columns.expires_at, columns.roles
  • empty_message, search_placeholder
  • filter_by_role, all_roles
  • status_pending, status_expired
invitation.create—Create invitation modal
  • title, description
  • email_label, email_placeholder
  • roles_label, provider_label
  • submit_button, cancel_button
invitation.details—Invitation details drawer
  • title, email_label, status_label
  • roles_label, provider_label
  • copy_url_button, revoke_button, resend_button
invitation.error / invitation.success—API responses
  • error.fetch_failed, error.create_failed, error.revoke_failed
  • success.url_copied, success.invitation_resent

stylingCustomize appearance with CSS variables and class overrides. Variables are theme-aware (separate light, dark, and common scopes); class overrides target named slots inside the component tree so you can attach utility or design-system classes without forking the source.
Variables—CSS custom properties
  • common—Applied to all themes
  • light—Light theme only
  • dark—Dark theme only
Classes—Component class overrides
  • OrganizationMemberManagement-root
  • OrganizationMemberManagement-header
  • OrganizationMemberManagement-tabs
  • OrganizationMemberManagement-tableActions
  • OrganizationMemberTab-table
  • OrganizationInvitationTab-table
  • OrganizationInvitationTab-createModal
  • OrganizationInvitationTab-detailsModal
  • OrganizationInvitationTab-revokeModal
  • OrganizationInvitationTab-revokeResendModal

Advanced customization

The OrganizationMemberManagement component is composed of smaller subcomponents and hooks. Import them individually to build custom workflows.

Available subcomponents

Available hooks

These hooks provide the underlying logic without any UI. Use them to build completely custom interfaces while leveraging the Auth0 API integration.