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

# Users, Roles & Permissions

> Manage staff access, invite team members, and configure security roles.

<Info>
  **Prerequisite:** Ensure you have created at least one [Location](/modules/settings/locations) before inviting users, as staff must be assigned to a facility to view schedules.
</Info>

Control who can access what in your clinic. Every staff member gets a login, a role, and location access — so front desk sees the calendar, providers see patient charts, and billing staff sees payments.

Decoda uses a role-based access control system. Every user is assigned a specific Role that determines which modules (e.g., Billing, Scheduling) they can access and what actions they can perform.

## Invite a New User

To add a staff member to your organization:

<Steps>
  <Step title="Navigate to Users">
    Go to **Settings** and select **Users**.
  </Step>

  <Step title="Open the invite window">
    Click the **Invite User** button. A window titled **Invite people to your workspace** opens.
  </Step>

  <Step title="Enter Staff Details">
    Fill in the following:

    * **First Name** and **Last Name:** The user's name as it should appear on clinical notes and signatures.
    * **Email:** The staff member's work email.
    * **Phone Number:** Optional. Used for staff notifications.
    * **NPI Number:** Optional. The provider's 10-digit National Provider Identifier, used for insurance billing and e-prescribing. Must be exactly 10 digits.
    * **Primary Location:** The main facility where this user works. Only shown if your organization has more than one location.
    * **Hourly Rate:** Optional. Only shown if Clock In is enabled for your tenant.
  </Step>

  <Step title="Assign a Role">
    Select a predefined Role (e.g., Front Desk, Provider, Billing Manager). This can be changed later.
  </Step>

  <Step title="Add Teams (optional)">
    If your organization uses Teams, pick one or more from the **Teams** list. When the selected teams have notification defaults configured, you can also check **Apply team notification defaults** to copy those settings to the new user.
  </Step>

  <Step title="Send">
    Click **Invite user**. The button shows **Sending invite...** while it submits, and the user will receive an email with instructions to set up their account.
  </Step>
</Steps>

## Manage Roles & Permissions

Roles allow you to manage permissions for groups of users simultaneously.

<Steps>
  <Step title="Open Roles Settings">
    Go to **Settings** and select **Roles**.
  </Step>

  <Step title="Select or Create Role">
    Click a role in the list on the left to edit it. To add a new role, click the **+** icon next to **Roles** at the top of the list. A window opens where you enter a name and pick a role type (**User**, **Provider**, or **Admin**), then click **Create role**. The new role opens automatically so you can set its permissions.
  </Step>

  <Step title="Configure Permissions">
    Toggle the permissions you want to grant on the **Permissions** tab. Permissions are grouped into categories (such as Calendar, Billing, or Clinical), and the categories shown depend on which modules are enabled for your tenant. Click the **search icon** at the top to open a search box and jump to a permission by name, or flip the **Enable all** switch to turn every permission on at once — handy for setting up a brand-new role.
  </Step>

  <Step title="Rename or change role type">
    Open the **Details** tab to rename the role, change its type, or add a short description. The role name and description save when you click away from the field; the role type chips update immediately.
  </Step>

  <Step title="Changes save automatically">
    Each toggle saves as soon as you click it and applies immediately to all users assigned to that role. There is no separate Save button.
  </Step>
</Steps>

## Manage Team Membership

Teams are created and managed from **Settings > Teams**. Once at least one team exists, a **Teams** column appears in the Users table so you can quickly add or remove users from teams without switching pages. You can also assign teams to services from the [Services](/modules/settings/services) table in the same way.

<Steps>
  <Step title="Open the Teams list">
    Click the **Teams** cell for any user. A popup shows their current teams.
  </Step>

  <Step title="Add a team">
    Click **Add team** at the bottom of the popup and select a team from the list.
  </Step>

  <Step title="Remove a team">
    Click the **X** next to a team name to remove the user from that team. Existing appointments are not affected — only future bookings for that team's services will change.
  </Step>
</Steps>

## Advanced Configuration

<AccordionGroup>
  <Accordion title="Resending Pending Invitations">
    If a staff member hasn't received their invitation email, find their name in the **Users** list. If their status is **Pending**, open the row's actions menu and choose **Resend Invitation** to trigger a new email. You can also choose **Copy Invite Link** to copy the user's invite URL to your clipboard and share it directly — useful when email delivery is blocked or delayed.
  </Accordion>

  <Accordion title="Provider Credentials (NPI, Bio, Taxonomy)">
    For clinical staff, you can add professional credentials within their user profile. This information is often required for insurance billing, e-prescribing, and patient-facing booking pages.

    Open a staff member from **Settings > Users** to reach the user editor. Use the **Credentials** field for short titles patients should see when booking (for example MD or PA-C) — those show under the provider's name on [self-scheduling](/modules/scheduling/self-scheduling). **NPI Number** has its own field on both the invite form and the user editor — enter the provider's 10-digit National Provider Identifier. The form rejects anything other than 10 digits and shows an error message until it's valid. Don't paste the NPI into the **Description** (bio) field further down the editor, since the bio is patient-facing on self-scheduling pages.
  </Accordion>

  <Accordion title="Restricting Access to Specific Locations">
    If a staff member should only see data for one specific clinic, find them in **Settings > Users**, open the row's actions menu, and choose **Visible Locations**. You can toggle access for each individual facility in your organization.
  </Accordion>

  <Accordion title="Deactivating Users">
    To revoke access for a former staff member, find them in the **Users** list and select **Deactivate**. This prevents further login attempts while preserving their historical clinical notes and transaction records for auditing purposes.
  </Accordion>

  <Accordion title="Temporarily Restricting Access (Leave of Absence)">
    Use this when a user shouldn't be able to log in for a known period — for example, a provider on parental leave — but you don't want to deactivate them.

    Open the user from the **Users** list, scroll to **Restrict Access Until**, and pick the date they should regain access. Until that date the user is signed out and sees a "your access is currently restricted" message at login. Access resumes automatically on the chosen date, so you don't need to remember to re-enable it.

    Click **Remove restriction** in the same panel to lift the block early. Their historical notes, charges, and other records are untouched throughout.
  </Accordion>

  <Accordion title="Provider Capacity & Scheduling">
    For clinical staff, you can configure their individual **Capacity** (how many appointments they can handle at once) and their unique **Scheduling Step** (e.g., 15-minute vs. 30-minute intervals) within their user profile settings.
  </Accordion>

  <Accordion title="Timezone Override">
    By default, all dates and times in Decoda are shown in your browser's timezone. If you need times displayed in a different timezone — for example, if you travel between clinics in different time zones or work remotely — you can set a personal timezone override.

    When a timezone override is set, **all** dates and times across the platform will display in that timezone. This includes the calendar, billing, analytics, notes, commissions, and alerts.

    To set a timezone override:

    1. Go to **Settings > Preferences**.
    2. Under **Display Timezone**, select a timezone from the list.
    3. Your choice saves automatically.

    To go back to using your browser's timezone, click the **Reset to browser timezone** button below the timezone list.

    When your override differs from your browser's timezone, a banner appears at the top of the screen as a reminder. You can dismiss this banner for the rest of your session.
  </Accordion>
</AccordionGroup>
