Skip to content

Web UI Guide

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.

The left sidebar organizes the application into the following sections:

  • 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)
  • Meeting List — View and manage all accessible meetings
  • Meetings Query Tool — Advanced search and filtering across meetings
  • 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)
  • Stack name, build date, and version information

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 localStorage and the list header shows both the number of loaded meetings and the RBAC-filtered server-side total (e.g. 42 loaded of 127 or 500+ 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.

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.

The Virtual Participant section of the UI has two views.

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.

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.

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 errorMessage written by the VP backend is displayed here, along with common solutions for that error class.
  • Status history with timestamps for each state transition.

Clicking a meeting from the list opens the meeting detail page, which contains several panels and sections.

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

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
  • 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

When recording is enabled, a WAV recording player is available for audio playback of the meeting.

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.

Displays detailed meeting information including:

  • Call ID, status, and duration
  • Participants list
  • Owner and shared users
  • TTL (time-to-live) expiration

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

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.

Share meetings with other LMA users:

  1. Select one or more meetings from the meeting list
  2. Click the share icon
  3. Enter recipient email addresses
  4. 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.

Delete meetings you own:

  1. Select one or more owned meetings from the meeting list
  2. Click the delete icon
  3. Type “confirm” in the confirmation dialog
  4. Click Delete

Shared users automatically lose access to deleted meetings. For full details, see User-Based Access Control.

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.

The following configuration pages are available to admin users only.

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.

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.

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

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.

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

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