{
  "meta": {
    "templateId": "3905",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "2175eca1-4842-4601-b0ac-84264cdc48ca",
      "name": "\ud83c\udf99\ufe0f Workflow Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -260,
        720
      ],
      "parameters": {
        "color": 7,
        "width": 460,
        "height": 720,
        "content": "## \ud83c\udf99\ufe0f AI Audio Transcription with VLM Run\n\n**Overview:**\nAutomatically transcribes audio files from Gmail and generates formatted transcription reports in Google Docs.\n\n**Workflow:**\n1. \ud83d\udce7 Monitor Gmail for audio attachments\n2. \ud83c\udfb5 Extract and process audio files\n3. \ud83e\udd16 Transcribe using VLM Run AI\n4. \ud83d\udd17 Receive results via webhook\n5. \ud83d\udcc4 Generate formatted Google Doc\n\n\n**Perfect for:**\n- Meeting recordings\n- Voice memos\n- Interview transcriptions\n- Podcast notes\n- Audio journalism\n- Accessibility documentation\n\n\n**Requirements:**\n- VLM Run API access\n- Gmail OAuth2\n- Google Docs OAuth2\n- Webhook endpoint"
      },
      "typeVersion": 1
    },
    {
      "id": "3d1b367c-226c-4d9c-bc9e-0643ff3896bc",
      "name": "\ud83d\udce7 Email Monitoring",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        220,
        720
      ],
      "parameters": {
        "color": 7,
        "width": 360,
        "height": 720,
        "content": "## \ud83d\udce7 Gmail Audio Detection\n\n**Monitors incoming emails and automatically downloads audio attachments.**\n\n**Process:**\n1. Polls Gmail every minute\n2. Detects new emails with attachments\n3. Downloads audio files automatically\n4. Triggers transcription workflow\n\n\n**Supported Formats:**\n- MP3, WAV, M4A\n- AAC, OGG, FLAC\n- Various bitrates\n- Mobile recordings\n\n\n**Configuration:**\n- Enable attachment downloads\n- Automatic file extraction"
      },
      "typeVersion": 1
    },
    {
      "id": "4c2744d9-c35d-4629-ac54-b3f299cf16e3",
      "name": "\ud83e\udd16 AI Transcription",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        720
      ],
      "parameters": {
        "color": 2,
        "width": 360,
        "height": 720,
        "content": "## \ud83e\udd16 Audio AI Processing\n\n**VLM Run transcribes audio with high accuracy**\n\n**Features:**\n- Advanced speech recognition\n- Automatic punctuation\n- Timestamp generation\n\n\n**Output:**\n- Complete transcription\n- Time-segmented text\n- Metadata extraction\n- Duration information\n\n\n**Benefits:**\n- Human-level accuracy\n- Fast processing\n- Consistent formatting\n- Professional quality"
      },
      "typeVersion": 1
    },
    {
      "id": "52c19808-27ae-4ccd-af4d-a977bd44f18a",
      "name": "\ud83d\udd17 Async Processing",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        980,
        720
      ],
      "parameters": {
        "color": 5,
        "width": 320,
        "height": 720,
        "content": "## \ud83d\udd17 Webhook Processing Flow\n\n**How asynchronous transcription works:**\n\n**Step 1:** Audio sent to VLM Run with callback URL\n**Step 2:** Transcription starts in background\n**Step 3:** Webhook receives completion\n**Step 4:** Results formatted for Google Docs\n\n\n**Why Async?**\n- Handles long audio files\n- Prevents workflow timeouts\n- Better resource management\n- Reliable processing\n\n\n**Callback Data:**\n- Complete transcript\n- Segment timestamps\n- Processing metadata\n- Error handling"
      },
      "typeVersion": 1
    },
    {
      "id": "7046634c-3534-4f62-9df9-7ece42a4b969",
      "name": "\ud83d\udcc4 Document Generation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1320,
        720
      ],
      "parameters": {
        "color": 7,
        "width": 320,
        "height": 720,
        "content": "## \ud83d\udcc4 Professional Reports\n\n**Creates beautifully formatted Google Docs with transcription results.**\n\n**Report includes:**\n- Date and timestamp\n- Total audio duration\n- Segmented transcription\n- Time markers for each segment\n- Professional formatting\n\n\n**Output Location:**\n- Specified Google Doc\n- Appends new transcriptions\n- Maintains formatting"
      },
      "typeVersion": 1
    },
    {
      "id": "31d1f0c3-73e7-4e1a-bc08-72c5694e7153",
      "name": "Monitor Email Attachments",
      "type": "n8n-nodes-base.gmailTrigger",
      "notes": "Continuously monitors Gmail for new emails with audio attachments. Automatically downloads all attachments and triggers the transcription workflow.",
      "position": [
        320,
        1260
      ],
      "parameters": {
        "simple": false,
        "filters": {},
        "options": {
          "downloadAttachments": true
        },
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "d2c14402-db05-4bf4-a8a5-402587d69ee8",
      "name": "VLM Run Audio Transcriber",
      "type": "@vlm-run/n8n-nodes-vlmrun.vlmRun",
      "notes": "Processes audio files using VLM AI to generate accurate transcriptions with timestamps. Runs asynchronously for large audio files.",
      "position": [
        720,
        1260
      ],
      "parameters": {
        "file": "attachment_0",
        "domain": "audio.transcription",
        "operation": "audio",
        "callbackUrl": "https://playground.vlm.run/webhook/audio-transcription",
        "processAsynchronously": true
      },
      "credentials": {
        "vlmRunApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "98e98532-dc44-4b15-a75d-24b3d7823c84",
      "name": "Receive Transcription Results",
      "type": "n8n-nodes-base.webhook",
      "notes": "Receives the completed transcription from VLM AI when asynchronous processing is finished. Contains full transcript with timestamps.",
      "position": [
        1080,
        1260
      ],
      "parameters": {
        "path": "audio-transcription",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "c9468f04-42da-4725-a462-97cdcf6c40ac",
      "name": "Generate Transcription Report",
      "type": "n8n-nodes-base.googleDocs",
      "notes": "Creates a professionally formatted Google Doc with the transcription results, including timestamps and metadata.",
      "position": [
        1420,
        1260
      ],
      "parameters": {
        "simple": false,
        "actionsUi": {
          "actionFields": [
            {
              "text": "=\ud83d\udcc4 Audio Transcription Report\n\n\ud83d\uddd3\ufe0f Date: {{ new Date($json.body.completed_at).toLocaleString('en-US', { dateStyle: 'medium', timeStyle: 'short' }) }}  \n\u23f1\ufe0f Total Duration: {{ $json.body.response.metadata.duration }} seconds  \n{{ \n$json.body.response.segments.map((segment, index) => \n  `\\n` +\n  `\ud83d\udd39 Segment ${index + 1}\\n` +\n  `\u23f0 Time: ${segment.start_time.toFixed(2)}s \u2192 ${segment.end_time.toFixed(2)}s\\n` +\n  `\ud83d\udcdd Transcript: \"${segment.content.trim()}\"\\n`\n).join('\\n')\n}}\n",
              "action": "insert"
            }
          ]
        },
        "operation": "update",
        "documentURL": "https://docs.google.com/document/d/1QFHvOgEYKMLVpIRv6Mc7lXfDXhtoozgEK7O-wuNLzl0/edit?tab=t.0",
        "authentication": "oAuth2"
      },
      "credentials": {
        "googleDocsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Monitor Email Attachments": {
      "main": [
        [
          {
            "node": "VLM Run Audio Transcriber",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Receive Transcription Results": {
      "main": [
        [
          {
            "node": "Generate Transcription Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}