Process meeting transcripts into Notion notes & tasks with AI and Google Drive
Needs changesNeeds changes. This template uses 1 thing(s) that n8n 3.0 removes: AI Agent v1 (old agent modes). 1 breaking item(s) found. Static check, last run 2026-10-19.
What to replace before upgrading
| Removed in 3.0 | Replace with |
|---|---|
| AI Agent v1 (old agent modes) Misc Meeting Notetaker (v1.9), Discovery Call Notetaker (v1.9) | Latest AI Agent node (Tools Agent). For SQL Agent, use a Postgres or MySQL tool with a recent AI Agent. |
Nodes used (14)
- HTTP Request
n8n-nodes-base.httpRequest - If
n8n-nodes-base.if - Schedule Trigger
n8n-nodes-base.scheduleTrigger - Code
n8n-nodes-base.code - Anthropic Chat Model
@n8n/n8n-nodes-langchain.lmChatAnthropic - Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - Wait
n8n-nodes-base.wait - Switch
n8n-nodes-base.switch - Notion
n8n-nodes-base.notion - AI Agent
@n8n/n8n-nodes-langchain.agent - OpenAI
@n8n/n8n-nodes-langchain.openAi - Edit Fields (Set)
n8n-nodes-base.set - Webhook
n8n-nodes-base.webhook - Google Drive
n8n-nodes-base.googleDrive
What it does
Ingest meeting webhooks, process transcript, classify the meeting, generate structured notes with AI Agent, file the transcript to Google Drive, write rich pages to Notion, and create assigned tasks. Includes optional polling path if webhooks aren’t available. Who is this for? Teams that record calls and want instant, structured notes in Notion, with transcripts archived in Google Drive and action items auto-created—without manual copy/paste. --- What problem does it solve? Manual note taking is slow and inconsistent. This flow listens for a meeting webhook, flattens the transcript, classifies the call, runs a tailored notetaker prompt, and writes a clean Notion page plus tasks—hands-free and standardized. --- How it works | | Node | Purpose | |---|------|---------| | 1 | New Meeting Webhook | Receives meeting payload with transcript segments and metadata. (Webhook Node) | | 2 | Flatten Transcript (Code) | Joins segments to speaker: text lines and extracts title, meetingId, url. | | 3 | Set Title + Transcript + URL | Normalizes fields for downstream nodes. | | 4 | Categorize Meeting | Uses OpenAI to return { "meetingType": "DiscoveryCall" | "MiscMeeting" }. (OpenAI) | | 5 | Switch | Routes to the correct notetaker branch based on meetingType. | | 6a | Discovery Call Notetaker | Anthropic model + structured parser to extract sales-specific fields. (Anthropic Docs) | | 6b | Misc Meeting Notetaker | General meeting notetaker with strict JSON schema. | | 7a | Add Discovery Meeting Notes to Notion | Writes a formatted page with overview, goals, pains, risks, and action items. | | 7b | Add Meeting Notes to Notion | Writes a simpler page for non-discovery meetings. | | 8 | Set Notion Page ID | Captures created page ID and the action-items array. | | 9 | Create File (Google Drive) | Saves raw transcript text and returns the file ID. (Drive API) | | 10 | Link Transcript in Notion | Updates the Notion page with a viewable Drive link. | | 11 | Split out Tasks | Expands the action-items array to one item per execution. | | 12 | If Assigned to Me | Filters tasks where assignee = "Matty Reed". | | 13 | Add Tasks (Notion) | Creates tasks in your Notion Tasks DB, links to the meeting page. (Notion API) | | | (Optional polling path) | If webhooks aren’t available: Schedule Trigger → Get Meetings from Notion → List Meetings (HTTP Request) → Get New Meetings (Code) → Get Transcript (HTTP) → Transcript Ready? → Wait → Flatten. Disabled by default. | --- Setup steps 1. Import the JSON flow into n8n Confirm nodes marked disabled stay off unless you need the polling path. Docs: n8n 2. Credentials - OpenAI: add API key and attach to Categorize Meeting. - Anthropic: add API key and attach to both notetaker agents. - Notion: create an internal integration, share your Meetings and Tasks databases with it, then attach the credential to Notion nodes. - Google Drive: OAuth2 credential for Create File. 3. Map your databases and properties Replace the placeholder Notion database IDs with your Meetings and Tasks DB IDs. Verify property names like Meeting Name|title, Summary|richtext, Category|multiselect, Assignee|people, etc., match your schema. 4. Drive folder Update the folderId in Create File to your preferred folder. Ensure link-sharing fits your privacy policy. 5. Webhook Expose New Meeting Webhook via your n8n instance. Send a sample payload from your meeting recorder to verify the calendarinvitees, transcript, title, and url fields match the code node expectations. 6. Test Run the flow with a recorded meeting. Confirm: - Page created in Meetings DB with structured sections. - Transcript file created in Drive and linked back to Notion. - Tasks created in Tasks DB when assignee = "Matty Reed". --- Notes and tips - Schemas are strict. Both notetakers output fixed JSON keys. Missing values become empty strings. - PII handling. Transcripts may include personal data. Limit access to Notion pages and Drive files per policy. - Do not hardcode secrets. Store A