/lo/meetings and provides a list of scheduled leadership meetings with filtering by type, status, and search, plus an upcoming meetings section.
Overview
TheMeetingsPage loads meetings via useMeetings (with search and filter parameters) and upcoming meetings via useUpcomingMeetings(3). The page header reads “Meetings” with the description “Structured meetings for Level 10, Quarterly, and Annual Planning”. Filters include meeting type and status selectors, plus a search input. The ?action=new query parameter (used by keyboard shortcut Cmd/Ctrl+M from the dashboard) opens the MeetingFormDialog automatically. Each meeting is rendered as a MeetingCard. The “Schedule Meeting” button opens MeetingFormDialog to create a new meeting.
Who it’s for
RequiresLO_PERMISSIONS.DASHBOARD_VIEW (lo.dashboard.view) via the shared LOViewGuard. Creating meetings uses lo.meetings.create; admin operations use lo.meetings.admin.
Before you start
lo.dashboard.viewpermission required.- An active organization context is required.
Steps
1
Navigate to Meetings
Go to
/lo/meetings. The page loads all meetings for the organization.2
View upcoming meetings
An upcoming meetings section shows the next three meetings from
useUpcomingMeetings.3
Filter meetings
Use the type and status dropdowns or the search input to narrow results.
4
Open a meeting
Select a
MeetingCard to navigate to /lo/meetings/:meetingId for full detail.5
Schedule a meeting
Select “Schedule Meeting” or navigate to
/lo/meetings?action=new to open MeetingFormDialog.Key concepts
- Meeting types:
level_10(Level 10),quarterly(Quarterly),annual_planning(Annual Planning),other. - MeetingFilters:
MeetingStatus,MeetingType, andsearchstring. ?action=new: query parameter that auto-opens the create dialog (cleared after use).
Viewing a meeting
The Meeting Details screen is accessible at/lo/meetings/:meetingId and provides tabbed management of a meeting’s agenda, attendees, notes, action items, and linked platform tasks.
The MeetingDetailPage fetches a meeting via useMeeting and mutations via useMeetingMutation. The page header shows the meeting title, type label (Level 10, Quarterly, Annual Planning, Other), date, status badge, and action buttons (Start, End, Edit, Delete). Five tabs — Agenda, Attendees, Notes, Actions, and Tasks — are URL-synced via useTabUrlState. MeetingAgendaEditor manages the agenda, MeetingAttendeesManager manages attendees, MeetingNotesEditor manages meeting notes, MeetingActionItemsPanel manages action items, and SourceTasksPanel (via useTasks) shows linked platform tasks. Deletion is confirmed via an AlertDialog.
Permissions: lo.dashboard.view required; admin operations use lo.meetings.admin. The meeting identified by :meetingId must exist.
- Open a meeting: navigate to
/lo/meetings/:meetingIdor select a meeting from the Meetings list. - Manage the agenda: on the Agenda tab, use
MeetingAgendaEditorto add and reorder agenda items. - Manage attendees: on the Attendees tab, use
MeetingAttendeesManagerto add or remove attendees. - Take notes: on the Notes tab, use
MeetingNotesEditorto capture meeting notes. - Track action items: on the Actions tab, use
MeetingActionItemsPanelto log and assign action items. - View linked tasks: on the Tasks tab, see platform tasks linked to this meeting via
SourceTasksPanel. - Start the meeting: select Start to transition the meeting status to
in_progress. - End the meeting: select End (Square icon) to transition the status to
completed. - Edit or delete: use the Edit button to open
MeetingFormDialog, or Delete to confirm removal.
- Status flow:
scheduled→in_progress→completed;cancelledis also a valid status. - Type labels:
level_10→ Level 10,quarterly→ Quarterly,annual_planning→ Annual Planning,other→ Other. - Tab URL sync: active tab is stored in the URL via
useTabUrlState.
Scheduling a meeting
The path/lo/meetings/new is not defined in src/routes/lo.tsx and is not a standalone screen. New meetings are created via the MeetingFormDialog modal, opened from the /lo/meetings list page using the “Schedule Meeting” button or the ?action=new query parameter (triggered by the keyboard shortcut Cmd/Ctrl+M on the dashboard). The :meetingId route would match /lo/meetings/new with new as the ID, rendering an empty state.
To schedule a meeting: go to /lo/meetings and select “Schedule Meeting” (or use Cmd/Ctrl+M from the dashboard) to open MeetingFormDialog.
Related
Leadership
Leadership core overview.
Governance & parity
Documentation coverage and governance.
This page documents shipped product behavior. It is not medical, legal, or
billing advice. Verify against your organization’s policies and applicable
regulations before using it for clinical, compliance, or billing decisions.
Protected health information (PHI) shown in the product is governed by your
tenant’s access controls and is never exposed in this documentation.
Documentation sources
Documentation sources
- src/routes/lo.tsx
- src/cores/lo/pages/MeetingsPage.tsx
- src/cores/lo/pages/MeetingDetailPage.tsx
- src/cores/lo/hooks/useMeetings.ts