6.5 KiB
Executable File
title, aliases, created, updated, tags, related
| title | aliases | created | updated | tags | related | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Zoom AI Transcript Export |
|
2026-05-11 | 2026-10-04 |
|
|
Automating Zoom AI Meeting Transcript/Summary Export
Связано: executor-security-analysis
Проверено 2026-10-04
- Zoom My Notes включён и автоматически транскрибирует Zoom, Teams, Google Meet и другие встречи.
- Заметки хранятся в Zoom Cloud и открываются через
https://us01mynotes.zoom.us. - У каждой заметки есть постоянный
note_idв URL:https://us01mynotes.zoom.us/{note_id}. - Страница заметки содержит полный transcript: текст, спикеров и временные метки.
- Текущий корпоративный аккаунт не разрешает создавать приложения в Zoom Marketplace: General App, Server-to-Server OAuth и Webhook Only App отключены. Раздел User Management → Roles пользователю недоступен.
- Открытая вкладка My Notes сама ничего не экспортирует. Ночной headless Chrome авторизован в отдельном профиле. LaunchAgent запускает импорт ежедневно в 02:15 (Asia/Bishkek) и закрывает браузер после работы.
Options
1. Встроенный Zoom Workflow — только обработанные итоги
В My Notes есть кнопка Workflow. Проверенные готовые сценарии:
- Send Meeting Summary to Gmail
- Save Meeting Summary to Google Docs
- Generate Post-Meeting Action Tracker
- Log Meeting Summary as Salesforce Note
Они работают с summary и action items. Готового Workflow для автоматического сохранения полного сырого transcript не обнаружено.
2. Zoom My Notes API — справочная альтернатива
Endpoints:
GET /v2/my_notes/notes?meeting_id={meeting_id}— список заметок встречиGET /v2/my_notes/notes/{note_id}/content?include=transcript— заметка, AI content и полный transcript
Required scopes:
my_notes:read:notemy_notes:read:content
Webhook:
my_notes.transcript_generated
Этот путь не используется в текущей реализации.
3. Браузерный экспортёр — выбранная реализация
Экспортёр сам запускает отдельный авторизованный Chrome в headless-режиме:
- Открывает My Notes → All notes.
- Собирает
note_idи обрабатывает только новые заметки. - Открывает каждую страницу заметки.
- Извлекает transcript из страницы.
- Сохраняет Markdown и JSON в Obsidian; индекс по
note_idне допускает повторов. Индексация в pgvector остаётся отдельным этапом.
Текущая структура:
/Users/admin/obsidian/work/zoom-transcripts/
index.json
2026-09-29 Meeting title {note_id}/
transcript.md
transcript.json
Авторизация хранится в отдельном профиле ~/.config/personal-os/zoom-browser-profile. Пользовательский Chrome не нужен: экспортёр открывает My Notes и закрывает браузер после завершения. Код браузерного импорта: personal-os commit 4b403ed; запасной API-импортёр сохранён в commit 2728aee, но не активирован из-за ограничений корпоративного Zoom. Проверка Zoom: 14/14 тестов прошли.
4. Zoom MCP connector
Официальный Zoom MCP может получать материалы встреч при наличии разрешённых scopes. Для текущего корпоративного аккаунта доступ к данным через MCP нужно проверять отдельно: наличие одобренного коннектора не гарантирует разрешение на полный My Notes transcript.
Caveats
- My Notes transcript retention включён и управляется политикой аккаунта. Заметки могут удаляться автоматически.
- Два transcript от 29 сентября сохранены в Obsidian. Два ручных запуска LaunchAgent завершились с кодом 0, но нашли 0 новых заметок; по ночному расписанию импорт ещё не проверен. Первый запуск по расписанию — 5 октября. Старый Codex heartbeat остановлен.
- Пользовательский Chrome может оставаться закрытым: расписание использует отдельный headless-профиль.
ZOOM_BROWSER_SINCEпо умолчанию равен2026-09-30; более ранние заметки требуют явного backfill.
Recommended path
- ✅ Headless-экспортёр и ночной LaunchAgent активны; отдельный Chrome-профиль авторизован.
- ✅ Markdown + JSON сохраняются в Obsidian с дедупликацией по
note_id. - ⏳ Проверить запуск 5 октября по расписанию и первый новый transcript; код 0 при
scanned: 0доказывает только успешный пустой проход. - ⏳ Превращение всех сохранённых transcript в проверенные обязательства/карьерные факты и индексация в pgvector ещё не завершены.