Record Lists Audit
Audit of record list implementations and UX improvements
Record Lists Audit
Source: This page is based on docs/RECORD_LISTS_AUDIT.md
Last Updated: January 17, 2026
Status: Draft
Executive Summary
Eddy currently has 6 primary record list implementations, all using AG-Grid with similar styling and functionality. While these lists serve their basic purpose of displaying tabular data, they lack modern UX features like advanced filtering, alternative views, tagging, and visual differentiation.
Note: One list (pages/sessions/index.tsx) already has basic filtering UI (Active/Completed/All buttons), demonstrating user demand for this functionality. Our improvements should build on what works rather than replace it.
Current Implementations
1. Workflows List
Location: pages/workspaces/[groupId]/workflows/index.tsx
Purpose: Display all workflows in a workspace
Columns:
- Name (clickable to workflow detail)
- ID (truncated)
- Author (clickable to user profile)
- Pre-assigned roles (with avatars)
- Created date
- Last updated date
Features:
- Row selection (checkboxes, but no bulk actions implemented)
- Create new workflow button
- Permission-based create button disable
- Basic sorting
Missing:
- Search/filter functionality
- Tags (workflows could be tagged by department, complexity, status)
- Status indicators (draft, published, archived)
- Session count ("15 active sessions")
- Recent activity indicator
- Alternative views (card grid)
2. Sheets List
Location: pages/workspaces/[groupId]/sheets/index.tsx
Purpose: Display all sheets in a workspace
Columns:
- Name (clickable to sheet detail)
- Created at
- Author (clickable to user profile)
- Associated Workflows (tags showing linked workflows)
Features:
- Row selection (checkboxes, but no bulk actions implemented)
- Create new sheet modal
- Associated workflow tags (clickable, with tooltips)
- Has a
searchstate variable but no UI implementation quickFilterTextprop passed to AG-Grid (not wired to UI)
Missing:
- Search UI (the backend support exists!)
- Filter by author, date range
- Filter by associated workflow
- Row count indicator
- Tags for categorization (beyond workflow associations)
- Record count in sheet
- Last modified date
3. Sessions List
Location: pages/workspaces/[groupId]/sessions/index.tsx
Purpose: Display all workflow sessions in a workspace
Columns:
- Name (clickable to session detail)
- Initiator (clickable to user profile)
- Assignees (avatar stack)
- Started date
- Progress (e.g., "5 stages completed")
- Completed date
Features:
- Row selection (checkboxes, but no bulk actions implemented)
- Create new session button
- Basic sorting
Missing:
- Status filter (active/completed/overdue)
- Search by name or initiator
- Filter by workflow
- Filter by assignee
- Filter by date range
- Tags (e.g., "urgent", "on-hold", "escalated")
- Visual status indicators (color coding)
- Overdue highlighting
- Session duration display
- Alternative views (kanban by status, timeline view)
4. Sessions Modal
Location: components/builder/modals/SessionsModal.tsx
Purpose: Display sessions for a specific workflow (modal context)
Context: Opened from workflow builder to view all sessions of that workflow
Columns:
- Name (clickable to session)
- Initiator (clickable to user profile)
- Assignees (avatar stack)
- Started date
- Progress (stages completed)
- Completed date
Features:
- Summary stats at top (Active count, Completed count, Total count)
- Lazy loading (only fetches when modal is open)
- Full-screen modal
Missing:
- All the same as Sessions List above
- Could benefit from charts/visualizations given the summary stats
- Export functionality
- Date range selector
5. User Sessions List
Location: pages/sessions/index.tsx
Purpose: Display all sessions for the current user (across all workspaces)
Context: User-scoped view (not workspace-specific)
Columns:
- Name (clickable to session detail)
- ID (truncated)
- Workflow name
- Workspace name
- Status (Active/Completed with badges)
- Started date
- Completed date
Features:
- Status filter buttons (Active/Completed/All) - ✅ Already implemented!
- Basic sorting
- Status badges with color coding
Missing:
- Search functionality
- Filter by workspace
- Filter by workflow
- Date range selector
- Overdue highlighting
6. Group Members List
Location: pages/workspaces/[groupId]/members/index.tsx
Purpose: Display all members of a workspace
Columns:
- Name (with avatar)
- Role (Admin/Member/Guest)
- Joined date
- Last active
Features:
- Invite new member button
- Role badges
- Basic sorting
Missing:
- Search by name or email
- Filter by role
- Bulk actions (change role, remove members)
- Activity indicators
- Permission details
Common Patterns
What Works Well
- AG-Grid - Solid foundation with good performance
- Consistent styling - Similar look and feel across lists
- Avatar stacks - Good visual representation of users
- Clickable entities - Easy navigation to details
- Status badges - Clear visual indicators (where implemented)
What's Missing Across All Lists
- Search - No global search functionality
- Advanced filtering - Limited or no filter options
- Bulk actions - Row selection exists but no actions
- Alternative views - Only table view available
- Export - No data export functionality
- Saved views - Can't save filter/sort preferences
- Column customization - Can't show/hide columns
Proposed Improvements
Phase 1: Essential Features
Priority: High
-
Global Search
- Add search bar above each list
- Search across all visible columns
- Debounced input for performance
-
Basic Filters
- Status filters (where applicable)
- Date range filters
- Author/assignee filters
-
Bulk Actions
- Archive/delete selected items
- Change status (where applicable)
- Export selected items
Phase 2: Enhanced UX
Priority: Medium
-
Alternative Views
- Card grid view
- Kanban view (for sessions)
- Timeline view (for sessions)
-
Tags & Labels
- User-defined tags
- Color coding
- Tag filtering
-
Saved Views
- Save filter/sort preferences
- Share views with team
- Default views per user
Phase 3: Advanced Features
Priority: Low
-
Column Customization
- Show/hide columns
- Reorder columns
- Column width preferences
-
Export Functionality
- CSV export
- PDF export
- Filtered export
-
Analytics & Insights
- Summary statistics
- Trend charts
- Activity heatmaps
Implementation Recommendations
1. Create Shared Components
Build reusable components for common patterns:
<RecordListHeader />
- Search bar
- Filter dropdowns
- View switcher
- Bulk action buttons
<RecordListFilters />
- Configurable filter options
- Date range picker
- Multi-select dropdowns
<RecordListBulkActions />
- Action menu
- Confirmation dialogs
- Progress indicators
2. Standardize Data Fetching
Create consistent hooks for list data:
// ✅ GOOD: Consistent pattern
const {
data,
isLoading,
filters,
setFilters,
search,
setSearch,
selectedRows,
bulkAction
} = useRecordList({
type: 'workflows',
workspaceId
})3. Progressive Enhancement
Start with existing lists that need it most:
- Sessions List - Already has filter buttons, build on that
- Workflows List - High traffic, needs search
- Sheets List - Backend support exists, just needs UI