> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kodelabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Users

> Learn how to create and manage client users

The **Users** page, accessible from the left-hand sidebar, displays all users in your Launchpad workspace. It allows you to create new internal users directly, invite existing users from external organizations, and provides detailed controls for managing existing users regardless of origin.

<Frame caption="The Users page lists all users with name, email, position, sign-in methods, type, role, status, creation date, and MFA status">
  <img src="https://mintcdn.com/kodelabs/QV43LEddE2aJcRYU/images/launchpad/launchpad-client-org-users-table.png?fit=max&auto=format&n=QV43LEddE2aJcRYU&q=85&s=e7a3e0ecdf6f9d649c410e76d1ea83f2" alt="Users table showing columns for name, email, position, sign-in methods, type, role, status, created at, and MFA status, with search, filters, and Add User controls" width="1024" height="410" data-path="images/launchpad/launchpad-client-org-users-table.png" />
</Frame>

<Tip>
  Organization administrators can add, invite, and assign users from this page. Use these controls when someone needs access to your workspace or apps.
</Tip>

## User Types

In Launchpad, users are categorized as either **Internal Users** or **Guest Users**. These profiles define a user's type and determine what can be managed for a given user.

* Internal users represent entities whose account and user profile both reside within the same organization. Internal users authenticate directly using the credentials and sign-in methods issued by your organization.

* Guest users represent entities whose user profile resides in your organization while their account resides in a different (external) organization. They continue to authenticate using the credentials and sign-in methods issued by their parent organization.

```mermaid actions={false} theme={"theme":{"light":"github-light","dark":"github-dark"}}
---
config:
  layout: TB
  theme: neutral
---
flowchart LR
    %% Your Organization
    subgraph OrgA["Organization A"]
        IU_Profile["Internal User Profile"]
        EU_Profile["External User Profile"]
        IU_Account["Account"]
    end

    %% External Organization
    subgraph OrgB["Organization B"]
        EU_Account["Account"]
    end

    %% Connections
    IU_Account -. connected ..- IU_Profile
    IU_Profile -. connected .- IU_Account

    EU_Account -. connected ....- EU_Profile
    EU_Profile -. connected .- EU_Account

    %% Labels / Classes
    classDef internal stroke:#FF6D00,fill:none;
    classDef external stroke:#00C853,fill:none;

    class IU_Account,IU_Profile internal;
    class EU_Account,EU_Profile external;
```

## Create Users

You can create or invite users from the **Users** page using the `+Add User` button. The dropdown menu provides two options: **Add User** for creating internal users and **Invite User** for inviting external guest users.

<Frame caption="The Add User dropdown provides options to add an internal user or invite an external user">
  <img src="https://mintcdn.com/kodelabs/QV43LEddE2aJcRYU/images/launchpad/launchpad-client-org-users-add-menu.png?fit=max&auto=format&n=QV43LEddE2aJcRYU&q=85&s=7cf02cb4a38e3090ab1bdc7866e03b48" alt="Add User dropdown menu showing Add User option for internal users and Invite User option for external users" width="446" height="214" data-path="images/launchpad/launchpad-client-org-users-add-menu.png" />
</Frame>

<Tabs>
  <Tab title="Add User" icon="user-plus">
    Create a new internal user in this client organization.

    <Steps>
      <Step title="Open the Users page">
        Once inside Launchpad, navigate to the **Users** page located on the left-hand sidebar.
      </Step>

      <Step title="Click +Add User">
        Once inside **Users** click the `+Add User` button and select `Add User`.
      </Step>

      <Step title="Configure user details">
        Configure the required details for the new user. The form includes General Information, Active Sign In Methods, and Assign App sections.

        <Frame caption="The Add User form collects general information, sign-in methods, and app assignment details">
          <img src="https://mintcdn.com/kodelabs/IqRYtNzjTvsoxL_7/images/launchpad/launchpad-client-org-add-user-form.png?fit=max&auto=format&n=IqRYtNzjTvsoxL_7&q=85&s=4823d3dfd25fa933bc816068172d61f5" alt="Add User form with fields for first name, last name, position, role, email, country code, phone number, account status toggle, access level, active sign-in methods, and KODE OS app assignment with role and site selection" width="1022" height="884" data-path="images/launchpad/launchpad-client-org-add-user-form.png" />
        </Frame>

        <Expandable defaultOpen={true} title="Example Configuration">
          | Field                                                                                                               | Example Configuration              |
          | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
          | First Name                                                                                                          | `Jane`                             |
          | Last Name                                                                                                           | `Smith`                            |
          | Position                                                                                                            | `Facilities Manager`               |
          | Role                                                                                                                | `Admin`, `Restricted`, `View Only` |
          | Email                                                                                                               | `jane.smith@example.com`           |
          | Country Code                                                                                                        | `United States +1`                 |
          | Phone Number                                                                                                        | `555 123 4567`                     |
          | <Tooltip tip="Toggle on to create the account right away. Leave off to postpone creation.">Account Status</Tooltip> | `Toggle On/Off`                    |
          | Access Level                                                                                                        | `Permanent or Temporary`           |
          | Active Sign-In Methods                                                                                              | `Choose Sign-In Method`            |
        </Expandable>
      </Step>

      <Step title="Save">
        Once you have configured the required user details, click `Save` to create the user.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Invite User" icon="mail">
    Invite an existing user from a trusted organization as a guest.

    <Info>
      You can invite a user only if they already exist as an **Internal** user in a trusted organization available to this environment. If they do not have that account, they will not receive the invite.
    </Info>

    <Steps>
      <Step title="Open the Users page">
        Once inside Launchpad, navigate to the **Users** page located on the left-hand sidebar.
      </Step>

      <Step title="Click +Add User">
        Once inside **Users** click the `+Add User` button and select `Invite User`.
      </Step>

      <Step title="Configure user details">
        Configure the required details for the invited user. The form includes General Information and Assign App sections.

        <Frame caption="The Invite User form collects trusted organization, email, position, role, access level, and app assignment">
          <img src="https://mintcdn.com/kodelabs/QV43LEddE2aJcRYU/images/launchpad/launchpad-client-org-invite-user-form.png?fit=max&auto=format&n=QV43LEddE2aJcRYU&q=85&s=10c3091379bae6c11fb0929d30b16e23" alt="Invite User form with fields for trusted organizations, email, position, role, access level, and KODE OS app assignment with role and site selection" width="1016" height="886" data-path="images/launchpad/launchpad-client-org-invite-user-form.png" />
        </Frame>

        <Expandable title="Example Configuration" defaultOpen={true}>
          | Field                                                                                                        | Example Configuration              |
          | ------------------------------------------------------------------------------------------------------------ | ---------------------------------- |
          | <Tooltip tip="Select the trusted organization you will invite the user from">Trusted Organizations</Tooltip> | `Acme Corp`                        |
          | Email                                                                                                        | `jane.smith@acme.com`              |
          | Position                                                                                                     | `Facilities Manager`               |
          | Role                                                                                                         | `Admin`, `Restricted`, `View Only` |
          | Access Level                                                                                                 | `Permanent or Temporary`           |
        </Expandable>

        <Info>
          Sign-in methods are inherited from the parent organization and don't require configuration when inviting users.
        </Info>
      </Step>

      <Step title="Save">
        Once you have configured the required user details, click `Save` to invite the user.
      </Step>
    </Steps>
  </Tab>
