# CRM Timeline Completion (Task 022)

Unified customer activity history across Company, Person, and Lead profiles — HubSpot-style timeline.

## Architecture

| Layer | Path |
|-------|------|
| Model | `Activity` (`activities` collection) |
| Service | `activity.service.ts` — `logActivity`, `getTimeline`, `getActivityCounts`, `createTimelineNote`, `logTaskActivity` |
| Config | `activity-config.ts` — icons, filter categories |
| API | `GET /api/timeline`, `GET /api/activities`, `POST /api/timeline/notes`, `GET /api/timeline/counts` |
| UI | `ActivityTimeline`, `ActivityNoteForm`, `ActivitySummaryCards` |
| Global feed | `/activities` |

## Automatic events

### Campaigns
`campaign_sent`, `campaign_opened`, `campaign_clicked`, `campaign_replied` (plus legacy `email_*` types in filters)

### Sequences
`sequence_started`, `sequence_step_sent`, `sequence_opened`, `sequence_clicked`, `sequence_replied`, `sequence_stopped`, `sequence_completed`

### Inbox
`email_received`, `email_sent`, `email_archived`, `email_replied`

### AI
`ai_classified` (intent, sentiment, confidence, suggested action), `ai_scored`, `ai_next_action`

### CRM / Pipeline
`lead_created`, `lead_status_changed`, `lead_converted`, `lead_score_changed`, `pipeline_stage_changed`

### Tasks & Notes
`task_created`, `task_completed`, `note_created`

## Profile tabs

| Entity | Tab | Features |
|--------|-----|----------|
| Company | النشاط / Activity | Summary cards, note form, search + category filters |
| Person | Activity | Same |
| Lead | السجل / Timeline | Same (includes linked company/person activities) |

## Global activity center

`/activities` — system-wide feed with search, category filter, date range, pagination.

## Timeline filters (in-tab)

Categories: campaigns, inbox, sequences, tasks, notes, AI, pipeline, CRM.

## Related docs

- [07-leads-pipeline.md](./07-leads-pipeline.md)
- [03-api-specification.md](./03-api-specification.md)
