OrganizationMemberManagement component provides a unified interface to manage members and invitations for your organization.
- React
- Next.js
- shadcn
Setup requirements
Auth0 Configuration Required—Ensure your tenant is configured with the My Organization API. View setup guide →
Installation
pnpm
Get started
viewMemberDetailsAction to navigate to the route hosting OrganizationMemberDetail:Full integration example
Full integration example
Props
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.
createInvitationAction
Type:
ComponentAction<CreateInvitationInput, MemberInvitation>
Controls invitation creation (up to 10 invitees per request).
onBefore(input)runs synchronously before sending. Returnfalseto cancel.onAfter(input, createdInvitation)runs after the invitation is created.
GET /my-org/identity-providers(filters for eligible member access levels)GET /my-org/user-stores(filters foris_enabled: true)
createInvitationAction routes using exactly one applicable identifier based on the selected connection type:
- Enterprise SSO connection selected: the payload populates
identity_provider_id. - User Store / Directory connection selected: the payload populates
user_store_id.
- Auto-selection: If an organization has only one eligible connection, that connection is selected by default and remains editable.
- Zero connections: If no eligible connections exist, the invitation entry point is disabled and displays explanatory feedback.
- Revoke and resend: The revoke-and-resend flow preserves the original connection routing source (
user_store_idoridentity_provider_id). - Connection eligibility: The invitation picker includes connections configured with a
limitedorfullmember access level.
ComponentAction<MemberInvitation[]>
Controls invitation revocation (supports single and bulk revocations up to 10 invitations per batch).
onBefore(invitations)confirms before revoking. Returnfalseto cancel.onAfter(invitations)runs after invitations are revoked.
ComponentAction<MemberInvitation, MemberInvitation>
Controls the revoke-and-resend flow.
onBefore(invitation)confirms before resending. Returnfalseto cancel.onAfter(original, newInvitation)runs after a fresh invitation is created.
ComponentAction<ViewMemberDetailsParams>
Fires when selecting a member row or roles badge. Receives { userId, tab }. Wire this to navigate to OrganizationMemberDetail.
onAfter({ userId, tab })runs on selection. Preservetabin your router URL to open the requested tab directly.
ComponentAction<string>
Controls member removal from the organization (membership only; does not delete the user profile from the Auth0 user store). Both hooks receive the userId.
onBefore(userId)confirms before removal. Returnfalseto cancel.onAfter(userId)runs after removal.
ComponentAction<{ userId: string; roleIds: string[] }>
Fires after assigning roles from the row modal. Role selections are capped at 10 roles per assignment request, and an individual member can have up to 50 total roles assigned. Both hooks receive { userId, roleIds }.
onBefore({ userId, roleIds })validates selection. Returnfalseto cancel.onAfter({ userId, roleIds })runs after roles are assigned.
Customization props
customMessages
Override bundled component text. Every field is optional and falls back to the built-in default.
Common message groups
Common message groups
header—Component header
title,description
members,invitations
- Text displayed when member or invitation count exceeds 1,000 items
columns.name,columns.roles,columns.last_loginempty_message,search_placeholder
menu_label,remove_from_organization,view_details
title,descriptionroles_label,roles_placeholdersubmit_button,cancel_button,no_roles_available
title,descriptionconfirm_button,cancel_button
success.removed_from_organization,success.role_assignederror.fetch_failed,error.assign_roles_failed,error.remove_from_organization_failed
columns.email,columns.status,columns.invitercolumns.created_at,columns.expires_at,columns.rolesempty_message,search_placeholder,showing_resultsstatus_pending,status_expired
menu_label,view_details,copy_url,revoke_and_resend,revoke
title,descriptionemail_label,email_placeholder,email_helperemail_limit_error,email_invalid_error,email_duplicate_error,email_required_errorroles_label,roles_placeholder,roles_max_selection_message,roles_searching_messageconnection_label,connection_placeholder,connection_helperconnection_group_user_store,connection_group_identity_providersubmit_button,creating,cancel_button
title,email_label,status_labelroles_label,connection_labelcreated_at_label,expires_at_label,invited_by_label,invitation_url_labelcopy_url_button,close_button,revoke_button,resend_button
revoke.title,revoke.description,revoke.confirm_button,revoke.cancel_buttonrevoke_resend.title,revoke_resend.description,revoke_resend.confirm_button,revoke_resend.cancel_button
button,button_plural,count,count_plural,success,max_selection_messageconfirm.title,confirm.title_plural,confirm.description,confirm.description_pluralconfirm.confirm_button,confirm.confirm_button_plural,confirm.cancel_button
success.url_copied,success.invitation_resenterror.fetch_failed,error.fetch_roles_failed,error.create_failederror.revoke_failed,error.resend_failed,error.revoke_resend_failederror.bulk_revoke_failed,error.connection_required,error.copy_url_failed
styling Customize appearance with CSS variables and class overrides. Variables support
light, dark, and common scopes. Class overrides target named slots inside the component tree.
Available styling options
Available styling options
Variables—CSS custom properties
common—Applied to all themeslight—Light theme onlydark—Dark theme only
OrganizationMemberManagement-rootOrganizationMemberManagement-headerOrganizationMemberManagement-tabsOrganizationInvitationTab-rootOrganizationInvitationTab-tableOrganizationInvitationTab-createModalOrganizationInvitationTab-detailsModalOrganizationInvitationTab-revokeModalOrganizationInvitationTab-revokeResendModalOrganizationInvitationTab-bulkRevokeModalOrganizationInvitationTab-searchInputOrganizationInvitationTab-filterDropdownOrganizationInvitationTab-pagination