Automatically consolidate all your Google Meet notes into a single Master Google Doc — a living, unlimited knowledge base for NotebookLM or any other AI tool.
The easiest way to use this tool is to copy the pre-configured template:
- Click here to Make a Copy of the Template
- In your new document, refresh the page.
- A new 🚀 NotebookLM menu will appear.
- Run 🔄 Sync Now and follow the authorization prompts.
- Go to the Releases page
- Download the latest
meet-gemini-notebooklm.zip - Unzip it somewhere on your machine
- Open Chrome to
chrome://extensions - Enable Developer mode (toggle in the top-right corner)
- Click Load unpacked and select the unzipped folder
- Complete the setup wizard with your deployment URL and script project ID
- Create OAuth credentials — follow Google Cloud Setup
- Deploy the Apps Script backend — copy
apps-script/Code.gsinto an Apps Script project bound to your master Google Doc, enable Drive + Docs APIs, and deploy as a web app. Or use the Deploy Backend button in extension Settings for auto-deploy. - Enter your deployment URL and script project ID in the extension's setup wizard.
NotebookLM limits its sources to 50. By grouping months of meetings into a single document, you enable any AI tool to make long-term connections without ever hitting source limits.
- 👥 Team Support: Fetches meeting notes organized by your colleagues (files in "Shared with me", "Shared Drives", or files containing "Notes par Gemini").
- 📊 Summary Table: An automatically generated table at the top of your document lists all synced meetings.
- 📦 Auto-Archiving: Automatic archives are created monthly or when the document size reaches the limit.
- 📧 Email Notifications: Receive an email with the link to your new archive as soon as it is created.
- 🛡️ Smart Sync: Works even on files where you only have view-only access.
- ⚡ Performance: Uses advanced Google APIs to process 20+ meetings in seconds.
- 🔄 Backend Auto-Deploy: Push Code.gs updates directly from the extension Settings via the Apps Script REST API — no manual copy-paste needed.
- 📈 Analytics Dashboard: Multi-section insights dashboard with charts showing sync frequency, files processed, doc growth rate, success rates, and sync streaks.
- 🗃️ Archive History: Full history of archive events tracked and visible in the Analytics view.
- Global Scan: The script searches for Gemini note variants ("Notes de la réunion", "Meeting notes", etc.) everywhere on your Drive.
- Filtering: It ignores already-synced files using an internal script database.
- Cleaning: It extracts text, removes Gemini-specific metadata, and simplifies Markdown formatting.
- Insertion: It adds new notes to the top of the doc and updates the summary table.
- Archiving: Monthly or when full, it creates a "Meeting Notes Archive" and resets the master doc.
- Create a new, empty Google Doc (e.g., "Master - Meeting Notes").
- Inside this doc, go to the menu Extensions > Apps Script.
Choose one:
Option A — Auto-Deploy (recommended): Complete the Chrome extension Setup wizard, then in Settings click Deploy Backend. The extension pushes the code via the Apps Script API — no manual copy-paste needed.
Option B — Manual copy:
- Delete everything in the script editor.
- Copy the entire content of
apps-script/Code.gsand paste it into the editor. - Save and name the project "Sync NotebookLM".
The script needs direct access to Drive and Docs APIs.
- In Apps Script editor, click the + next to Services.
- Search for Google Drive API (v3) and click Add.
- Click the + again, search for Google Docs API (v1) and click Add.
- In the top toolbar, ensure
appendMeetNotesToMasteris selected and click Run. - An authorization window will appear: follow the prompts to Allow the script.
- Go back to your Google Doc and refresh the page. A new 🚀 NotebookLM menu will appear!
To have the sync run automatically every 15 minutes:
- In your Google Doc, go to the menu 🚀 NotebookLM > ⏰ Enable Auto-Sync.
- That's it! The script will now run in the background.
| Option | Description |
|---|---|
| 🔄 Sync Now | Forces an immediate sync of the latest meetings. |
| ⏰ Enable Auto-Sync | Activates the 15-minute background synchronization. |
| 📜 View Sync History | Displays a log of recent synchronization runs. |
| 📦 Archive Document Now | Manually empty the master doc and create a timestamped archive. |
| 🧹 Reset Sync State | Useful if you want to re-import everything from scratch. |
| ❓ Start Here / Help | Shows instructions and quick tips. |
- Go to NotebookLM.
- Create a new Notebook.
- Add your Master Google Doc as a source.
- Important: Every time you use NotebookLM, click the Refresh button next to the Google Doc source so it picks up the latest meetings.
- Archives: When an archive is created, don't forget to add the archive file as a source in NotebookLM to keep your full history!
npm run dev # Vite dev server at localhost:5173 (chrome APIs mocked)
npm run build # tsc + vite build → dist/
npm test # vitest run
npm run package # build + zip → meet-gemini-notebooklm.zipDev entry points (bypass chrome-extension:// restrictions):
| URL | Renders |
|---|---|
/dashboard.html |
Full auth + dashboard flow (conditional mock) |
/dashboard-dev.html |
<Dashboard /> directly, mocked data |
/popup-dev.html |
<Popup /> directly, mocked data |
/wizard-dev.html |
<SetupWizard /> with scenario picker |
Mocks live in src/dev-mocks.ts. Tree-shaken from production builds.
MIT
