# Team Access block

> Team access settings with seat use, member roles, expiring guests, pending invites and admin alerts

Workspace admin page in 2 tabs: members with role selects and removal, guests with expiring access, pending invites with resend or revoke, and an admin alert matrix by channel. ReUI Frame, Badge; shadcn Tabs, Select, Checkbox, Dialog. Team settings.

- Type: Pro block
- Category: [Users](https://reui.io/blocks/solutions/users.md)
- Page: https://reui.io/blocks/solutions/users/solution-users-8
- MCP: `get_block("solution-users-8")`
- Built with: Alert Dialog, Avatar, Badge, Button, Checkbox, Dialog, Empty, Field, Frame, Input Group, Item, Progress, Select, Skeleton, Switch, Table, Tabs, Textarea, Toggle Group, Tooltip
- Installs with a ReUI Pro or Ultimate license; setup: https://reui.io/docs/license-setup

## Best for

One admin page for seats, member roles, expiring guest access and pending invites, plus a channel matrix for access alerts

## Agent notes

- Replace `MEMBERS`, `GUESTS`, `INVITES` and `ALERT_GROUPS` in data.ts; `REFERENCE_MS` pins today and `SEAT_LIMIT` is the plan's seats
- Role, removal, extend, resend, revoke and invite changes live in `useState` in `TeamAccess`; post each one to your members API there
- Alert routing is local state too: persist `alerts`, `recipients` and `paused` from the Alerts tab to your notification settings

## When not to use

- Searching and bulk editing every member in a sortable table with filters: use [Member Directory](https://reui.io/blocks/solutions/users/solution-users-1.md) (`get_block("solution-users-1")`)
- Working a large queue of invitations with status filters and bulk resend: use [Invitations](https://reui.io/blocks/solutions/users/solution-users-4.md) (`get_block("solution-users-4")`)

## Third-party libraries

- Sonner v2: [API reference](https://sonner.emilkowal.ski/toast), [docs](https://sonner.emilkowal.ski/getting-started)

## Install

```bash
npx shadcn@latest add @reui/solution-users-8
```

## About Users blocks

### When to use

- People admin pages: a members directory, a member's record, the invitations queue, or seats, guests and alerts
- Access control work: a role by permission matrix, just in time access requests and a day grouped audit log
- Enterprise sign-in settings for SSO providers, SCIM provisioning, 2FA, session limits and email domains

### When not to use

- A person editing their own account: avatar, name, email, password and notification choices: use the [Profile blocks](https://reui.io/blocks/application/profile.md)
- A table section of your own records, with no roles, sign-in methods or invites around it: use the [Base blocks](https://reui.io/blocks/data-grid/base.md)
- Notification, appearance or integration options, with no people or SSO to manage: use the [Settings blocks](https://reui.io/blocks/application/settings.md)

### Agent notes

- Every page.tsx sets a padded `min-h-svh` wrapper, and page.tsx or the root caps the max width; drop both inside your app shell
- Feedback goes through sonner `toast` and no block mounts a Toaster, so render one in your layout or no message appears
- No block sends a request or writes storage: state sits in `useState` or uncontrolled inputs, so every change resets on reload

Every ReUI item has a twin like this one; the index is https://reui.io/llms.txt. Agents with the ReUI MCP (https://reui.io/docs/mcp) get the same guidance from the getters named above.
