What this is, and who it is for
An organization is created for you by the platform operator (Platform console: provision an organization); there is no self-service "create an organization" screen. The operator invites one person, the first Organization Admin. That person opens the invitation, signs in with an emailed code and lands in the setup wizard: three steps that take the organization from empty to ready for its first study.
- Roles: choose the set of roles the organization will use.
- Team: invite the people who will work in it, and watch what became of each mail.
- Finish: a checklist of what was done and the one thing left, the first study.
The server records where the organization is in the wizard, so it can be left and resumed from any device. This page is the task; the roles themselves are on Roles and permissions, and what each guardrail means is on Manage organization roles.
| You need | To |
|---|---|
org.manage, rbac.manage and user.manage (the Organization Admin holds all three) | Be taken to the wizard, create the roles and invite the team |
org.read | See where the wizard is |
Held by: Organization Admin (org.manage).
Where to find it
- The first time you sign in, an administrator who can run the wizard is taken to it, once for each browser session, while it is not finished. Save and exit brings you to Studies, which says what is left and does not send you back to the wizard again in that session.
- Studies (the home page of an organization with no study) shows Finish setting up {organization} with the setup progress beside it; Continue setup goes back to the step you stopped at.
- Once the wizard is finished, Open checklist on the same page shows the last screen again, read-only, until the first study exists.
- Goes back to the step you stopped at.
- The progress of the three steps: roles chosen, team invited, first study.
What you can do
Step 1: Roles
The heading is Choose the roles your organization will use. The page lists the 15 standard roles, all ticked, in three groups:
| Group | What it holds |
|---|---|
| Organization roles (Work across the whole organization) | The Organization Admin, marked Required: always in, never copied, never created here |
| Study roles (Given to people on a study's team, in UAT and in Live) | Project Manager, eCRF Designer, Clinical Research Associate, Data Manager, Medical Officer, Sponsor Manager, Sponsor Supply Manager, Auditor, Site Monitor, Clinical Data Coordinator, Regulatory Manager |
| Site roles (Given to site personnel; the site's principal investigator signs each delegation) | Principal Investigator, Clinical Research Coordinator, Pharmacy |
For each role you can:
- Keep it (leave it ticked), drop it (untick it), or choose Edit to change it. The tags beside a role say what you did: Renamed, Permissions changed, Custom.
- Add a role of your own. Nothing is written to the server until the whole set is reviewed and submitted, so you can change your mind as often as you like.
The footer counts the set (14 roles selected · 2 renamed · 1 changed · 1 custom). Review roles is available once the set holds at least one role, at most 40, and no role has an obvious problem. With nothing ticked the footer says No roles selected: the standard roles stay as they are and offers Continue with the standard roles, which creates nothing and completes the step.
The role editor (a panel from the right, Edit role or New role) has:
- Role name (required; Names are unique in your organization).
- Where it applies: Organization, Study or Site. Chosen only for a new role; a role made from a standard role keeps its scope. Changing the scope lets go of the permissions the new scope cannot hold.
- Description (The assistant works from this text).
- Investigator role (a new site role only): Only an investigator role can hold eligibility, signing and delegation permissions. This cannot be changed later.
- Suggest permissions, the AI role assistant (below).
- The permissions, grouped by module, with a search and a tick for a whole module. Only permissions that the chosen scope can hold are listed. Rules that can be seen without asking the server are shown as they are broken: a missing name, a name used twice, nothing chosen, a permission the scope cannot hold, a separation-of-duties conflict, an investigator-only permission on a role that is not an investigator's.
Review (Review before creating: Every role is checked together. Nothing is created until all of them pass: an error must be fixed, and a warning needs a reason you can stand behind.). The server judges every role at once. Each row shows Ready, {n} need a reason or {n} errors. For a role with an error, Fix in the role editor. For a role with a warning, give the reason in Why should this role have it?; it is Recorded with the role, in its first revision. Explain this warning asks the assistant to say what the warning means (Written by an assistant: check it before relying on it.). The button Create {n} roles is enabled only when every role is ready; the footer says what is in the way (Fix 1 role with an error and give a reason for 2 warnings to continue.).
Creating the set is all or nothing: if anything changed while you were reviewing (a name taken in the meantime, a role changed under you) the roles are not created and the page says The roles were not created … Nothing was saved. A role kept as it is is still created as the organization's own role, made from the standard one and keeping its name; it replaces its standard twin in every picker, so nobody sees two of the same. The Organization Admin is never copied.
- Opens the review; nothing is created until every role passes it.
The AI role assistant
In the role editor, Suggest from description reads the role's name, scope and description, and nothing about your studies or people, and proposes permissions with a reason for each. You tick what to add; every addition is judged by the same guardrails as any other. A suggestion that names a permission that does not exist, that the scope cannot hold or that only an investigator role may hold is left out, and the panel says how many. The assistant is optional: when it is not available for the organization the panel says AI suggestions are not available for this organization and everything else works. There is an allowance for the organization, by default 30 calls an hour for suggestions and explanations together (AI_ROLE_ASSISTANT_MAX_PER_HOUR), after which the panel says so. See AI form generation and the AI workstation for the other AI features.
Step 2: Team
Invite your team. Add the people who will work in the organization: Full name, Email address and Access across the organization. Choose Member (no organization-wide role) for most people: study roles, such as Project Manager, are given later on each study's team. The other choices are the organization-wide roles on offer (the Organization Admin and any custom role you made at Organization scope).
- Add a row one person at a time, or Paste from a spreadsheet (one person a line, tab- or comma-separated, in any order: the field with an
@is the address, the first other is the name, a third is the access by role name). A line with no address is left out, an access that does not exist makes that person a Member, and one list takes at most 200 people. - A row is refused on the page when it has no name, an address that is not an address, or an address that is already in the list.
- Send {n} invitations sends them. Each row is judged on its own and costs the others nothing; a row that cannot be invited says why (Already a member of this organization., This address is in the list more than once., On a Live site team. Site teams are made up of site personnel only, so this person cannot also join your organization team., and so on) and Fix row takes it back to the list.
- Then the Invitations table: each person, the access they were invited as, the invitation (Pending with expires in {n} h, Accepted, Revoked or Expired) and the mail (Queued, Not sent yet, Sent, Delivered, Bounced, Failed or Cancelled). Statuses update on their own. Delivered and Bounced appear only when your mail service reports them; until then a message stays at Sent. Resend sends a fresh link (the earlier one stops working; one a minute per invitation by default); Revoke ends an invitation nobody has answered (The link stops working and their place in the organization, and any access the invitation gave, ends. You can invite them again later.).
- Skip for now (before anyone is invited) or Continue (after) decides the step. A decided step is not reopened.
A person invited as a Member, with no organization-wide role, receives a notice rather than a sign-in link until a study team gives them a role: the sign-in is refused for an address that holds no role anywhere. Keep this in mind when you read Not sent and Pending in the table: the invitation stays pending until a role lets them in.
Step 3: Finish
{Organization} is ready. The checklist (Roles: {n} roles created or Standard roles kept; Team: {n} invitations sent with a line such as 1 accepted · 2 sent · 1 bounced and how many rows were not sent; First study) and two buttons: Go to studies, which ends the wizard, and Invite your team or Review invitations, which takes you to Organization Team. Save and exit also ends it, since nothing is left to save.
- Ends the wizard.
- Takes you to Organization Team.
The first study
Studies then shows one card: Create your first study, or why it cannot be created yet and the one thing that fixes it:
| Reason (code) | What to do |
|---|---|
Finish choosing roles (roles_step_unfinished) | Continue the setup |
No role can run a study (no_staffing_role: no active study role holds the permission to build a study team) | Open Roles & Permissions |
Nobody can be Project Manager yet (no_project_manager_candidate: the Project Manager is one of your members, and an Organization Admin holds no study role) | Invite your team |
The organization's answer also names the one next action: finish_roles, invite_team or create_first_study.
See Create a study.
- The one thing that stops the first study, and the one action that fixes it.
Every option
Limits worth knowing
| Limit | Value |
|---|---|
| Roles in one set | 40 |
| Role name | 120 characters |
| Role abbreviation | 8 characters (made from the name's initials unless the role keeps its template's name) |
| People in one list | 200 |
| Invitation link | valid for 72 hours from the moment it is sent (INVITATION_TTL_HOURS), single use |
| Time between two mails for one invitation | 60 seconds (INVITATION_RESEND_COOLDOWN_SECONDS) |
| Reason for accepting a warning | at least 3 characters |
The guardrails
The guardrails that judge every role (hard errors nobody can override, warnings that need a reason) are the same in the wizard and in Roles & Permissions; they are described on Manage organization roles.
What the system records
org.onboarding.step_completed (roles, with the person), org.onboarding.step_skipped (team), org.onboarding.completed, rbac.custom_role.created and rbac.custom_role.warning_overridden for each role and each accepted warning (with its reason), rbac.ai.suggestion_requested for each call to the assistant (who, the scope, how many came back and how many were left out, the model; never the text), platform.user.invited for each invitation, platform.invitation.resent and platform.user.membership_ended (reason invitation revoked) for a revoke. See Audit events.
What you cannot do, and why
- Create the organization yourself. The platform operator does.
- Edit or delete a standard role. They are locked; a role you want different is a copy.
- Create a role with a separation-of-duties conflict (one that both raises and answers queries, or both enters clinical data and locks it), a permission its scope cannot hold, or an investigator-only permission on a role that is not an investigator's. No reason overrides these.
- Reopen a decided step. Roles and team are decided once.
- Create a first study before the roles are set or without a member who can be its Project Manager.
- Make an Organization Admin a study's Project Manager. An Organization Admin holds no study role.
Compliance Q&A
Yes. Every role in the set is judged by the server before anything is created; a role that holds both sides of a separation-of-duties pair, or a permission its scope cannot hold, is refused and nothing in the set is created.
Evidence: server/src/modules/platform/rbac/domain/{sod,role-assessment}.tsrole-set creation (all or nothing)
Related
Manage organization roles · Invite and manage members · Create a study · Platform console: provision an organization · Organization Admin