# Invitations block

> Invitations Queue Data Grid with Status Filter and Bulk Resend or Revoke

Full-page invitations grid tracking pending, accepted, expired, and revoked invites with search, status filter, bulk resend or revoke, and an invite people dialog. ReUI DataGrid, Badge; shadcn Button, Select, InputGroup. Admin panel, team management.

- Type: Pro block
- Category: [Users](https://web.dev.reui.io/blocks/solutions/users.md)
- Page: https://web.dev.reui.io/blocks/solutions/users/solution-users-4
- MCP: `get_block("solution-users-4")`
- Built with: Alert Dialog, Avatar, Badge, Button, Card, Data Grid, Dialog, Dropdown Menu, Field, Input, Input Group, Item, Select, Separator, Tooltip
- Installs with a ReUI Pro or Ultimate license; setup: https://web.dev.reui.io/docs/license-setup

## Best for

Sent invites with expiry flagged within 2 days, a copy link action and a multi email dialog with a role per address

## Agent notes

- `INVITES` is the sample queue, and `handleResendInvite` and `handleRevokeInvite` only edit that state and toast
- `handleSendInvites` only toasts the count and team, so the `InvitePeopleDialog` never adds rows to the queue
- Copy link in `InviteActionsCell` copies an acmecloud.com URL built from the invite id, so point it at your accept route

## When not to use

- Listing current workspace members with roles and sign-in status, not sent invites: use [Member Directory](https://web.dev.reui.io/blocks/solutions/users/solution-users-1.md) (`get_block("solution-users-1")`)
- Server side paging where sorting, search and the status filter go to an API: use [Data Grid](https://web.dev.reui.io/components/data-grid.md) (`get_component("data-grid")`)

## Third-party libraries

- TanStack Table v9: [API reference](https://tanstack.com/table/v9/docs/framework/react/reference/index), [docs](https://tanstack.com/table/v9/docs/framework/react/quick-start)
- 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-4
```

## About Users blocks

### When to use

- Workspace admin pages for people: a members directory, one member's record and the invitations queue
- 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://web.dev.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://web.dev.reui.io/blocks/data-grid/base.md)
- Notification, appearance or integration options, with no people or SSO to manage: use the [Settings blocks](https://web.dev.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://web.dev.reui.io/llms.txt. Agents with the ReUI MCP (https://web.dev.reui.io/docs/mcp) get the same guidance from the getters named above.
