Files
obsidian-vault/personal/projects/personal-os/zoom-ai-transcript-export.md
T

6.5 KiB
Executable File
Raw Blame History

title, aliases, created, updated, tags, related
title aliases created updated tags related
Zoom AI Transcript Export
Zoom transcript
zoom-ai-transcript-export
Zoom automation
2026-05-11 2026-10-04
zoom-ai-transcript-export
personal-os
automation
zoom
pgvector
webhook
personal/projects/personal-os/executor-security-analysis
personal/projects/personal-os/hermes-calendar-access

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:note
  • my_notes:read:content

Webhook:

  • my_notes.transcript_generated

Этот путь не используется в текущей реализации.

3. Браузерный экспортёр — выбранная реализация

Экспортёр сам запускает отдельный авторизованный Chrome в headless-режиме:

  1. Открывает My Notes → All notes.
  2. Собирает note_id и обрабатывает только новые заметки.
  3. Открывает каждую страницу заметки.
  4. Извлекает transcript из страницы.
  5. Сохраняет 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.
  1. ✅ Headless-экспортёр и ночной LaunchAgent активны; отдельный Chrome-профиль авторизован.
  2. ✅ Markdown + JSON сохраняются в Obsidian с дедупликацией по note_id.
  3. ⏳ Проверить запуск 5 октября по расписанию и первый новый transcript; код 0 при scanned: 0 доказывает только успешный пустой проход.
  4. ⏳ Превращение всех сохранённых transcript в проверенные обязательства/карьерные факты и индексация в pgvector ещё не завершены.

Связанные заметки