The Google Meet™ for Moodle plugin allows teachers to create Google Meet rooms directly from Moodle and share meeting recordings stored in Google Drive with students.
Note: This is a fork of ronefel/moodle-mod_googlemeet with modernizations and improvements for Moodle 4.x.
- Create Google Meet rooms directly from Moodle without leaving the platform
- Schedule sessions with support for recurring events (daily, weekly)
- Exclusion periods to skip sessions during holidays (Christmas, Easter, etc.)
- Cancelled sessions marking for individual dates with optional reason
- Upcoming events cards showing session status (Live, Starting soon, Scheduled, Cancelled)
- Configurable event limit to control how many upcoming events are displayed
- Recording management with card-based UI for easy access to meeting recordings
- Google Drive integration to sync and display recordings automatically
- Visibility controls for teachers to show/hide recordings from students
- Student notifications before scheduled sessions
- Calendar integration with Moodle calendar events
- Mobile app support for Moodle mobile app (Ionic 5+)
- Custom recording filter to specify the exact name pattern to search in Google Drive
- Sync feedback showing how many recordings were added, updated, or removed
- Pagination with configurable recordings per page
- Sorting options (newest/oldest first)
- Automatic subtitle extraction from Google Drive recordings (no video download needed)
- AI Video Analysis using Google Gemini to automatically analyze meeting recordings
- Manual transcript analysis - paste Google Meet transcripts and analyze with Gemini
- Automatic summaries generated from video content (educational content only, ignores small talk)
- Key points extraction highlighting the most important learning points
- Topic tags for quick content identification
- Auto language detection - summaries generated in the same language as the content
- Preview cards showing AI summary and topics directly in recording list
- Teacher-only generation - professors generate analysis once, students view without API calls
- Background processing with scheduled task for queued analyses
- CLI bulk processing for batch transcript extraction and analysis
- Default model: Gemini 3 Flash Preview (latest Google AI model)
- Moodle 4.0 or higher
- PHP 7.4 or higher
- Copy this plugin to the
mod/googlemeetfolder on the server - Login as administrator
- Go to Site Administrator > Notifications
- Install the plugin
- Configure OAuth 2 service for Google (see below)
To create Google Meet rooms from Moodle, you need an active OAuth 2 service for Google.
Learn how to create Client ID and Client Secret
- Turn editing on in your course
- Add an activity > Google Meet
- Enter the meeting name and configure options
- Save the activity
- Open the Google Meet activity
- Login with your Google account (if not already logged in)
- Click "Sync with Google Drive" to fetch recordings
- Use the visibility toggle to show/hide recordings from students
- Get a free Gemini API key from Google AI Studio
- Go to Site Administration > Plugins > Activity modules > Google Meet
- Enable AI features and enter your API key
- Select your preferred model (Flash for speed, Pro for quality)
- Optionally enable auto-generation for new recordings
- Open a Google Meet activity with synced recordings
- Click the expand button (▼) on any recording to view AI analysis
- Teachers can click "Generate AI Analysis" to create analysis from video
- Alternatively, teachers can click the edit icon and paste a Google Meet transcript to analyze
- Students will see the summary preview directly in the recording card
- Click on the preview or expand button to see the full analysis
- Use "Copy" to copy the transcript to clipboard
Extract subtitles and run AI analysis for all recordings in one command:
# Requires yt-dlp: curl -sL https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /tmp/yt-dlp && chmod +x /tmp/yt-dlp
# Process all recordings for a Google Meet activity
php admin/cli/process_transcripts.php --googlemeetid=1
# Dry run (preview without changes)
php admin/cli/process_transcripts.php --googlemeetid=1 --dry-run
# Process a single recording
php admin/cli/process_transcripts.php --googlemeetid=1 --recordingid=4
# Extract subtitles only (skip Gemini analysis)
php admin/cli/process_transcripts.php --googlemeetid=1 --skip-geminiThe CLI script extracts Google Drive's auto-generated subtitles (~200KB) instead of downloading the full video (~1GB), making it much faster and lighter.
- Automatic subtitle extraction from Google Drive recordings using yt-dlp
- Extracts auto-generated captions without downloading the full video
- 3-tier analysis: existing transcript → subtitle extraction → video upload (fallback)
- New
subtitle_extractorclass for reusable subtitle fetching
- CLI bulk processing (
cli/process_transcripts.php) for batch operations- Process all recordings in a Google Meet activity with one command
- Supports dry-run, single recording, and skip-gemini modes
- Requires: yt-dlp for subtitle extraction
- Manual transcript analysis - paste Google Meet transcripts and analyze with Gemini
- Updated default model to Gemini 3 Flash Preview (December 2025)
- Educational content focus - AI ignores small talk and focuses on curriculum
- Auto language detection - analysis in the same language as the transcript
- Improved UX - chevron expand icon instead of star, solid blue theme colors
- Custom recording filter - specify text pattern to match recordings in Google Drive
- Sync feedback - shows count of added, updated, and removed recordings
- Manual AI editing - teachers can manually enter/edit summaries, key points, and topics
- Transcript section hidden from students (teachers only)
- Recordings pagination with configurable items per page
- Sorting options (newest/oldest first)
- Improved disk space management for video processing
- Added AI-powered video analysis using Google Gemini API
- Generate summaries, key points, topics, and transcripts from recordings
- Beautiful preview cards with AI content directly in recording list
- Background task processing for asynchronous analysis
- Teacher-only generation with student viewing (no API calls for students)
- Added cancelled sessions feature for individual date cancellations with optional reason
- Added configurable maximum upcoming events setting
- Cancelled sessions display with visual indicator and reason
- Added exclusion periods for recurring events (skip holidays like Christmas, Easter)
- Modernized codebase for Moodle 4.0+ compatibility
- Removed deprecated Ionic 3 mobile support
- Removed deprecated
core-course-module-descriptioncomponent - Replaced deprecated
notice()andinsert_records()functions - Removed insecure
unserialize()usage - Removed legacy logging system (now uses events)
- Updated minimum requirements to Moodle 4.0
- Fixed play button styling in recordings
If you discover any security related issues, please use the GitHub issue tracker.
Original author:
- Rone Santos ronefel@hotmail.com - ronefel/moodle-mod_googlemeet
Fork maintainer:
Development assistance:
- Code modernization and improvements completed with the assistance of Claude (Anthropic)
The GNU GENERAL PUBLIC LICENSE. Please see License File for more information.
©2018 Google LLC All rights reserved. Google Meet and the Google Meet logo are registered trademarks of Google LLC.