See llms.txt for all machine-readable content.

Back to Templates

Index Zoom meeting recordings for Telegram Q&A with OpenAI and Supabase

Quick Overview

This workflow pulls recent Zoom cloud recordings on a schedule, saves video/audio/transcripts to Google Drive, logs links in Google Sheets, and posts updates to Telegram. It also embeds transcript chunks with OpenAI into a Supabase vector store and runs a Telegram Q&A assistant with Postgres chat memory.

How it works

  1. Runs on a schedule (hourly between 11:00–23:00) or manually to fetch the last day of Zoom cloud recordings via the Zoom API.
  2. Groups Zoom recording files by meeting/session, computes a unique recording key, and skips any recordings already tracked in an n8n Data Table.
  3. For each new recording, creates a Google Drive folder and uploads the MP4 video, M4A audio, and a cleaned transcript text file.
  4. Writes or updates a row in Google Sheets with the meeting name, date, and Google Drive links, then marks the recording as done in the Data Table.
  5. Posts the meeting and recording links to a Telegram chat.
  6. Reads newly added sheet rows, downloads each transcript from Google Drive, generates a call_id, splits the text into chunks, creates OpenAI embeddings, and inserts the chunks with metadata into a Supabase vector store.
  7. When a Telegram message arrives, an OpenAI-powered agent uses Postgres chat memory plus tools that query Supabase to list meetings and retrieve relevant transcript chunks, then replies in Telegram with cited meeting/date context.

Setup

  1. Create credentials for Zoom OAuth2, Google Drive OAuth2, Google Sheets OAuth2, OpenAI, Supabase, Postgres (Supabase session pooler connection), and a Telegram bot token from @BotFather.
  2. In Supabase, enable pgvector and create the documents table and match_documents function (use vector(1536) or match your chosen OpenAI embedding model dimensions).
  3. Run the workflow once to create the n8n Data Table, then select the zoom_recordings_processed table in the “not yet processed”, “processing”, and “done” steps.
  4. Choose the target Google Drive parent folder and set the Google Sheets document/sheet, ensuring it has Meeting, Date, Video, Transcript, and Audio columns.
  5. Set your Telegram chat ID for the notification message and activate the Telegram Trigger by starting a conversation with your bot.
  6. Review the schedule window/time zone and select your preferred OpenAI chat model before activating the workflow.