AutomationFlowsAI & RAG › Generate AI Meeting Notes From Zoom with Gpt-4, Google Docs & Slack

Generate AI Meeting Notes From Zoom with Gpt-4, Google Docs & Slack

ByDavid Olusola @dae221 on n8n.io

This workflow automatically captures Zoom meeting data when a meeting ends, generates AI-powered notes, saves them to Google Docs, and instantly posts a summary with a link in Slack. Zoom Webhook → Triggers on or . Normalize Data → Extracts meeting details (topic, host,…

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

This workflow corresponds to n8n.io template #8057 — we link there as the canonical source.

This workflow follows the Google Docs → 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": "350fef5e-f003-412d-a061-7dd3165d6055",
      "name": "Zoom Meeting Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -192,
        256
      ],
      "parameters": {
        "path": "zoom-meeting-ended",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 1
    },
    {
      "id": "ddd1c9c7-8f7c-4c1b-8075-43a27febb40d",
      "name": "Normalize Data",
      "type": "n8n-nodes-base.code",
      "position": [
        48,
        256
      ],
      "parameters": {
        "jsCode": "// Normalize Zoom payload\nconst e = $input.first().json;\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    start_time: e.payload.object.start_time,\n    end_time: e.payload.object.end_time,\n    duration: e.payload.object.duration,\n    participants: e.payload.object.participant_count || 0,\n    transcript: e.payload.object.transcript || '', // if transcript available\n    timestamp: new Date().toISOString()\n  }\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "00538f67-0cad-4e9c-ba72-d4744470c772",
      "name": "Generate AI Notes",
      "type": "n8n-nodes-base.openAi",
      "position": [
        256,
        256
      ],
      "parameters": {
        "resource": "chat",
        "operation": "create",
        "requestOptions": {}
      },
      "typeVersion": 1
    },
    {
      "id": "de229a4a-d353-4a0b-b6c4-010ca22e3e50",
      "name": "Save to Google Docs",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        496,
        256
      ],
      "parameters": {
        "title": "Meeting Notes - {{ $json.topic }} - {{ $json.timestamp }}"
      },
      "typeVersion": 2
    },
    {
      "id": "07bdd64e-bdb8-470e-a3e6-604f51c2ac66",
      "name": "Post to Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        720,
        256
      ],
      "parameters": {
        "text": "\ud83d\udcdd *New Meeting Notes Available*\\n*Topic:* {{ $('Normalize Data').item.json.topic }}\\n*Host:* {{ $('Normalize Data').item.json.host }}\\n*Duration:* {{ $('Normalize Data').item.json.duration }} mins\\n\\n\ud83d\udc49 Read full notes here: {{ $('Save to Google Docs').item.json.webViewLink }}",
        "channel": "#team-meetings",
        "attachments": [],
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "typeVersion": 1
    },
    {
      "id": "a21376f0-b3a7-4c50-ad69-81793a723242",
      "name": "Setup Instructions",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        -64
      ],
      "parameters": {
        "width": 432,
        "height": 384,
        "content": "## \ud83d\udee0\ufe0f Setup Steps\n### 1. Zoom App\n- Go to Zoom Developer Console \u2192 create App.  \n- Enable event **`meeting.ended`**.  \n- Paste workflow webhook URL.\n\n### 2. Google Docs\n- Connect Google OAuth in n8n.  \n- Docs auto-saved in your Google Drive.\n\n### 3. Slack\n- Connect Slack OAuth.  \n- Replace channel `#team-meetings`.\n\n### 4. OpenAI\n- Add your OpenAI API key.  \n- Uses **GPT-4** for accurate summaries.\n\n---"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Normalize Data": {
      "main": [
        [
          {
            "node": "Generate AI Notes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate AI Notes": {
      "main": [
        [
          {
            "node": "Save to Google Docs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save to Google Docs": {
      "main": [
        [
          {
            "node": "Post to Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Zoom Meeting 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

This workflow automatically captures Zoom meeting data when a meeting ends, generates AI-powered notes, saves them to Google Docs, and instantly posts a summary with a link in Slack. Zoom Webhook → Triggers on or . Normalize Data → Extracts meeting details (topic, host,…

Source: https://n8n.io/workflows/8057/ — 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

Content creators, trainers, and educators who need to convert lengthy documents into digestible micro-learning experiences.

OpenAI, Google Docs, Slack
AI & RAG

Venafi Presentation - Watch Video

Venafi Tls Protect Cloud, HTTP Request, OpenAI +1
AI & RAG

Automatically detects missed Zoom demos booked via Calendly and triggers AI-powered follow-up sequences.

HTTP Request, OpenAI, Email Send +3
AI & RAG

Pyragogy AI Village - Orchestrazione Master (Architettura Profonda V2). Uses start, postgres, openAi, emailSend. Webhook trigger; 36 nodes.

Start, Postgres, OpenAI +4
AI & RAG

Pyragogy AI Village - Orchestrazione Master (Architettura Profonda V2). Uses start, postgres, openAi, emailSend. Webhook trigger; 35 nodes.

Start, Postgres, OpenAI +3