Paste any webinar, training, or lecture recording URL into a simple form along with the title, speaker name, topic category, and date and the workflow builds your knowledge base automatically. WayinVideo transcribes the full session with speaker labels and timestamps, then GPT-4o-mini identifies 3 to 8 distinct topics covered and writes a complete structured page for each one — summary, key insights, action items, notable quotes, timestamps, and tags. One Notion page is created per topic and every page is logged to Google Sheets with its Notion URL for easy team access. Built for teams, educators, consultants, and agencies who want a searchable knowledge base from every webinar without watching recordings or taking notes manually.
⚠️ WayinVideo API key appears in 2 steps — replace
YOUR_WAYINVIDEO_API_KEYin both 2. WayinVideo — Submit Transcription and 4. WayinVideo — Get Transcript Results. Missing either one will cause the workflow to fail.
Estimated Setup Time: 20–25 minutes
Import the workflow — Open n8n → Workflows → Import from JSON → paste the workflow JSON → click Import
Get your WayinVideo API key — Log in to your WayinVideo account → go to Account Settings → copy your API key
Add your WayinVideo API key to node 2 — Open node 2. WayinVideo — Submit Transcription → find the Authorization header value Bearer YOUR_WAYINVIDEO_API_KEY → replace YOUR_WAYINVIDEO_API_KEY with your actual key
Add your WayinVideo API key to node 4 — Open node 4. WayinVideo — Get Transcript Results → find the same Authorization header → replace YOUR_WAYINVIDEO_API_KEY with the same key
Connect OpenAI — Open node 9. OpenAI — GPT-4o-mini Model → click the credential dropdown → add your OpenAI API key → test the connection
Set up your Notion database — In Notion, create a database (or use an existing one) where the knowledge pages will be created → open the database in a browser → copy the database ID from the URL (the 32-character string after your workspace name and before the ?)
Connect Notion — Open node 11. Notion — Create Topic Page → click the credential dropdown → add Notion OAuth → complete the OAuth flow to authorize n8n access → in the pageId field, paste your Notion database URL or ID
Create your Google Sheet tab — Open your Google Sheet → add a tab named exactly Knowledge Base Log → add these 10 column headers in row 1: Webinar Title, Topic Title, Speaker, Topic Category, Webinar Date, Notion Page ID, Notion Page URL, Tags, Created On, Status
Connect Google Sheets — Open node 12. Google Sheets — Log Created Pages → click the document field → replace YOUR_GOOGLE_SHEET_LOG_ID by selecting your spreadsheet or entering the Sheet ID (the string between /d/ and /edit in your Sheet URL) → click the credential dropdown → add Google Sheets OAuth2 → authorize access
Activate the workflow — Toggle the workflow to Active → copy the Form URL from node 1. Form — Webinar URL + Details → open it in a browser to submit your first webinar
Step 1 — Form: Webinar URL + Details
You open the form URL in a browser and fill in six fields: the webinar or recording URL (Zoom, YouTube, Vimeo, or any direct link), the webinar title, the speaker or presenter name, the topic category (e.g. SEO, Marketing, AI), the webinar date, and optionally the target team or department. Submitting the form starts the workflow.
Step 2 — HTTP: WayinVideo — Submit Transcription
The webinar URL is sent to the WayinVideo transcription API with the target language set to English. WayinVideo accepts the job and returns a task ID confirming transcription has started.
Step 3 — Wait: 90 Seconds
The workflow pauses for 90 seconds before the first status check. This is longer than shorter video workflows because webinar recordings are typically 45–90 minutes and need more initial processing time.
Step 4 — HTTP: WayinVideo — Get Transcript Results
A GET request checks the WayinVideo results endpoint using the task ID from step 2. It returns the current processing status and, once complete, the full speaker-labeled transcript.
Step 5 — IF: Transcription Complete?
This is the polling gate. If the status equals SUCCEEDED (YES path), the transcript is ready and the workflow moves forward to formatting. If still processing (NO path), the workflow routes to 6. Wait — 30 Seconds Retry which pauses 30 seconds then loops back to step 4 to check again. This repeats until SUCCEEDED.
Step 6 — Wait: 30 Seconds Retry
When the transcript is not yet ready, the workflow waits 30 seconds then returns to step 4 for another check. The loop continues automatically.
Step 7 — Code: Format Transcript
Each segment is formatted as [Speaker Name | MM:SS] text. Total duration in minutes, word count, and unique speaker names are calculated. All form inputs — webinar title, speaker name, topic category, webinar date, target team, and recording URL — are packaged here for the AI prompt.
Step 8 — AI Agent: Extract Knowledge Topics
GPT-4o-mini receives the formatted transcript and a detailed system prompt. It identifies between 3 and 8 distinct topics from the webinar and for each topic returns a structured JSON object with: a 5–8 word topic title, a 2–3 sentence summary, up to five key insights, action items, notable quotes, an approximate timestamp range, and 2–4 tags. The output is a clean JSON array. GPT is instructed to write only from what was actually said in the transcript.
Step 9 — OpenAI: GPT-4o-mini Model
This is the language model powering the knowledge extraction. It runs with default settings for consistent, structured output.
Step 10 — Code: Parse Topics and Build Notion Content
The AI output JSON is cleaned (any accidental markdown backticks removed) and parsed. If parsing fails, the step throws a clear error. Each topic in the array is returned as an individual row. For each topic, a full Notion-ready markdown page is assembled with sections for Summary, Key Insights, Action Items (with checkbox syntax), Notable Quotes (in blockquote format), and Webinar Details. All webinar metadata is embedded in every page.
Step 11 — Notion: Create Topic Page
One Notion page is created per topic. The page title is formatted as "Webinar Title — Topic Title". The full markdown content built in step 10 is written into the page body. Notion returns the new page's ID and URL.
Step 12 — Google Sheets: Log Created Pages
After each Notion page is created, one row is appended to your Knowledge Base Log tab. The row includes webinar title, topic title, speaker, topic category, webinar date, the Notion page ID, the Notion page URL, the tags as a comma-separated string, the creation timestamp, and Status set to Published. Your team now has a direct link to every knowledge page from one sheet.
✅ 90-second initial wait for long recordings — The workflow uses a longer first pause suited to webinar-length content rather than short video clips
✅ 3 to 8 topics per webinar — auto-detected — GPT decides how many meaningful topics are present based on the actual content, not a fixed number
✅ Action items formatted as Notion checkboxes — Every action item is written with - [ ] syntax so they render as real checkboxes in Notion — ready to assign and complete
✅ Notable quotes in blockquote format — Speaker quotes are wrapped in Notion blockquote syntax so they visually stand out on the page
✅ Webinar metadata embedded in every page — Speaker, date, duration, target team, and recording URL are written into each page so the context is always visible without referencing a separate document
✅ Notion page URL logged immediately — Every page URL is saved to Google Sheets the moment it is created so your team can access any page directly without opening Notion
✅ JSON parsing with fallback protection — The code step strips any accidental markdown formatting from GPT output before parsing, reducing the chance of a JSON parse failure on well-formed responses
Increase the maximum number of topics — In node 8. AI Agent — Extract Knowledge Topics, change "maximum 8 topics" in the system prompt to a higher number — useful for long full-day workshop recordings that cover more than 8 distinct areas.
Add a Slack notification after all pages are created — After node 12. Google Sheets — Log Created Pages (on the last topic row), add a Slack step that posts the webinar title, number of pages created, and a link to your Knowledge Base Log sheet so your team is notified without checking Sheets.
Filter which topics get a Notion page — After node 10. Code — Parse Topics and Build Notion Content, add an IF check that only proceeds to Notion creation if the number of key insights is 3 or more — skipping thin topics that GPT extracted with limited content.
Add a Notion tag property — In node 11. Notion — Create Topic Page, add a multi-select property mapping that sends the tags array to a Tags property in your Notion database — making pages filterable and searchable by tag directly in Notion.
Send a summary email after all pages are created — After node 12. Google Sheets — Log Created Pages (last row only), add a Gmail step that sends an email with the webinar title, number of pages created, and a direct link to the Knowledge Base Log sheet so the submitter gets a confirmation.
WayinVideo returning an error on submission:
YOUR_WAYINVIDEO_API_KEY in node 2. WayinVideo — Submit Transcription is replaced with your actual API key — not the placeholder textWorkflow stuck in the polling loop:
GPT not returning valid JSON or extracting zero topics:
Notion pages not being created:
pageId field in node 11 points to a valid Notion database URL — this must be a database, not a regular pageGoogle Sheets not logging rows:
YOUR_GOOGLE_SHEET_LOG_ID in node 12. Google Sheets — Log Created Pages is replaced with your actual sheet ID from the URLNeed help setting this up or want a custom version built for your team or agency?
📧 Email: [email protected]
🌐 Website: https://isawow.com/