AutomationFlowsAI & RAG › Meeting Intelligence Claude

Meeting Intelligence Claude

meeting-intelligence-claude. Uses lmChatAnthropic, notion, slack. Webhook trigger; 6 nodes.

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

This workflow follows the Anthropic Chat → Slack 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
{
  "name": "meeting-intelligence-claude",
  "nodes": [
    {
      "id": "c3d4e5f6-0001-4000-8000-000000000001",
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        0,
        300
      ],
      "parameters": {
        "httpMethod": "POST",
        "path": "meeting-intelligence",
        "responseMode": "onReceived",
        "options": {}
      }
    },
    {
      "id": "c3d4e5f6-0002-4000-8000-000000000002",
      "name": "Extract Action Items",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "typeVersion": 1,
      "position": [
        220,
        300
      ],
      "parameters": {
        "model": "claude-3-5-sonnet-20241022",
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "You are a meeting intelligence assistant. Analyze the meeting transcript and extract structured information. Return ONLY valid JSON with no additional text:\n{\n  \"summary\": \"2-3 sentence meeting summary\",\n  \"decisions\": [\"decision 1\", \"decision 2\"],\n  \"action_items\": [\n    {\"task\": \"task description\", \"owner\": \"person name or Unknown\", \"due\": \"due date or TBD\"}\n  ],\n  \"next_meeting\": \"date or Not scheduled\"\n}"
            },
            {
              "role": "user",
              "content": "Meeting title: {{ $json.meeting_title }}\nDate: {{ $json.meeting_date }}\nAttendees: {{ $json.attendees }}\n\nTranscript:\n{{ $json.transcript }}"
            }
          ]
        }
      },
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "id": "c3d4e5f6-0003-4000-8000-000000000003",
      "name": "Parse Intelligence",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3,
      "position": [
        440,
        300
      ],
      "parameters": {
        "mode": "manual",
        "fields": {
          "values": [
            {
              "name": "summary",
              "type": "expression",
              "value": "={{ JSON.parse($json.message.content[0].text).summary }}"
            },
            {
              "name": "decisions",
              "type": "expression",
              "value": "={{ JSON.parse($json.message.content[0].text).decisions }}"
            },
            {
              "name": "action_items",
              "type": "expression",
              "value": "={{ JSON.parse($json.message.content[0].text).action_items }}"
            },
            {
              "name": "next_meeting",
              "type": "expression",
              "value": "={{ JSON.parse($json.message.content[0].text).next_meeting }}"
            },
            {
              "name": "meeting_title",
              "type": "expression",
              "value": "={{ $('Webhook Trigger').item.json.meeting_title }}"
            },
            {
              "name": "meeting_date",
              "type": "expression",
              "value": "={{ $('Webhook Trigger').item.json.meeting_date }}"
            },
            {
              "name": "attendees",
              "type": "expression",
              "value": "={{ $('Webhook Trigger').item.json.attendees }}"
            }
          ]
        }
      }
    },
    {
      "id": "c3d4e5f6-0004-4000-8000-000000000004",
      "name": "Format Summary Email",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "typeVersion": 1,
      "position": [
        660,
        300
      ],
      "parameters": {
        "model": "claude-3-5-sonnet-20241022",
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "You are an executive assistant. Format a clean meeting summary email from the structured data provided. Use plain prose, bullet points for action items, and keep it under 250 words. Do not use em-dashes. Start with a one-line summary, then decisions, then action items with owners and due dates, then next steps."
            },
            {
              "role": "user",
              "content": "Meeting: {{ $json.meeting_title }}\nDate: {{ $json.meeting_date }}\nAttendees: {{ $json.attendees }}\n\nSummary: {{ $json.summary }}\n\nDecisions: {{ $json.decisions }}\n\nAction items: {{ JSON.stringify($json.action_items) }}\n\nNext meeting: {{ $json.next_meeting }}"
            }
          ]
        }
      },
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "id": "c3d4e5f6-0005-4000-8000-000000000005",
      "name": "Log to Notion",
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2,
      "position": [
        880,
        300
      ],
      "parameters": {
        "operation": "create",
        "databaseId": "YOUR_NOTION_DATABASE_ID",
        "title": "={{ $('Parse Intelligence').item.json.meeting_title + ' - ' + $('Parse Intelligence').item.json.meeting_date }}",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Summary",
              "type": "rich_text",
              "textContent": "={{ $('Parse Intelligence').item.json.summary }}"
            },
            {
              "key": "Date",
              "type": "date",
              "date": "={{ $('Parse Intelligence').item.json.meeting_date }}"
            },
            {
              "key": "Attendees",
              "type": "rich_text",
              "textContent": "={{ $('Parse Intelligence').item.json.attendees }}"
            },
            {
              "key": "Status",
              "type": "select",
              "selectValue": "Processed"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "id": "c3d4e5f6-0006-4000-8000-000000000006",
      "name": "Send Summary to Slack",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2,
      "position": [
        1100,
        300
      ],
      "parameters": {
        "operation": "post",
        "select": "channel",
        "channelId": {
          "value": "#meeting-summaries"
        },
        "text": "Meeting summary: {{ $('Parse Intelligence').item.json.meeting_title }} ({{ $('Parse Intelligence').item.json.meeting_date }})\n\n{{ $('Format Summary Email').item.json.message.content[0].text }}",
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "Extract Action Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Action Items": {
      "main": [
        [
          {
            "node": "Parse Intelligence",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Intelligence": {
      "main": [
        [
          {
            "node": "Format Summary Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Summary Email": {
      "main": [
        [
          {
            "node": "Log to Notion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log to Notion": {
      "main": [
        [
          {
            "node": "Send Summary to Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "tags": [],
  "triggerCount": 1,
  "updatedAt": "2026-05-17T00:00:00.000Z",
  "versionId": "v1"
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

meeting-intelligence-claude. Uses lmChatAnthropic, notion, slack. Webhook trigger; 6 nodes.

Source: https://github.com/sondersos/n8n-workflows/blob/main/workflows/02-meeting-intelligence/meeting-intelligence-claude.json — 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

strategy-generator-claude. Uses lmChatAnthropic, notion, slack. Webhook trigger; 5 nodes.

Anthropic Chat, Notion, Slack
AI & RAG

Categories: AI, Productivity, Career

Gmail Trigger, HTTP Request, OpenAI +3
AI & RAG

cold-outbound-engine-claude. Uses httpRequest, lmChatAnthropic, airtable, slack. Webhook trigger; 10 nodes.

HTTP Request, Anthropic Chat, Airtable +1
AI & RAG

prompt-qa-lab-claude. Uses lmChatAnthropic, slack. Webhook trigger; 7 nodes.

Anthropic Chat, Slack
AI & RAG

meeting-intelligence-openai. Uses lmChatOpenAi, notion, slack. Webhook trigger; 6 nodes.

OpenAI Chat, Notion, Slack