People and roles¶
Manage your organization's roster: view members, assign roles, invite new people, deactivate accounts, and open a member's full transcript.
Everything here lives on the People page (Organization → People in the sidebar). Org admins get the full page; managers get a read-only view scoped to their own team.
The member roster¶
The Members tab lists everyone in your organization directory. Each row shows:
| Column | What it means |
|---|---|
| Member | Name and email |
| Roles | The member's live roles (org_admin, author, instructor, manager, learner) |
| Teams | Teams the member belongs to |
| Progress | Completed / enrolled course count, with an overdue badge when work is past due |
| Last activity | When the member was last seen |
Click any row to open that member's detail drawer. A member whose account has been deactivated shows a Deactivated tag.
Roles¶
Assign one or more roles to each member. Roles decide what a person can do; see the role matrix for the full breakdown.
To change a member's roles:
- Open the member from the roster.
- Under Roles, tick or untick each role.
- Click Save roles.
Role changes apply on next sign-in
A member's new roles take effect the next time they sign in, because roles are carried in their login token. Ask them to sign out and back in if they need the change immediately.
You cannot remove your own org_admin role
To avoid locking an organization out of its own admin tools, you cannot strip org_admin from yourself. Have another admin do it if you need to step down.
Inviting members¶
Click Invite (top right of the People page) to add people by email.
- Enter one email address, or paste a whole list: one per line, or separated by commas or semicolons. Up to 100 at a time.
- Tick the roles they should have (defaults to learner).
- Click Send invite.
What happens next depends on whether each email already belongs to a PulseLMS user:
The person is added to your organization immediately with the roles you selected. They will see it the next time they sign in.
The person receives an invitation email. Their roles apply after they accept the invite and sign in for the first time.
Invitations are sent one address at a time and reported the same way. If an address in your list is malformed or rejected, the rest still go out and PulseLMS shows you exactly which ones failed, so you can fix those without re-sending to everyone.
The first admin of a new organization
When an organization is brand new, the very first person to sign in becomes its org admin automatically. After that, all further members are added through the invite flow above, or through a join link.
Join links¶
Inviting people one address at a time does not scale to a community of a few hundred. A join link turns that around: you share one URL, and members request their own invitation.
Open People → Join links and click New join link. You can set:
| Option | What it does |
|---|---|
| Label | A note for your own reference. Never shown to anyone joining. |
| Role granted | The role everyone joining through this link receives. Choose from learner, instructor, author, or manager. |
| Limit uses | Stop the link working after this many people have used it. Leave blank for unlimited. |
| Restrict to email domain | Only addresses at this domain can use the link, e.g. fire.example.org. |
| Expires after | Turn the link off automatically after this many days. |
Click Copy on a link to put its URL on your clipboard, then share it however you like: Discord, an email, a slide at the end of a briefing.
What a member sees¶
They open the link, see your organization's name and the role on offer, and enter their email address. PulseLMS then emails them an invitation. Opening the link in that email is what joins them, and once they are in, PulseLMS confirms it with "You've been added to" and your organization's name.
Join links always send an email, even to people who already have an account
This is the one place a join link behaves differently from the invite flow above. When you invite someone who already has a PulseLMS account, they are added immediately, because you named that address deliberately. A join link is a URL that can be forwarded to anyone, so it never adds anybody directly: an existing account is emailed an invitation it has to accept, exactly like a brand-new one.
So if someone tells you "I already have a PulseTech login, why am I being emailed?", that is working as intended, and it is what stops a forwarded link from being a way in.
They can sign up with Discord
The invitation link offers Continue with Discord as well as the usual email-and-password form, so somebody who lives in your Discord community can join without inventing another password. Their name and email come from Discord, and PulseTech still verifies that email before letting them in.
An account created that way has no password; they sign in with Discord every time. If they ever lose access to their Discord account, "Forgot password" on the sign-in page will set one.
Signing in with Discord also fills in their Discord account for you automatically, so they do not need to run /link in Discord for role sync to work.
A join link on its own cannot get anyone in
Joining always requires opening an invitation sent to the address the person typed. Someone who forwards your link to a stranger has not given that stranger access; they would still need to receive the email. This is why a leaked link is a nuisance rather than a breach.
Join links cannot grant org admin
A link can only grant learner, instructor, author, or manager. Org admin has to be assigned deliberately from a member's detail drawer, because it can read every learner's record and change the organization's settings.
Turning a link off¶
Anyone holding a link can keep using it until you stop it. On the Join links tab:
- Turn off disables the link immediately but keeps it in the list, so you can turn it back on.
- Delete removes it for good. Anyone still holding it sees "this join link is not valid".
Either way, people who already joined through the link keep their access; turning a link off only stops new people from using it.
The tab also shows each link's status at a glance: Active, Off, Expired, or Used up, along with how many times it has been used.
Deactivating and reactivating members¶
Deactivating a member blocks them from signing in without deleting any of their history.
- Open the member from the roster.
- Scroll to the bottom of the drawer and click Deactivate account, then confirm.
To bring them back, open the same drawer and click Reactivate account.
You cannot deactivate your own account
An admin cannot lock themselves out. Ask another admin to deactivate you if needed.
Member detail drawer¶
Clicking a member opens a drawer with their complete record:
- Teams: every team they belong to.
- Roles: editable role checkboxes (org admins only).
- Transcript: every course enrollment with status, per-lesson progress, due date, and completion date. This is the authoritative record of what the member has done.
- Deactivate / Reactivate: account controls at the bottom.
Audit log¶
The Audit log tab (org admins only) shows a timestamped, immutable record of sensitive admin actions: role changes, invites, publishes, assignments, feature-flag and branding changes, exports, and certificate revocations. Each entry records who did it, what they did, the target, and any relevant detail. See Compliance → Audit log for the full list of recorded actions.
Managers see less¶
If a member has only the manager role, they see a read-only People view containing just the members of the teams they manage. They cannot change roles, invite, or deactivate. See Teams and managers.