Invite User
Invitations Users & Roles Updated: 25 Feb 2026 Tags: invite user, invitations, InviteUser.aspx, roles, subscription, business, app access, seats
Invite User — Help & User Guide
Page: Users/InviteUser.aspx
Overview
- Purpose: invite an existing or new user to a selected business, app and subscription and assign an application role.
- Files:
Users/InviteUser.aspx (markup) and InviteUser.aspx.cs (code-behind).
Quick start (end user)
- Pick an existing user from DropDownListUsersList or select the option that shows the Add new user panel.
- If adding a new user, fill:
- TextBoxNewUserFirstName
- TextBoxNewUserLastName
- TextBoxNewUserEmail
- Select Business from DropDownListUserEntities.
- Select App from DropDownListBusinessApps (AutoPostBack loads subscriptions).
- Select Subscription from DropDownListSubscription.
- Choose role from DropDownListAppRoles.
- Click ButtonInviteUser (Send invitation). Use LinkButtonApplyFilter0 to clear the form.
Primary page areas and what they do
Header: success / error messages
- ErrorPanel + LabelErrorMessage — displays errors; close with the X which calls
clearError(). - GreenPanel — success indicator (“user invited”); closable via LinkButtonClosePanel.
User selection
- DropDownListUsersList — list of existing users.
AutoPostBack triggers DropDownListUsersList_SelectedIndexChanged to toggle the new-user panel.
- divAddNewUser — hidden by default; shows new user fields when inviting a new user:
- TextBoxNewUserFirstName
- TextBoxNewUserLastName
- TextBoxNewUserEmail
Business / App / Subscription selectors
- DropDownListUserEntities — populated via SqlDataSourceOwnerEntities
(session parameter KNEWTEUSERID); events: DropDownListUserEntities_DataBound, DropDownListUserEntities_SelectedIndexChanged.
- DropDownListBusinessApps — populated after business selected; has SelectedIndexChanged to load subscriptions.
- DropDownListSubscription — populated after app selected; AutoPostBack triggers
DropDownListSubscription_SelectedIndexChanged.
Package details area
- packagedetails shows license counts (LabelNoOfUsersInUse) and hidden subscription id (LabelSubId) once subscription selected.
Roles
- DropDownListAppRoles — pick an app role.
- Link to role management:
../Businesses/AppRoles
Actions
- ButtonInviteUser — server handler
ButtonInviteUser_Click sends the invite. - LinkButtonApplyFilter0 — clears the form (
LinkButtonApplyFilter0_Click).
User workflows (step-by-step)
1) Invite an existing user
- Select the user in DropDownListUsersList.
- Select Business → App → Subscription.
- Pick a role from DropDownListAppRoles.
- Click ButtonInviteUser.
2) Invite a new user
- In DropDownListUsersList, choose the option that shows the “Add new user” panel.
- Fill First Name, Last Name, Email.
- Continue with Business → App → Subscription → Role, then click ButtonInviteUser.
What to expect on success / errors
- On success: GreenPanel displays a confirmation message; LinkButtonClosePanel closes it.
- On errors: ErrorPanel shows a clear message; use the X to close.
Security & validation (must-read)
Server-side validation in ButtonInviteUser_Click should confirm:
- required fields (name, email, business, app, subscription, role)
- valid email format and uniqueness checks where required
- selected business/app/subscription belongs to the current owner and the current user is authorized
- no duplicate active invitation exists for the same email + subscription
- license limits are not exceeded (check seats vs LabelNoOfUsersInUse and server-side limits)
Security notes:
- do not store or send plaintext passwords
- use secure invitation links and templates
- ensure HTTPS
- parameterize database queries (no raw SQL concatenation)
Troubleshooting checklist
Dropdowns not populating
- Check AutoPostBack and server handlers are firing
- Ensure session parameter
KNEWTEUSERID exists for SqlDataSourceOwnerEntities
New-user panel not showing
- Confirm
DropDownListUsersList_SelectedIndexChanged toggles divAddNewUser
Invite button does nothing
- Check server exceptions/logs
- Ensure
ButtonInviteUser_Click is wired and not blocked by validation
Duplicate invitations / email send errors
- Verify invite logic checks existing users and existing pending invites
- Confirm SMTP configuration and templates
Accessibility & keyboard guidance (recommended)
- Move focus to the first error when submission fails
- Mark required fields visually and with ARIA (e.g.,
aria-required="true") - Add
aria-live="polite" to ErrorPanel and GreenPanel - Ensure all dropdowns and buttons are keyboard accessible
What to include when contacting support
- user email invited
- business/app/subscription selected
- role selected
- time of attempt
- screenshot of ErrorPanel (if shown)
← Back to Help Centre