Organizations
Org switcher, member lists, invites, roles, and profile surfaces.
The full organizations UI stack — switcher, creation, member management, invitations, roles, and the org profile surface.
ConvexCreateOrganization
Props
| Name | Type | Optional | Description |
|---|---|---|---|
classNames |
ConvexCreateOrganizationClassNames |
Yes | |
copy |
ConvexCreateOrganizationCopy |
Yes | |
defaultImageUrl |
string | None |
Yes | |
defaultName |
string |
Yes | |
defaultSlug |
string |
Yes | |
errorMessage |
string | None |
Yes | |
isLoading |
boolean |
Yes | |
onCancel |
() => void |
Yes | |
onCreate |
(input: ConvexCreateOrganizationInput) => void | Promise<void> |
Yes | |
renderHeader |
(args: __type) => ReactNode |
Yes |
classNames keys
| Key | Type |
|---|---|
actions |
string |
body |
string |
card |
string |
description |
string |
errorBanner |
string |
field |
string |
header |
string |
helper |
string |
input |
string |
label |
string |
primaryButton |
string |
secondaryButton |
string |
title |
string |
copy keys
| Key | Type |
|---|---|
cancelLabel |
string |
createLabel |
string |
creatingLabel |
string |
description |
string |
imageUrlLabel |
string |
imageUrlPlaceholder |
string |
invalidSlugError |
string |
nameLabel |
string |
namePlaceholder |
string |
nameRequiredError |
string |
slugHelper |
string |
slugLabel |
string |
slugPlaceholder |
string |
slugRequiredError |
string |
title |
string |
ConvexOrganizationInvitationLinkNotice
No props.
ConvexOrganizationInviteForm
Generics: <Role>
Props
| Name | Type | Optional |
|---|---|---|
classNames |
ConvexOrganizationMembersClassNames |
Yes |
copy |
ConvexOrganizationInviteFormCopy |
Yes |
disabled |
boolean |
Yes |
inviting |
boolean |
No |
onEmailChange |
(value: string) => void |
No |
onRoleTemplateChange |
(value: Role) => void |
No |
onSubmit |
() => void |
No |
roleOptions |
readonly Role[] |
No |
state |
ConvexOrganizationInviteFormState<Role> |
No |
classNames keys
| Key | Type |
|---|---|
actions |
string |
form |
string |
formGrid |
string |
input |
string |
label |
string |
labelText |
string |
list |
string |
listCard |
string |
listContent |
string |
listHeader |
string |
memberDetails |
string |
memberEmail |
string |
memberMetadata |
string |
memberName |
string |
primaryButton |
string |
primaryButtonDisabled |
string |
secondaryButton |
string |
secondaryButtonDisabled |
string |
select |
string |
stateText |
string |
status |
string |
copy keys
| Key | Type |
|---|---|
emailLabel |
string |
emailPlaceholder |
string |
roleLabel |
string |
submitLabel |
string |
submittingLabel |
string |
ConvexOrganizationMemberActionErrorNotice
No props.
ConvexOrganizationMemberList
Generics: <Role, MemberId>
Props
| Name | Type | Optional | Description |
|---|---|---|---|
canManageMembers |
boolean |
Yes | |
canManageRoles |
boolean |
Yes | |
classNames |
ConvexOrganizationMembersClassNames |
Yes | |
copy |
ConvexOrganizationMembersCopy |
No | |
formatTimestamp |
(timestamp: number) => string |
Yes | |
members |
readonly ConvexOrganizationMemberListItem<MemberId>[] | undefined |
No | |
mutatingMemberId |
MemberId | None |
Yes | |
onReactivate |
(membershipId: MemberId) => void |
Yes | |
onRoleChange |
(membershipId: MemberId, roleTemplate: Role) => void |
Yes | |
onSuspend |
(membershipId: MemberId) => void |
Yes | |
renderStatus |
(status: ConvexOrganizationMemberStatus) => ReactNode |
Yes | |
roleOptions |
readonly Role[] |
No |
classNames keys
| Key | Type |
|---|---|
actions |
string |
form |
string |
formGrid |
string |
input |
string |
label |
string |
labelText |
string |
list |
string |
listCard |
string |
listContent |
string |
listHeader |
string |
memberDetails |
string |
memberEmail |
string |
memberMetadata |
string |
memberName |
string |
primaryButton |
string |
primaryButtonDisabled |
string |
secondaryButton |
string |
secondaryButtonDisabled |
string |
select |
string |
stateText |
string |
status |
string |
copy keys
| Key | Type |
|---|---|
emptyMessage |
string |
lastOwnerDisabledLabel |
string |
loadingMessage |
string |
reactivateLabel |
string |
reactivatingLabel |
string |
roleLabel |
string |
statusLabel |
string |
suspendingLabel |
string |
suspendLabel |
string |
unknownMemberLabel |
string |
ConvexOrganizationMembersSurface
Generics: <Role, MemberId, OrganizationId, InvitationId>
Props
| Name | Type | Optional | Description |
|---|---|---|---|
canManageMembers |
boolean |
Yes | |
canManageRoles |
boolean |
Yes | |
captureEvent |
(name: string, properties: Record<string, unknown>) => void |
Yes | |
classNames |
ConvexOrganizationMembersClassNames |
Yes | |
confirmSuspendMember |
(args: __type) => boolean | Promise<boolean> |
Yes | |
copy |
ConvexOrganizationMembersSurfaceCopy |
Yes | |
defaultInviteRoleTemplate |
Role |
Yes | |
getErrorMessage |
(error: unknown, fallback: string) => string |
Yes | |
organizationId |
OrganizationId |
Yes | |
refs |
ConvexOrganizationMemberFunctionReferences<Role, MemberId, OrganizationId, InvitationId> |
No | |
renderActionError |
(message: string) => ReactNode |
Yes | |
renderInvitationLink |
(args: __type) => ReactNode |
Yes | |
renderStatus |
(status: ConvexOrganizationMemberStatus) => ReactNode |
Yes | |
roleOptions |
readonly Role[] |
No |
classNames keys
| Key | Type |
|---|---|
actions |
string |
form |
string |
formGrid |
string |
input |
string |
label |
string |
labelText |
string |
list |
string |
listCard |
string |
listContent |
string |
listHeader |
string |
memberDetails |
string |
memberEmail |
string |
memberMetadata |
string |
memberName |
string |
primaryButton |
string |
primaryButtonDisabled |
string |
secondaryButton |
string |
secondaryButtonDisabled |
string |
select |
string |
stateText |
string |
status |
string |
copy keys
| Key | Type |
|---|---|
actionErrorTitle |
string |
invitationLinkTitle |
string |
invite |
ConvexOrganizationInviteFormCopy |
members |
Partial<ConvexOrganizationMembersCopy> |
ConvexOrganizationList
Props
| Name | Type | Optional | Description |
|---|---|---|---|
classNames |
ConvexOrgListClassNames |
Yes | |
copy |
ConvexOrgListCopy |
Yes | |
currentOrganizationId |
string | None |
Yes | |
invitations |
readonly ConvexOrgListInvitation[] |
Yes | |
isLoading |
boolean |
Yes | |
onAcceptInvitation |
(invitationId: string) => void | Promise<void> |
Yes | |
onCreateOrganization |
() => void | Promise<void> |
Yes | |
onRejectInvitation |
(invitationId: string) => void | Promise<void> |
Yes | |
onSelectOrganization |
(organizationId: string) => void | Promise<void> |
No | |
organizations |
readonly ConvexOrgListOrganization[] |
No | |
showInvitations |
boolean |
Yes |
classNames keys
| Key | Type |
|---|---|
actionButton |
string |
body |
string |
card |
string |
dangerButton |
string |
description |
string |
divider |
string |
emptyState |
string |
header |
string |
invitationItem |
string |
invitationMeta |
string |
orgImage |
string |
orgItem |
string |
orgItemActive |
string |
orgMeta |
string |
orgName |
string |
orgPlaceholder |
string |
primaryButton |
string |
secondaryButton |
string |
title |
string |
copy keys
| Key | Type |
|---|---|
acceptLabel |
string |
createLabel |
string |
currentLabel |
string |
description |
string |
expiresLabel |
string |
invitationsLabel |
string |
membershipsLabel |
string |
noInvitationsLabel |
string |
noOrganizationsLabel |
string |
rejectLabel |
string |
selectLabel |
string |
title |
string |
ConvexOrganizationPermissionChecklist
No props.
ConvexOrganizationRoleActionErrorNotice
No props.
ConvexOrganizationRoleCreateForm
No props.
ConvexOrganizationRoleList
Generics: <RoleId>
No props.
ConvexOrganizationRoleManagerSurface
Generics: <RoleId>
Props
| Name | Type | Optional |
|---|---|---|
buildCreateRoleArgs |
(state: ConvexOrganizationRoleFormState) => ConvexOrganizationCreateRoleArgs |
Yes |
canCreateRoles |
boolean |
Yes |
captureEvent |
(name: string, properties: Record<string, unknown>) => void |
Yes |
classNames |
ConvexOrganizationRoleManagerClassNames |
Yes |
copy |
ConvexOrganizationRoleManagerCopy |
Yes |
getErrorMessage |
(error: unknown, fallback: string) => string |
Yes |
refs |
ConvexOrganizationRoleManagerFunctionReferences<RoleId> |
No |
renderActionError |
(message: string) => ReactNode |
Yes |
classNames keys
| Key | Type |
|---|---|
badge |
string |
checkbox |
string |
error |
string |
field |
string |
form |
string |
input |
string |
label |
string |
labelText |
string |
list |
string |
listCard |
string |
listContent |
string |
permissionDescription |
string |
permissionGrid |
string |
permissionItem |
string |
permissionKey |
string |
primaryButton |
string |
primaryButtonDisabled |
string |
roleHeader |
string |
roleName |
string |
rolePermissions |
string |
sectionTitle |
string |
stateText |
string |
copy keys
| Key | Type |
|---|---|
actionErrorTitle |
string |
createTitle |
string |
creatingLabel |
string |
customRoleLabel |
string |
emptyMessage |
string |
loadingMessage |
string |
nameLabel |
string |
namePlaceholder |
string |
permissionCatalogEmptyMessage |
string |
permissionLabel |
string |
roleListTitle |
string |
submitLabel |
string |
systemRoleLabel |
string |
ConvexOrganizationProfile
Props
| Name | Type | Optional | Description |
|---|---|---|---|
classNames |
ConvexOrgProfileClassNames |
Yes | |
copy |
ConvexOrgProfileCopy |
Yes | |
isAdmin |
boolean |
Yes | |
isLoading |
boolean |
Yes | |
onDelete |
() => void | Promise<void> |
Yes | |
onUpdate |
(input: ConvexOrgProfileUpdateInput) => void | Promise<void> |
Yes | |
organization |
ConvexOrgProfileOrganization | None | undefined |
No | |
renderDeleteConfirm |
(args: __type) => ReactNode |
Yes | |
showBrandFields |
boolean |
Yes | When false, brand fields are hidden (default true). |
showSecurityFields |
boolean |
Yes | When false, security fields are hidden (default true). |
classNames keys
| Key | Type |
|---|---|
actions |
string |
body |
string |
card |
string |
dangerButton |
string |
description |
string |
field |
string |
header |
string |
image |
string |
input |
string |
label |
string |
primaryButton |
string |
secondaryButton |
string |
statusBadge |
string |
title |
string |
value |
string |
copy keys
| Key | Type |
|---|---|
accentColorLabel |
string |
activeStatus |
string |
brandSectionTitle |
string |
cancelLabel |
string |
confirmDeleteDescription |
string |
confirmDeleteTitle |
string |
deleteLabel |
string |
description |
string |
editLabel |
string |
emailFromNameLabel |
string |
emailReplyToLabel |
string |
nameLabel |
string |
primaryColorLabel |
string |
requireMfaDisabled |
string |
requireMfaEnabled |
string |
requireMfaLabel |
string |
saveLabel |
string |
savingLabel |
string |
securitySectionTitle |
string |
sessionTimeoutLabel |
string |
sessionTimeoutPlaceholder |
string |
slugLabel |
string |
statusLabel |
string |
suspendedStatus |
string |
title |
string |
websiteLabel |
string |
ConvexOrganizationSwitcher
Props
| Name | Type | Optional | Description |
|---|---|---|---|
classNames |
ConvexOrgSwitcherClassNames |
Yes | |
copy |
ConvexOrgSwitcherCopy |
Yes | |
currentOrganization |
ConvexOrgSwitcherOrganization | None |
Yes | |
currentOrganizationId |
string | None |
Yes | |
enableSearch |
boolean |
Yes | |
onCreateOrganization |
() => void | Promise<void> |
Yes | |
onInPlaceCreateOrganization |
(name: string) => void | Promise<void> |
Yes | |
onSelectOrganization |
(organizationId: string) => void | Promise<void> |
No | |
onSelectPersonalAccount |
() => void | Promise<void> |
Yes | |
organizations |
readonly ConvexOrgSwitcherOrganization[] |
No | |
personalAccountLabel |
string |
Yes | |
renderCustomTrigger |
(args: __type) => ReactNode |
Yes | |
showPersonalAccount |
boolean |
Yes |
classNames keys
| Key | Type |
|---|---|
createButton |
string |
dropdown |
string |
dropdownDivider |
string |
dropdownItem |
string |
dropdownItemActive |
string |
dropdownItemLabel |
string |
dropdownItemMeta |
string |
dropdownPanel |
string |
dropdownSection |
string |
dropdownSectionTitle |
string |
inPlaceCreateButton |
string |
inPlaceCreateCancel |
string |
inPlaceCreateForm |
string |
inPlaceCreateInput |
string |
searchInput |
string |
trigger |
string |
triggerImage |
string |
triggerName |
string |
triggerPlaceholder |
string |
copy keys
| Key | Type |
|---|---|
createOrganizationLabel |
string |
currentOrganizationLabel |
string |
inPlaceCreateButtonLabel |
string |
inPlaceCreateCancelLabel |
string |
inPlaceCreatePlaceholder |
string |
noOrganizationsLabel |
string |
otherOrganizationsLabel |
string |
personalAccountLabel |
string |
searchPlaceholder |
string |