{
  "id": "ec9kpivmcQCvL0Xp",
  "name": "[\u5b8c]Meeting-Minutes Assistant",
  "tags": [],
  "nodes": [
    {
      "id": "91e6563e-447f-45a9-bb4c-236c3e248531",
      "name": "Meeting Intake",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        480,
        512
      ],
      "parameters": {
        "options": {},
        "formTitle": "Meeting-Minutes Assistant",
        "formFields": {
          "values": [
            {
              "fieldType": "file",
              "fieldLabel": "Audio File",
              "requiredField": true,
              "acceptFileTypes": "m4a,mp3,wav,webm,m4b,mpeg"
            },
            {
              "fieldLabel": "Manager",
              "requiredField": true
            },
            {
              "fieldLabel": "Partner",
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Situation",
              "fieldOptions": {
                "values": [
                  {
                    "option": "First meeting"
                  },
                  {
                    "option": "Estimate/Proposal"
                  },
                  {
                    "option": "Support"
                  }
                ]
              },
              "requiredField": true
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "a1fd7470-3190-4a64-96a8-b0096fd9674a",
      "name": "Generate Meeting Minutes",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        912,
        512
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "GPT-4O-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=You are a meeting-minutes assistant. From the following audio transcript, please produce:\n\n1. Key points (3\u20136 lines)\n2. Next actions (clearly specify owner and deadline)\n3. The other party\u2019s concerns/requests\n\nWrite concise bullet points in English, keeping the total length around 300\u2013600 characters.\n\n#\u5165\u529b\u60c5\u5831 : \n - {{ $json.text }}\n - {{ $('Meeting Intake').item.json.Manager }}\n - {{ $('Meeting Intake').item.json.Partner }}\n - {{ $('Meeting Intake').item.json.Situation }}"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "27cf545e-2ea6-4a54-bdeb-fc0cd10f5582",
      "name": "Create Minutes Doc",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        1264,
        512
      ],
      "parameters": {
        "title": "={{ $('Meeting Intake').item.json.Partner }}_{{ $('Meeting Intake').item.json.Situation }}",
        "folderId": "1c-iyrAch6AQOxOV8Gvlm6fe4M8s-0D5P"
      },
      "typeVersion": 2
    },
    {
      "id": "451d7d3a-6775-4fe1-ba60-8973d43522d2",
      "name": "Insert Minutes Content",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        1472,
        512
      ],
      "parameters": {
        "actionsUi": {
          "actionFields": [
            {
              "text": "={{ $('Generate Meeting Minutes').item.json.message.content }}",
              "action": "insert"
            }
          ]
        },
        "operation": "update",
        "documentURL": "={{ $json.id }}"
      },
      "typeVersion": 2
    },
    {
      "id": "2c792edc-14af-47b7-aba4-44d25618386a",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        176,
        176
      ],
      "parameters": {
        "height": 416,
        "content": "## Meeting Minutes Assistant \u2014 Overview\nForm \u2192 Transcribe (OpenAI) \u2192 Summarize \u2192 Google Docs (Create/Append)\nResult: Clean minutes + Doc URL.\n\nSetup: Connect OpenAI & Google (OAuth2). No hardcoded keys.\nTip: Test with <2 min audio; then tune the prompt.\nNext: See Description page for full setup & troubleshooting.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "8a2f4a6c-76b3-416b-87ae-f1db67fe917b",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        704
      ],
      "parameters": {
        "color": 7,
        "height": 240,
        "content": "## Meeting Intake (Trigger)\n\nPurpose: Collect audio + meta.\nFields: Audio (m4a/mp3/wav), Manager, Partner, Situation.\nNotes: Keep file <50MB; pass binary to next node; normalize timezone."
      },
      "typeVersion": 1
    },
    {
      "id": "8964593c-61b2-4e22-920a-296c199121de",
      "name": "Transcribe  recording",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        704,
        512
      ],
      "parameters": {
        "options": {},
        "resource": "audio",
        "operation": "transcribe",
        "binaryPropertyName": "={{ Object.keys($binary)[0] }}"
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "5c21c95e-864f-412d-bbb4-16fd053fa156",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        848,
        224
      ],
      "parameters": {
        "color": 7,
        "width": 352,
        "height": 224,
        "content": "## Generate Meeting Minutes\n\nPurpose: Summarize transcript \u2192 action-oriented minutes.\nStructure: Key Points / Next Actions (OWNER, DUE) / Concerns.\nInput: {{ $json.text }} + form fields. Keep ~300\u2013600 chars (edit as needed).\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d66d46e0-701b-4cab-b2db-c6b3a27d0ab5",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1552,
        688
      ],
      "parameters": {
        "color": 7,
        "height": 176,
        "content": "## Insert Minutes Content\n\nTemplate: Timestamp + sections (Key Points / Next Actions / Concerns).\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e7c735ae-209e-4c20-8b1e-faef8d3958df",
  "connections": {
    "Meeting Intake": {
      "main": [
        [
          {
            "node": "Transcribe  recording",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Minutes Doc": {
      "main": [
        [
          {
            "node": "Insert Minutes Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Transcribe  recording": {
      "main": [
        [
          {
            "node": "Generate Meeting Minutes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Meeting Minutes": {
      "main": [
        [
          {
            "node": "Create Minutes Doc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}