# Deal Board block

> CRM deal pipeline kanban board with risk signals and confidence scores

Sales pipeline board tracking deals across six stages by risk signal, value, close date, confidence, and owner. ReUI Kanban, Badge, IconStack; shadcn Card, Avatar, Progress, Button. Deal pipeline, CRM dashboard, sales board.

- 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-2
- MCP: `get_block("solution-crm-2")`
- Built with: Avatar, Badge, Button, Card, Empty, Icon Stack, Item, Kanban, Progress
- Installs with a ReUI Pro or Ultimate license; setup: https://web.dev.reui.io/docs/license-setup

## Best for

Deal cards across 6 stages, a Blocked, Risk or Clear signal tinting each confidence bar, and stage columns that drag to reorder

## Agent notes

- `INITIAL_DEAL_COLUMNS` seeds every card, and `DEAL_COLUMNS` fixes the 6 stage ids, titles and `addLabel` strings; replace both with your pipeline
- The New Deal and Filters buttons in `DealToolbar`, `AddStageButton` and `AddDealButton` have no onClick handler, so they do nothing until wired
- Dragging only reorders `dealsByColumn` through `onValueChange`; each card's `confidence` and `signal` stay as seeded and nothing is saved

## When not to use

- Candidates moving through hiring stages with a match score, not sales deals: use [Recruiting Pipeline](https://web.dev.reui.io/blocks/application/kanban-board/kanban-board-9.md) (`get_block("kanban-board-9")`)
- Deals read as sortable rows with a stage filter and a probability ring: use [Pipeline Dashboard](https://web.dev.reui.io/blocks/solutions/crm/solution-crm-1.md) (`get_block("solution-crm-1")`)

## Third-party libraries

- Base UI v1: [API reference](https://base-ui.com/react/components), [docs](https://base-ui.com/react/overview/quick-start), [llms.txt](https://base-ui.com/llms.txt)
- dnd kit v6: [API reference](https://dndkit.com/legacy/api-documentation/context-provider/dnd-context/), [docs](https://dndkit.com/legacy/introduction/getting-started/), through ReUI Kanban (these are the Legacy docs; dndkit.com's default docs cover the newer @dnd-kit/react, a different API)

## Install

```bash
npx shadcn@latest add @reui/solution-crm-2
```

## 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.
