This workflow corresponds to n8n.io template #8060 — we link there as the canonical source.
This workflow follows the Gmail → OpenAI recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"nodes": [
{
"id": "ca5b18c5-d621-47ac-be74-fbaec366f1da",
"name": "Zoom Recording Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
752,
176
],
"parameters": {
"path": "zoom-summary",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 1
},
{
"id": "fc122ffd-0de5-4b06-bf20-188b724b7af9",
"name": "Normalize Data",
"type": "n8n-nodes-base.code",
"position": [
992,
176
],
"parameters": {
"jsCode": "// Normalize Zoom payload\nconst e = $input.first().json;\nconst rec = e.payload.object.recording_files[0];\n\nreturn {\n json: {\n meeting_id: e.payload.object.id,\n topic: e.payload.object.topic,\n host: e.payload.object.host_email,\n transcript: e.payload.object.transcript || '',\n download_url: rec.download_url,\n file_type: rec.file_type,\n file_size: rec.file_size,\n created_at: e.payload.object.start_time,\n timestamp: new Date().toISOString()\n }\n};"
},
"typeVersion": 2
},
{
"id": "ddf58f82-e938-4687-86a0-58001f8b2a9a",
"name": "AI Summarize",
"type": "n8n-nodes-base.openAi",
"position": [
1232,
176
],
"parameters": {
"resource": "chat",
"operation": "create",
"requestOptions": {}
},
"typeVersion": 1
},
{
"id": "bf9d2436-4ddc-4123-b66b-75d954c32d49",
"name": "Post to Slack",
"type": "n8n-nodes-base.slack",
"position": [
1472,
96
],
"parameters": {
"text": "\ud83d\udccc *Zoom Summary*\\n\\n*Topic:* {{ $('Normalize Data').item.json.topic }}\\n*Host:* {{ $('Normalize Data').item.json.host }}\\n*Date:* {{ $('Normalize Data').item.json.created_at }}\\n\\n*Summary:*\\n{{ $json.choices[0].message.content }}",
"channel": "YOUR_SLACK_CHANNEL",
"attachments": [],
"otherOptions": {}
},
"typeVersion": 1
},
{
"id": "44511951-5053-4da4-a512-90bdc946070e",
"name": "Send Email",
"type": "n8n-nodes-base.gmail",
"position": [
1472,
256
],
"parameters": {
"message": "Meeting hosted by {{ $('Normalize Data').item.json.host }} on {{ $('Normalize Data').item.json.created_at }}\\n\\nSummary:\\n{{ $json.choices[0].message.content }}",
"options": {},
"subject": "Zoom Meeting Summary: {{ $('Normalize Data').item.json.topic }}"
},
"typeVersion": 2
},
{
"id": "146b143b-cc95-4b7c-8900-8b1f879b0347",
"name": "Setup Instructions",
"type": "n8n-nodes-base.stickyNote",
"position": [
752,
-16
],
"parameters": {
"content": "## \ud83d\udee0\ufe0f Setup Steps\n### 1. Zoom\n- Create a Zoom App with the **`recording.completed`** event. \n- Add workflow webhook URL.\n\n### 2. OpenAI\n- Add your **API key** to n8n. \n- Use **GPT-4** for best results.\n\n### 3. Slack\n- Connect Slack credentials. \n- Replace `YOUR_SLACK_CHANNEL` with your channel ID. \n\n### 4. Email\n- Connect Gmail or SMTP. \n- Replace recipient email(s). \n"
},
"typeVersion": 1
}
],
"connections": {
"AI Summarize": {
"main": [
[
{
"node": "Post to Slack",
"type": "main",
"index": 0
},
{
"node": "Send Email",
"type": "main",
"index": 0
}
]
]
},
"Normalize Data": {
"main": [
[
{
"node": "AI Summarize",
"type": "main",
"index": 0
}
]
]
},
"Zoom Recording Webhook": {
"main": [
[
{
"node": "Normalize Data",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Never lose meeting insights again! This workflow automatically summarizes Zoom meeting recordings using OpenAI GPT-4 and delivers structured notes directly to Slack and Email. Zoom Webhook – triggers when a recording is completed. Normalize Data – extracts meeting details +…
Source: https://n8n.io/workflows/8060/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Marketing agencies, digital agencies, and freelancers who need to streamline their client onboarding process and create consistent, professional documentation for new clients. Perfect for teams handli
Who this is for
Content Teams, Researchers, and Administrators who need to automatically process voice memos, meeting recordings, or interview audio into structured, searchable documents.
Imagine your recruitment process transformed into a sleek, efficient, AI-powered assembly line for talent. That's exactly what this system creates. It automates the heavy lifting, allowing your human
AI-Powered LinkedIn Content Engine (n8n + OpenAI + Perplexity + Replicate). Uses openAi, perplexity, gmail. Scheduled trigger; 28 nodes.