# Delegation Board

> An "In motion" page for a mailbox shared with agents: work agents own, answers people owe you and what you promised, each with where it stands and what happens next. Hand anything off in one sentence and the composer picks the likely agent as you type. Nudge, take work back, stop an agent or open the thread, and export it all as Markdown for an agent.

- Slug: `delegation-board`
- Category: [Email](https://www.assembli.design/category/email.md)
- Type: component
- Tags: email, agents, delegation, tasks, follow-up, in-motion, mcp
- npm dependencies: motion, lucide-react
- shadcn/ui dependencies: button, dropdown-menu, input-group, kbd, @assembli/actions-menu, @assembli/avatar, @assembli/empty-state
- Live preview: https://www.assembli.design/preview/delegation-board
- Page: https://www.assembli.design/components/delegation-board

![Delegation Board preview](https://www.assembli.design/thumbnails/delegation-board-light.png)

## Props

Other props pass through to the root element.

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `tasks` (required) | `Task[]` |  |  |
| `agents` | `MailAgent[]` | `DEFAULT_AGENTS` |  |
| `actorName` | `string` | `"Ines Moreau"` | The signed-in person: the actor on every emitted action, and the face on "You promised". |
| `onAction` | `(action: MailAction) => void` |  | `hand_off` ({ instruction, to } and `ids` when handing an existing task over), `nudge`, `hand_back`, `cancel`, `complete` and `open` (ids = [threadId]), each with a human actor. |
| `title` | `string` | `"In motion"` |  |
| `defaultAgent` | `string` | `"replies"` | The agent the hand-off composer starts on. It follows what you type until you pick one yourself. |

## Install

One-time setup (needs a subscription):

1. Add the registry to the project's `components.json`: `{"@assembli":{"url":"https://www.assembli.design/r/{name}.json","headers":{"Authorization":"Bearer ${ASSEMBLI_API_KEY}"}}}` (merge into `"registries"`).
2. Put an API key from https://www.assembli.design/account in `.env.local` as `ASSEMBLI_API_KEY=asm_…`.

Then install with the shadcn CLI (writes `components/delegation-board/delegation-board.tsx` and installs dependencies):

```bash
npx shadcn@latest add @assembli/delegation-board
```

Registry item JSON: https://www.assembli.design/r/delegation-board.json (send `Authorization: Bearer <api key>`)

## Code

> Component source needs an Assembli subscription ($12/month or $96/year) and an API key sent as `Authorization: Bearer <key>`. To get one without copying anything, POST https://www.assembli.design/api/agent/login (or call the MCP tool connect_account), show the user the link it returns, and poll https://www.assembli.design/api/agent/token for the key. Or subscribe at https://www.assembli.design/pricing and create a key at https://www.assembli.design/account.
