Sno Station
Sno Station is your agents' workstation: open-source software that turns the AI agents you already run into one squad on your own machine. Two heads are better than one, and they get better with every
google-meet-gemini-to-notebooklm
Translation pending
PluginsTypeScript · JavaScriptGitHub @benoit-prentoutSelf-installOwner unconfirmed
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Installable projects can be verified without a deployment domain. Use GitHub sign-in for a personal repository, or the repository verification file above for an organization repository.
Ask about other verification options
Loading the full README. The saved excerpt is shown below.
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:
1. Click here to Make a Copy of the Template
2. In your new document, refresh the page.
3. A new 🚀 NotebookLM menu will appear.
4. Run 🔄 Sync Now and follow the authorization prompts.Read the full README ↗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:
🔧 Recreating the template (if the link above ever breaks)
- Create a new empty Google Doc at docs.google.com/document/create
- Open Extensions > Apps Script, delete the default code, and paste the entire content of
apps-script/Code.gs- Name the project "Sync NotebookLM" and click Save
- In the Apps Script editor, add the Drive API (v3) and Docs API (v1) via the Services panel (+)
- Click Deploy > New deployment > Web app:
- Execute as: Me
- Who has access: Anyone
- Copy the resulting deployment URL (
https://script.google.com/macros/s/{id}/exec)- Update the link in this README (line 14 above) with the new doc URL +
/copyat the end
meetsync.zipchrome://extensionsmbbmbndohpgkigldmbpbilfcimbpkkje (fixed by the manifest key, the same wherever you unzip the extension).apps-script/Code.gs into 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.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.
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:
apps-script/Code.gs and paste it into the editor.The script needs direct access to Drive and Docs APIs.
appendMeetNotesToMaster is selected and click Run.To have the sync run automatically every 15 minutes:
| 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. |
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 → meetsync.zip
Dev 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