Skip to main content

Generate meeting minutes from videos with Whisper, Ollama LLM and Notion

Workflow preview

Workflow preview
100%
Generate meeting minutes from videos with Whisper, Ollama LLM and Notion preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Automated Meeting Minutes from Video Recordings This workflow automatically transforms video recordings of meetings into structured, professional meeting minutes in Notion. It uses local AI models ...

Best for

  • Document Extraction automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.wait, n8n-nodes-base.executecommand, n8n-nodes-base.if, n8n-nodes-base.stickynote, n8n-nodes-base.notion, n8n-nodes-base.filter, @n8n/n8n-nodes-langchain.chainllm, n8n-nodes-base.code

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Facundo Cabrera.

Original n8n.io source

1.1 Workflow description

Title
Generate meeting minutes from videos with Whisper, Ollama LLM and Notion
Workflow name
Generate meeting minutes from videos with Whisper, Ollama LLM and Notion

Automated Meeting Minutes from Video Recordings

This workflow automatically transforms video recordings of meetings into structured, professional meeting minutes in Notion. It uses local AI models (Whisper for transcription and Ollama for summarization) to ensure privacy and cost efficiency, while uploading the original video to Google Drive for safekeeping. Ideal for creative teams, production reviews, or any scenario where visual context is as important as the spoken word.

🔄 How It Works

  1. Wait & Detect: The workflow monitors a local folder. When a new .mkv video file is added, it waits until the file has finished copying.
  2. Prepare Audio: The video is converted into a .wav audio file optimized for transcription (under 25 MB with high clarity).
  3. Transcribe Locally: The local Whisper model generates a timestamped text transcript.
  4. Generate Smart Minutes: The transcript is sent to a local Ollama LLM, which produces structured, summarized meeting notes.
  5. Store & Share: The original video is uploaded to Google Drive, a new page is created in Notion with the notes and a link to the video, and a completion notification is sent via Discord.

⏱️ Setup Steps

  • Estimated Time: 10–15 minutes (for technically experienced users).
  • Prerequisites:
    • Install Python, FFmpeg, and required packages (openai-whisper, ffmpeg-python).
    • Run Ollama locally with a compatible model (e.g., gpt-oss:20b, llama3, mistral).
    • Configure n8n credentials for Google Drive, Notion, and Discord.
  • Workflow Configuration:
    • Update the file paths for the helper scripts (wait-for-file.ps1, create_wav.py, transcribe_return.py) in the respective "Execute Command" nodes.
    • Change the input folder path (G:\OBS\videos) in the "File" node to your own recording directory.
    • Replace the Google Drive folder ID and Notion database/page ID in their respective nodes.

> 💡 Note: Detailed instructions for each step, including error handling and variable setup, are documented in the Sticky Notes within the workflow itself.


📁 Helper Scripts Documentation

wait-for-file.ps1

A PowerShell script that checks if a file is still being written to (i.e., locked by another process). It returns 0 if the file is free and 1 if it is still locked.

Usage:

.\wait-for-file.ps1 -FilePath "C:\path\to\your\file.mkv"

create_wav.py

A Python script that converts a video file into a .wav audio file. It automatically calculates the necessary audio bitrate to keep the output file under 25 MB—a common requirement for many transcription services.

Usage:

python create_wav.py "C:\path\to\your\file.mkv"

transcribe_return.py

A Python script that uses a local Whisper model to transcribe an audio file. It can auto-detect the language or use a language code specified in the filename (e.g., meeting.en.mkv for English, meeting.es.mkv for Spanish). The transcript is printed directly to stdout with timestamps, which is then captured by the n8n workflow.

Usage:

# Auto-detect language
python transcribe_return.py "C:\path\to\your\file.mkv"

# Force language via filename
python transcribe_return.py "C:\path\to\your\file.es.mkv"

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Wait

Type / Role
n8n-nodes-base.wait - wait
Config choices
Version 1.1

Block 2 - Execute Command

Type / Role
n8n-nodes-base.executeCommand - executeCommand
Config choices
Version 1

Block 3 - If

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 4 - Wait1

Type / Role
n8n-nodes-base.wait - wait
Config choices
Version 1.1

Block 5 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 6 - Create a page

Type / Role
n8n-nodes-base.notion - notion
Config choices
Version 2.2

Block 7 - Filter

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.2

Block 8 - Create Notes

Type / Role
@n8n/n8n-nodes-langchain.chainLlm - chainLlm
Config choices
Version 1.7

Block 9 - Parse for Notion

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 10 - Loop Over Items

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 11 - Append a block

Type / Role
n8n-nodes-base.notion - notion
Config choices
Version 2.2

Block 12 - File

Type / Role
n8n-nodes-base.localFileTrigger - localFileTrigger
Config choices
Version 1

Block 13 - Create Wav

Type / Role
n8n-nodes-base.executeCommand - executeCommand
Config choices
Version 1

Block 14 - Transcribe Local

Type / Role
n8n-nodes-base.executeCommand - executeCommand
Config choices
Version 1

Block 15 - Set Transcript Data

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 16 - Save Transcript File

Type / Role
n8n-nodes-base.executeCommand - executeCommand
Config choices
Version 1

Block 17 - Save Notes File

Type / Role
n8n-nodes-base.executeCommand - executeCommand
Config choices
Version 1

Block 18 - Read MKV From Disk

Type / Role
n8n-nodes-base.readWriteFile - readWriteFile
Config choices
Version 1

Block 19 - Paste Video URL

Type / Role
n8n-nodes-base.notion - notion
Config choices
Version 2.2

Block 20 - Upload video file

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 21 - Create sub-folder

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 22 - gpt-oss 4090

Type / Role
@n8n/n8n-nodes-langchain.lmOllama - lmOllama
Config choices
Version 1

Block 23 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 24 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Showing the first 24 of 33 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Generate meeting minutes from videos with Whisper, Ollama LLM and Notion
Complexity advanced
Nodes 33
Categories Document Extraction
Author Facundo Cabrera
Published 01 Oct 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/9158/9158.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Generate meeting minutes from videos with Whisper, Ollama LLM and Notion do?

Automated Meeting Minutes from Video Recordings This workflow automatically transforms video recordings of meetings into structured, professional meeting minutes in Notion. It uses local AI models ...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Document Extraction use case.