> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Leadership Meetings

> View, schedule, and manage structured leadership meetings (Level 10, Quarterly, Annual Planning) with agenda, attendees, notes, and action items.

The Meetings screen is accessible at `/lo/meetings` and provides a list of scheduled leadership meetings with filtering by type, status, and search, plus an upcoming meetings section.

## Overview

The `MeetingsPage` 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

Requires `LO_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.view` permission required.
* An active organization context is required.

## Steps

<Steps>
  <Step title="Navigate to Meetings">Go to `/lo/meetings`. The page loads all meetings for the organization.</Step>
  <Step title="View upcoming meetings">An upcoming meetings section shows the next three meetings from `useUpcomingMeetings`.</Step>
  <Step title="Filter meetings">Use the type and status dropdowns or the search input to narrow results.</Step>
  <Step title="Open a meeting">Select a `MeetingCard` to navigate to `/lo/meetings/:meetingId` for full detail.</Step>
  <Step title="Schedule a meeting">Select "Schedule Meeting" or navigate to `/lo/meetings?action=new` to open `MeetingFormDialog`.</Step>
</Steps>

## Key concepts

* **Meeting types**: `level_10` (Level 10), `quarterly` (Quarterly), `annual_planning` (Annual Planning), `other`.
* **MeetingFilters**: `MeetingStatus`, `MeetingType`, and `search` string.
* **`?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.

1. Open a meeting: navigate to `/lo/meetings/:meetingId` or select a meeting from the Meetings list.
2. Manage the agenda: on the Agenda tab, use `MeetingAgendaEditor` to add and reorder agenda items.
3. Manage attendees: on the Attendees tab, use `MeetingAttendeesManager` to add or remove attendees.
4. Take notes: on the Notes tab, use `MeetingNotesEditor` to capture meeting notes.
5. Track action items: on the Actions tab, use `MeetingActionItemsPanel` to log and assign action items.
6. View linked tasks: on the Tasks tab, see platform tasks linked to this meeting via `SourceTasksPanel`.
7. Start the meeting: select Start to transition the meeting status to `in_progress`.
8. End the meeting: select End (Square icon) to transition the status to `completed`.
9. Edit or delete: use the Edit button to open `MeetingFormDialog`, or Delete to confirm removal.

**Key concepts:**

* **Status flow**: `scheduled` → `in_progress` → `completed`; `cancelled` is 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

<Columns cols={2}>
  <Card title="Leadership" icon="compass" href="/lo/overview">
    Leadership core overview.
  </Card>

  <Card title="Governance & parity" icon="scale-balanced" href="/governance/index">
    Documentation coverage and governance.
  </Card>
</Columns>

<Note>
  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.
</Note>

<Accordion title="Documentation sources">
  * src/routes/lo.tsx
  * src/cores/lo/pages/MeetingsPage.tsx
  * src/cores/lo/pages/MeetingDetailPage.tsx
  * src/cores/lo/hooks/useMeetings.ts
</Accordion>