</Tabs>

### Assign KODE OS after client creation

Creating a client adds you to that client with Launchpad Admin access. It does **not** assign the KODE OS app or a KODE OS role.

Before you can use KODE OS in that client:

1. Open your user record on the **Users** page.
2. Select `Assign App` next to **KODE OS**.
3. Choose a KODE OS role and assign the buildings you need.
4. Save the assignment.

Guests who have not accepted an invite appear as **Pending**. Setup emails expire after 24 hours. Resend the setup email from the user's three-dot menu if the link expires.

<Tip>
  Users who sign in successfully but see no KODE OS apps usually lack an app assignment. Open the user record, select `Assign App` next to **KODE OS**, then choose a role and buildings.
</Tip>

## Manage Users

The **Users** page lists all existing users in rows, with each row displaying key details about the respective user. Each user in your organization, whether internal or external, has a dedicated user page that provides a centralized interface to view and manage all details related to a specific user.

```mermaid actions={false} theme={"theme":{"light":"github-light","dark":"github-dark"}}
---
config:
  layout: dagre
  theme: neutral
---
flowchart LR
 subgraph s1["Client Organization Users"]
        U1["User 1"]
        U2["User 2"]
        U3["User 3"]
  end
    A["Users Page"] -- view --- A1["Users Table"]
    A1 -- select ---- U1
    U1 -- view & manage --- BIP1["Dedicated Page"]
    A1 -- select --- U2 & U3
    U2 -- view & manage --- BIP2["Dedicated Page"]
    U3 -- view & manage --- BIP3["Dedicated Page"]

    linkStyle 1 stroke:#00C853,fill:none
    linkStyle 2 stroke:#FF6D00,fill:none
    linkStyle 3 stroke:#00C853,fill:none
    linkStyle 4 stroke:#00C853,fill:none
    linkStyle 5 stroke:#FF6D00,fill:none
    linkStyle 6 stroke:#FF6D00
```

To manage a user, follow the steps outlined below:

<Steps>
  <Step title="Open the Users page">
    Once inside Launchpad, navigate to the **Users** page located on the left-hand sidebar.
  </Step>

  <Step title="Select a user">
    Select a user from the list of users. You will be redirected to their **dedicated** page.
  </Step>

  <Step title="Manage the user">
    The user's dedicated page displays their general information, user type (Internal or Guest), and assigned apps. From here, you can edit details, manage their account, and control KODE OS access.

    <Frame caption="A user's dedicated page shows general information, user type badge, and KODE OS assignment with role and management options">
      <img src="https://mintcdn.com/kodelabs/QV43LEddE2aJcRYU/images/launchpad/launchpad-client-org-user-detail.png?fit=max&auto=format&n=QV43LEddE2aJcRYU&q=85&s=5495e9220aaf721a48ddf40ec6336aad" alt="User detail page showing general information with name, email, phone number, status, role, position, invited date, trusted organization, and access level, plus KODE OS app assignment with role and Edit Role and Unassign App buttons" width="1017" height="548" data-path="images/launchpad/launchpad-client-org-user-detail.png" />
    </Frame>

    You can complete the following actions:

    * Use the <Icon icon="pencil" iconType="solid" /> icon to edit user details.
    * Use the <Icon icon="ellipsis-vertical" iconType="solid" /> icon to manage the user, including deactivating or deleting them, changing their sign-in method, or resending the setup email.
    * Assign or remove assignment for `KODE OS`
    * Assign or change `KODE OS` role

    If a user cannot sign in after invite, confirm their sign-in method matches the workspace default (email password versus SSO). Updating the method on the user record resolves many login failures.

    <Note>
      You can only change the sign-in method or resend the setup email for internal users.
    </Note>
  </Step>
</Steps>
