AutomationFlowsAI & RAG › Auto-summarize Zoom Recordings with Gpt-4 → Slack & Email

Auto-summarize Zoom Recordings with Gpt-4 → Slack & Email

ByDavid Olusola @dae221 on n8n.io

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 +…

Webhook trigger★★★★☆ complexityAI-powered6 nodesOpenAISlackGmail
AI & RAG Trigger: Webhook Nodes: 6 Complexity: ★★★★☆ AI nodes: yes Added:

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 →

Download .json
{
  "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
          }
        ]
      ]
    }
  }
}
Pro

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 →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

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

Google Drive, Slack, Typeform Trigger +3
AI & RAG

Who this is for

Gmail Trigger, Google Drive, Gmail +3
AI & RAG

Content Teams, Researchers, and Administrators who need to automatically process voice memos, meeting recordings, or interview audio into structured, searchable documents.

Gmail, OpenAI, Google Drive +2
AI & RAG

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

Google Sheets, OpenAI, Gmail +2
AI & RAG

AI-Powered LinkedIn Content Engine (n8n + OpenAI + Perplexity + Replicate). Uses openAi, perplexity, gmail. Scheduled trigger; 28 nodes.

OpenAI, Perplexity, Gmail