Transcribe meetings and log action items to Notion with AssemblyAI and Gemini

Go to Workflow
0 views
Built by Muhammad Adeel Muhammad Adeel
Created on June 07, 2026

Description

Quick overview
This workflow accepts a meeting recording URL via webhook, transcribes the audio with AssemblyAI, uses Google Gemini to extract a summary, action items, decisions, and next steps, then creates a structured Notion page and optionally posts the Notion link to Slack.

How it works
Receives a POST webhook request containing an audio_url and an optional meeting_title.
Submits the audio URL to AssemblyAI for transcription with speaker labels enabled.
Polls AssemblyAI every 15 seconds until the transcript status is completed and the full transcript text is available.
Sends the completed transcript to the Google Gemini API to generate a JSON response with a meeting summary, action items, key decisions, and next steps.
Creates a new page in a Notion database with the meeting metadata and the extracted sections formatted as headings and paragraphs.
Posts a Slack message with the meeting title, summary, and the newly created Notion page URL.

Setup
Create an AssemblyAI account, add your AssemblyAI API key to the Authorization header in the transcription submit and status check HTTP requests.
Create a Google AI Studio key and replace YOUR_GEMINI_API_KEY in the Gemini HTTP request URL.
Create a Notion integration, share your target Notion database with it, and replace YOUR_NOTION_INTEGRATION_TOKEN and YOUR_NOTION_DATABASE_ID in the Notion page creation request.
(Optional) Create a Slack app with chat:write, then replace YOUR_SLACK_BOT_TOKEN and YOUR_SLACK_CHANNEL_ID in the Slack message request.
Copy the production webhook URL from n8n and configure your recording source (or test client) to send a POST body with audio_url (publicly accessible) and meeting_title.

Requirements
AssemblyAI account and API key (free tier at assemblyai.com)
Google Gemini API key (free tier at aistudio.google.com)
Notion account with an Integration Token and a Database configured
Slack Bot Token and Channel ID (optional — delete the last node if not needed)
Publicly accessible audio file URL (mp3, mp4, wav, m4a, ogg, or webm)

Customization
Edit the Gemini prompt in the Post to Gemini node to extract additional fields like risks, blockers, or budget decisions
Replace the Slack node with a Telegram or Microsoft Teams HTTP request for different notification channels
Add a Google Calendar node after Notion to auto-schedule follow-up meetings from extracted action items
Connect HubSpot or Salesforce via HTTP Request to log client meeting notes directly into your CRM
Adjust the polling interval in the Wait node — increase for longer recordings, decrease for short ones

Nodes Used (1)

HTTP Request
n8n-nodes-base.httpRequest