Productivity · n8n

Automatically Extract Action Items from Meeting Notes into Notion

Paste your meeting notes into a form and let Claude AI extract every action item, owner, and deadline — then save them as structured Notion database entries automatically. Managers save 15–20 minutes of manual follow-up after every meeting.

difficulty Intermediatesetup 45 minresult Every meeting note submission is parsed by Claude and turned into clean, organized action items stored in a Notion database, ready for tracking and follow-up.
  1. 1

    Set up the Meeting Notes Form Trigger

    Add an n8n Form Trigger node. Create two fields: a short text field named Meeting Title and a long text field named Meeting Notes. This form URL can be bookmarked and shared with your team. Enable the node to get your unique form URL.

  2. 2

    Send Notes to Claude for Action Item Extraction

    Add an HTTP Request node connected to the Form Trigger. Set the method to POST and the URL to https://api.anthropic.com/v1/messages. In Headers, add x-api-key with your Anthropic API key and anthropic-version set to 2023-06-01. In the Body, send a JSON payload with model claude-3-haiku-20240307 and a user message that includes the meeting notes from {{ $json['Meeting Notes'] }}. Ask Claude to return a JSON array where each item has fields: action, owner, and due_date. Store your API key in n8n credentials or the node notes field.

  3. 3

    Parse Claude's Response into Action Items

    Add a Code node. In the JavaScript editor, extract the text content from Claude's response with const raw = items[0].json.content[0].text;, then parse it with const actions = JSON.parse(raw);. Return the array as individual items using return actions.map(a => ({ json: a }));. This splits Claude's list so each action item flows as its own record into Notion.

  4. 4

    Create Notion Database Pages for Each Action Item

    Add a Notion node set to the Create operation on Database Page. Connect your Notion account via the Notion API credential using an internal integration token. Set your target Database ID to the ID of your action items database (found in the Notion URL). Map the properties: Name to {{ $json.action }}, Owner to {{ $json.owner }}, and Due Date to {{ $json.due_date }}. Make sure your Notion database has matching property names and types (title, text, date).

Frequently asked questions

What format should my meeting notes be in for best results?

Plain text works great. Include names when discussing who will do something and mention dates or timeframes when known. Claude is flexible, but notes like 'Sarah will send the proposal by Friday' produce cleaner results than vague notes.

How do I find my Notion Database ID?

Open your Notion database in a browser. The URL looks like notion.so/yourworkspace/abc123def456... — the long alphanumeric string after the last slash (and before any question mark) is your Database ID. Copy and paste that into the Notion node's Database ID field.

Can I run this for multiple meetings without manual submission each time?

Yes. Instead of the Form Trigger, you can swap in a Gmail or Outlook trigger to watch for emails with meeting notes, or connect a Google Calendar trigger that fires after a meeting ends. The Claude and Notion nodes stay exactly the same.

About this recipe. Recipes on FlowRecipesHub are written for business owners, not developers, and are tested before publishing — how recipes get made. Some ingredient links are affiliate links that cost you nothing — full disclosure.