Web UI Guide
Web UI Guide
Section titled “Web UI Guide”Table of Contents
Section titled “Table of Contents”- Overview
- Navigation
- Meeting List / Dashboard
- Manual Action Alerts
- Virtual Participant Pages
- Meeting Detail Page
- Sentiment Analysis
- Transcript Downloads
- Meeting Sharing
- Meeting Deletion
- Live Translation
- Admin Configuration Pages
- Deployment Info
Overview
Section titled “Overview”The LMA web UI is a React application hosted on Amazon S3 and served via Amazon CloudFront. Authentication is handled by Amazon Cognito, which manages user sign-up, sign-in, and access control. The UI provides real-time meeting transcription, an AI-powered chat assistant, meeting management, and administrative configuration.
Navigation
Section titled “Navigation”The left sidebar organizes the application into the following sections:
Sources
Section titled “Sources”- Virtual Participant — Join meetings via a virtual participant bot
- Stream Audio (from Mic+Browser) — Stream audio directly to LMA from any Chrome tab (meetings, softphones, YouTube, audio/video playback)
- Chrome Extension — Information, download, and install instructions for the LMA Chrome browser extension (see Browser Extension)
Meetings
Section titled “Meetings”- Meeting List — View and manage all accessible meetings
- Meetings Query Tool — Advanced search and filtering across meetings
Configuration (admin only)
Section titled “Configuration (admin only)”- MCP Servers — Install and manage MCP server integrations
- Nova Sonic — Configure the Nova Sonic voice assistant
- Transcript Summary — Manage summary prompt templates
- User Management — Create and delete LMA users (see User Management)
Deployment Info
Section titled “Deployment Info”- Stack name, build date, and version information
Meeting List / Dashboard
Section titled “Meeting List / Dashboard”The meeting list provides a searchable dashboard of all meetings you have access to.
- Columns: Meeting Topic, Date/Time, Duration, Status, Owner, Shared With
- Status indicators: In Progress, Ended
- Multi-select: Check multiple meetings for batch operations (share, delete)
- Configurable time range: Use the Load dropdown to choose a preset window (2 hrs, 4 hrs, 8 hrs, 1 day, 2 days, 1 week, 2 weeks, 30 days) or pick Custom… to open a modal with explicit Start date + Start time (UTC) + End date + End time (UTC) inputs (±365-day window). The selected range is persisted in
localStorageand the list header shows both the number of loaded meetings and the RBAC-filtered server-side total (e.g.42 loaded of 127or500+when the count is truncated). The meeting list is served by a DynamoDB GSI (TypeDateIndex) and a Lambda resolver that paginates a single date-range query, so performance scales to thousands of meetings without scans.
Use the search bar to filter meetings by topic or other attributes.
Manual Action Alerts
Section titled “Manual Action Alerts”A persistent Flashbar at the top of the LMA UI surfaces any of your Virtual Participants currently in the MANUAL_ACTION_REQUIRED state — a CAPTCHA, 2FA prompt, SSO redirect, unknown consent dialog, or other Zoom verification step that needs human input. Each alert links directly to the affected meeting detail page where you can open the live VNC viewer and complete the challenge.
- Alerts arrive in real time via an AppSync GraphQL subscription, with a one-time backfill on page load so anything fired while the tab was closed still shows up.
- Each alert is dismissible — dismissed alerts are remembered in
localStorage(per VP id) so they don’t reappear on every refresh after you’ve dealt with them. - If you grant the browser notification permission in the LMA UI, you also get a desktop notification + audio chime when a new MANUAL_ACTION fires — useful when you’re tabbed-away or in another window. Most browsers prompt for this permission on first sign-in; deny and it falls back to in-page alerts only.
See Troubleshooting › VP Stuck at MANUAL_ACTION_REQUIRED for how to resolve specific challenge types.
Virtual Participant Pages
Section titled “Virtual Participant Pages”The Virtual Participant section of the UI has two views.
Virtual Participant List
Section titled “Virtual Participant List”The Virtual Participants sidebar entry opens a list of your in-flight and recent VPs, with status, owner, meeting platform, and meeting name. New VPs appear in the list without a page refresh — the list subscribes to onCreateVirtualParticipant GraphQL events.
Create Virtual Participant modal
Section titled “Create Virtual Participant modal”The Create Virtual Participant button opens a modal where you enter meeting details and launch the VP. When Zoom is selected as the platform, the modal includes a Zoom account card:
- ✅ Signed in as user@example.com — [Update] [Remove] — your stored Zoom credentials are present. Tick “Sign in with my stored Zoom account when joining this meeting” to use them; the VP signs in to Zoom before navigating to the meeting URL.
- ⚠ Not configured. The VP will join as a guest. [Add Zoom credentials] — no credentials stored. Click to open a sub-modal with username + password fields. Credentials are stored in AWS Secrets Manager scoped to your Cognito sub; the plaintext password is never returned to the UI.
For the full sign-in flow, join-reliability notes, and operational caveats, see Zoom Sign-in & Join Reliability.
Virtual Participant detail page
Section titled “Virtual Participant detail page”Click a VP from the list to open its detail page. The page shows:
- Connection details — platform, meeting ID, duration, status (with the granular status lifecycle described in Virtual Participant › Status Lifecycle).
- Action banner above the VNC viewer when the VP is in
MANUAL_ACTION_REQUIRED— describes what challenge needs solving (CAPTCHA, 2FA, SSO, etc.). - Live Virtual Participant View — embedded noVNC viewer of the VP’s Chrome window. Toggle View Only off to interact with the VP’s browser (type a 2FA code, solve a CAPTCHA, click through SSO).
- Troubleshooting card — when a VP fails, the human-readable
errorMessagewritten by the VP backend is displayed here, along with common solutions for that error class. - Status history with timestamps for each state transition.
Meeting Detail Page
Section titled “Meeting Detail Page”Clicking a meeting from the list opens the meeting detail page, which contains several panels and sections.
Transcript Panel
Section titled “Transcript Panel”Real-time transcription displayed with:
- Speaker names and timestamps for each segment
- Sentiment indicators per segment
- Color-coded entries by channel for easy visual distinction between speakers
Chat Panel
Section titled “Chat Panel”Interact with the meeting assistant by typing questions or requests:
- Real-time token streaming responses from the Strands agent
- Chat shortcut buttons for common actions: Summary, Action Items, Topic, and more
- Shortcut buttons re-appear after each response for quick follow-up actions
Summary Section
Section titled “Summary Section”- On-demand summaries generated during the meeting
- Post-meeting summaries generated automatically when the meeting ends
- Multiple sections based on configured prompt templates
- Copy to clipboard support for easy sharing
Audio Playback
Section titled “Audio Playback”When recording is enabled, a WAV recording player is available for audio playback of the meeting.
VNC Viewer
Section titled “VNC Viewer”When a Virtual Participant (VP) is active, a real-time VNC viewer displays the VP’s browser view. This allows you to see and control what the VP sees in the meeting.
Meeting Metadata
Section titled “Meeting Metadata”Displays detailed meeting information including:
- Call ID, status, and duration
- Participants list
- Owner and shared users
- TTL (time-to-live) expiration
Sentiment Analysis
Section titled “Sentiment Analysis”LMA provides sentiment analysis at multiple levels:
- Per-segment indicators — Each transcript segment displays a sentiment indicator
- Overall sentiment per channel — Aggregated sentiment for each speaker/channel
- Sentiment trend visualization — Track how sentiment changes over the course of the meeting
Transcript Downloads
Section titled “Transcript Downloads”Export meeting transcripts in multiple formats:
- XLSX — Spreadsheet format with structured columns
- DOCX — Word document format
- TXT — Plain text format
All export formats include speaker attribution and timestamps for each segment.
Meeting Sharing
Section titled “Meeting Sharing”Share meetings with other LMA users:
- Select one or more meetings from the meeting list
- Click the share icon
- Enter recipient email addresses
- Click Submit
Only meeting owners can share meetings. Recipients receive read-only access to the shared meetings. For full details, see User-Based Access Control.
Meeting Deletion
Section titled “Meeting Deletion”Delete meetings you own:
- Select one or more owned meetings from the meeting list
- Click the delete icon
- Type “confirm” in the confirmation dialog
- Click Delete
Shared users automatically lose access to deleted meetings. For full details, see User-Based Access Control.
Live Translation
Section titled “Live Translation”Translate meeting transcripts in real-time:
- Select a target language from the language dropdown
- Choose from 75+ languages powered by Amazon Translate
- Translation is performed client-side for low latency
Live translation applies to the transcript panel and updates as new segments arrive.
Admin Configuration Pages
Section titled “Admin Configuration Pages”The following configuration pages are available to admin users only.
MCP Servers
Section titled “MCP Servers”Route: /#/configuration/mcp-servers
Install and manage MCP (Model Context Protocol) servers to extend the meeting assistant’s capabilities with external tools and services.
See MCP Servers for full documentation.
Nova Sonic
Section titled “Nova Sonic”Route: /#/configuration/nova-sonic
Configure the Nova Sonic voice assistant settings:
- Voice assistant prompt customization
- Voice ID selection
- Endpointing sensitivity adjustment
- Group meeting mode toggle
See Nova Sonic 2 Setup for full documentation.
Transcript Summary
Section titled “Transcript Summary”Route: /#/configuration/transcript-summary
Manage the prompt templates used for generating meeting summaries:
- View default prompts provided by LMA
- Create custom prompt templates
- Edit and delete existing custom templates
User Management
Section titled “User Management”Route: /#/configuration/user-management
Create and delete LMA users (Admin and non-Admin), directly from the Web UI without needing the AWS console.
- View all users in the Cognito user pool, with role, status, and creation date
- Create a new user and choose their role (Admin or User) — Cognito emails them a temporary password
- Select and delete one or more users
- Guard rails prevent self-delete and deletion of the last remaining Admin
See User Management for full documentation.
Chat Buttons
Section titled “Chat Buttons”Customize the chat shortcut buttons that appear in the meeting chat panel:
- Open the Edit Chat Buttons modal from the meeting detail page
- Add new shortcut buttons with custom labels and prompts
- Edit existing button labels and prompts
- Delete buttons you no longer need
Deployment Info
Section titled “Deployment Info”The deployment info section in the sidebar displays:
- Stack name — The CloudFormation stack name for your LMA deployment
- Build timestamp — When the current version was built
- Version — The LMA version number, sourced from CloudFormation outputs