# Deal Desk block

> CRM Deal Desk with Deal Queue, Stage Path, Line Items and Buyer Conversation

Deal desk in 3 panes: a deal queue with Cmd+K search, the open deal with a stage path and line items, and a buyer conversation composer. ReUI Stepper, Badge; shadcn Card, Table, Tabs. For opportunity page, deal record.

- Type: Pro block
- Category: [CRM](https://web.dev.reui.io/blocks/solutions/crm.md)
- Page: https://web.dev.reui.io/blocks/solutions/crm/solution-crm-9
- MCP: `get_block("solution-crm-9")`
- Built with: Alert Dialog, Avatar, Badge, Button, Card, Collapsible, Dialog, Dropdown Menu, Empty, Field, Icon Tile, Input, Input Group, Item, Kbd, Popover, Progress, Select, Sheet, Stepper, Table, Tabs, Toggle Group, Tooltip
- Installs with a ReUI Pro or Ultimate license; setup: https://web.dev.reui.io/docs/license-setup

## Best for

A full page deal record whose amount sums discounted line items, with a stalled in stage flag and the owner's other deals

## Agent notes

- Replace the sample `DEALS`, `ACCOUNTS` and `ACTIVITY` records; `CURRENT_USER_ID` is the signed in rep behind follows, new deals and notes
- `REFERENCE_DAY` is the fixed today behind `daysInStage` and the stalled chip after `STALLED_AFTER_DAYS`, and it becomes `closeDate` on a won or lost deal
- `handleSend` only appends to the local `activity` state and shows a toast, so no email is sent and no call or note is saved

## When not to use

- Many deals read at once in a grouped table, a stage board, a calendar or a timeline: use [Pipeline Workspace](https://web.dev.reui.io/blocks/solutions/crm/solution-crm-7.md) (`get_block("solution-crm-7")`)
- A people directory where rows are contacts, with bulk owner assignment: use [Contacts Directory](https://web.dev.reui.io/blocks/solutions/crm/solution-crm-3.md) (`get_block("solution-crm-3")`)

## 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-crm-9
```

## About CRM blocks

### When to use

- A sales team's deal work: a pipeline board, a deal grid, a forecast call or the record of one deal
- The contact side of sales: a contacts directory, an activity log across accounts and a CSV import
- A sales overview of open pipeline, weighted forecast and win rate above the open deals

### When not to use

- Cards for tasks or tickets moved across columns, with no deal value or close date: use the [Kanban Board blocks](https://web.dev.reui.io/blocks/application/kanban-board.md)
- A records table with sorting, paging and row selection, outside a sales context: use the [Base blocks](https://web.dev.reui.io/blocks/data-grid/base.md)
- A side panel for one record that is not a deal, such as an order or a user: use the [Sheet blocks](https://web.dev.reui.io/blocks/application/sheet.md)

### Agent notes

- Each block sizes its page with `min-h-svh`, or `h-svh` on the Deal Desk, in page.tsx or its root component; size it from your app shell instead
- Every change lives in `useState` or a `useReducer` store and resets on reload; no block calls an API or writes to storage

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.
