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

# Teams

> Invite collaborators and manage team roles within your workspaces.

export const RuncrateStyles = () => {
  if (typeof document !== 'undefined' && !document.getElementById('runcrate-overrides')) {
    const s = document.createElement('style');
    s.id = 'runcrate-overrides';
    s.textContent = `
      /* Match Runcrate's rounding scale (--radius: 0.75rem) */
      .rounded-sm { border-radius: 0.5rem !important; }   /* 8px */
      .rounded-md { border-radius: 0.625rem !important; } /* 10px */
      .rounded-lg { border-radius: 0.75rem !important; }  /* 12px */
      .rounded-l-sm { border-top-left-radius: 0.5rem !important; border-bottom-left-radius: 0.5rem !important; }
      .rounded-r-sm { border-top-right-radius: 0.5rem !important; border-bottom-right-radius: 0.5rem !important; }
      .rounded-l-md { border-top-left-radius: 0.625rem !important; border-bottom-left-radius: 0.625rem !important; }
      .rounded-r-md { border-top-right-radius: 0.625rem !important; border-bottom-right-radius: 0.625rem !important; }
      .rounded-l-lg { border-top-left-radius: 0.75rem !important; border-bottom-left-radius: 0.75rem !important; }
      .rounded-r-lg { border-top-right-radius: 0.75rem !important; border-bottom-right-radius: 0.75rem !important; }

      /* Cards: never pure white in light mode */
      .card { background-color: #fcfcfc !important; border-radius: 0.75rem !important; }
      html.dark .card { background-color: #141414 !important; }

      /* Docs hero box */
      .rc-hero { background-color: #fcfcfc; border: 1px solid #e0e0e0; }
      html.dark .rc-hero { background-color: #141414; border-color: #242424; }
      html.dark .rc-hero h1 { color: #f5f5f5; }

      /* Runcrate scrollbar — thin, transparent track, hide-until-hover thumb */
      ::-webkit-scrollbar { width: 6px; height: 6px; background-color: transparent; }
      ::-webkit-scrollbar-track { background-color: transparent; }
      ::-webkit-scrollbar-thumb { background-color: rgba(155, 155, 155, 0.5); border-radius: 10px; transition: opacity 0.3s ease; opacity: 0; }
      ::-webkit-scrollbar-thumb:hover { background-color: rgba(155, 155, 155, 0.7); }
      *:hover::-webkit-scrollbar-thumb,
      *:focus::-webkit-scrollbar-thumb,
      *:active::-webkit-scrollbar-thumb { opacity: 1; }
      * { scrollbar-width: thin; scrollbar-color: rgba(155, 155, 155, 0.5) transparent; }
    `;
    document.head.appendChild(s);
  }
  return null;
};

<RuncrateStyles />

Invite collaborators to your workspace and manage their access with role-based permissions.

## Roles & Permissions

| Permission                  | Owner | Manager | Developer |
| --------------------------- | ----- | ------- | --------- |
| Deploy and manage instances | Yes   | Yes     | Yes       |
| Create and manage storage   | Yes   | Yes     | Yes       |
| View workspace resources    | Yes   | Yes     | Yes       |
| Access billing settings     | Yes   | Yes     | No        |
| Manage team members         | Yes   | Yes     | No        |
| Change member roles         | Yes   | No      | No        |
| Delete workspace            | Yes   | No      | No        |
| Transfer ownership          | Yes   | No      | No        |

## Inviting Members

<Steps>
  <Step title="Go to Team">
    Navigate to **Dashboard → Team**.
  </Step>

  <Step title="Click Invite Member">
    Click the **Invite Member** button.
  </Step>

  <Step title="Enter Email and Role">
    Enter the email address of the person you want to invite and select a role: **Manager** or **Developer**.
  </Step>

  <Step title="Send Invite">
    Click **Send**. The invitee will receive an email with a link to join your workspace.
  </Step>
</Steps>

## Managing Members

### Change Roles

Only the **Owner** can change member roles:

1. Go to **Dashboard → Team**
2. Find the member in the list
3. Click the role dropdown and select a new role

### Remove Members

Owners and Managers can remove members:

1. Go to **Dashboard → Team**
2. Find the member
3. Click **Remove**

<Note>
  Removing a member revokes their access to the workspace immediately. Their personal account is not affected.
</Note>

## Pending Invitations

The team page shows pending invitations that have been sent but not yet accepted. You can cancel a pending invitation if needed.

## Accepting Invitations

When you are invited to a workspace:

1. Check your email for the invitation link, or go to **Dashboard → Workspaces**
2. You will see pending invitations listed
3. Click **Accept** to join or **Decline** to reject

Once accepted, the workspace appears in your sidebar workspace selector.

## Best Practices

<CardGroup cols={2}>
  <Card title="Least Privilege" icon="shield">
    Assign the **Developer** role by default. Only grant **Manager** to people who need billing and team management access.
  </Card>

  <Card title="Use Workspaces for Isolation" icon="folder">
    Create separate workspaces for different teams or workloads rather than putting everyone in one workspace.
  </Card>

  <Card title="Review Access Regularly" icon="clipboard-check">
    Periodically review the team page and remove members who no longer need access.
  </Card>

  <Card title="Audit Activity" icon="file-text">
    Use [audit logs](/account/audit-logs) to monitor what team members are doing in the workspace.
  </Card>
</CardGroup>
