# Task 015 — Business Inbox

## Objective

Deliver Business Inbox UI for reading and managing synced email threads with CRM linkage actions.

## Scope

- `email_messages` model (basic fields)
- Inbox API list/detail
- UI `/inbox` thread list and reading pane
- Actions: link to company/lead, assign owner, create lead stub
- Unread state and filters

**Out of scope:** Full IMAP sync (Task 016).

## Requirements

1. Messages can be seeded manually or via sync job for testing.
2. HTML body sanitized in UI.
3. Link action updates `linkedLeadId` / company reference.

## Files to create or modify

| Path | Action |
|------|--------|
| `src/app/inbox/**` | Create |
| `src/app/api/inbox/**` | Create |
| `src/services/inbox.service.ts` | Create |
| `docs/04-ui-pages.md` | Inbox |
| `docs/05-email-system.md` | Inbox UX |
| `docs/16-changelog.md` | Entry |

## Acceptance criteria

- [ ] List and open messages
- [ ] Link message to company or lead
- [ ] Unread filter works

## Documentation updates required

- `docs/04-ui-pages.md`
- `docs/05-email-system.md`
- `docs/02-database-schema.md`
- `docs/16-changelog.md`
