AutomationFlowsAI & RAG › Meeting Transcript → Tasks (universal Template)

Meeting Transcript → Tasks (universal Template)

Meeting Transcript → Tasks (Universal Template). Uses @firefliesai/n8n-nodes-fireflies, lmChatGoogleGemini, agent, slack. Webhook trigger; 20 nodes.

Webhook trigger★★★★☆ complexityAI-powered20 nodes@Firefliesai/N8N Nodes FirefliesGoogle Gemini ChatAgentSlackClickUp
AI & RAG Trigger: Webhook Nodes: 20 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Agent → Google Gemini Chat 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 Transcript \u2192 Tasks (Universal Template)",
  "nodes": [
    {
      "id": "webhook-trigger",
      "name": "Firefly Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2.1,
      "position": [
        -48,
        0
      ],
      "parameters": {
        "path": "meeting-transcript-webhook",
        "options": {},
        "httpMethod": "POST"
      }
    },
    {
      "id": "get-transcript",
      "name": "Get a transcript",
      "type": "@firefliesai/n8n-nodes-fireflies.fireflies",
      "typeVersion": 1,
      "position": [
        160,
        0
      ],
      "parameters": {
        "transcriptId": "={{ $json.body.meetingId }}"
      }
    },
    {
      "id": "split-out",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "typeVersion": 1,
      "position": [
        384,
        0
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "data.sentences"
      }
    },
    {
      "id": "aggregate",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "typeVersion": 1,
      "position": [
        576,
        0
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "raw_text"
            }
          ]
        }
      }
    },
    {
      "id": "ai-model",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "typeVersion": 1,
      "position": [
        848,
        176
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.0-flash-exp"
      }
    },
    {
      "id": "ai-agent",
      "name": "Summary Generator",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 2.2,
      "position": [
        832,
        0
      ],
      "parameters": {
        "text": "=Please generate a summary of this meeting transcript in 5-6 lines maximum. The summary should be sent to team in simple and easy words with a medium length text.\n\nAlso create a list of action items from the meeting. For each action item provide:\n- name: under 100 character title\n- description: detailed description of the task\n\nHere is the meeting Transcript:\n\n{{ $json.raw_text }}\n\nReturn your answer as JSON with keys: summary, action_items",
        "options": {},
        "promptType": "define"
      }
    },
    {
      "id": "clean-json",
      "name": "Cleans AI response",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1248,
        0
      ],
      "parameters": {
        "jsCode": "// Parse AI response and clean JSON\ntry {\n  const output = $input.first().json.output;\n  const cleaned = output.replace(/```json|```/g, '').trim();\n  return [{ json: JSON.parse(cleaned) }];\n} catch (e) {\n  return [{\n    json: {\n      summary: \"Failed to parse AI response\",\n      action_items: [],\n      error: e.message\n    }\n  }];\n}"
      }
    },
    {
      "id": "extract-tasks",
      "name": "Extracts action items",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1440,
        -112
      ],
      "parameters": {
        "jsCode": "const items = $input.first().json.action_items || [];\n\nif (!Array.isArray(items) || items.length === 0) {\n  return [];\n}\n\n// Convert each {name, description} into {title, description}\nreturn items.map(ai => ({\n  json: {\n    title: ai.name || \"Untitled\",\n    description: ai.description || \"\"\n  }\n}));"
      }
    },
    {
      "id": "slack-notify",
      "name": "Send a message",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.3,
      "position": [
        1680,
        64
      ],
      "parameters": {
        "text": "={{ $json.summary }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "YOUR_CHANNEL_ID"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      }
    },
    {
      "id": "clickup-task",
      "name": "Create a task",
      "type": "n8n-nodes-base.clickUp",
      "typeVersion": 1,
      "position": [
        1680,
        -112
      ],
      "parameters": {
        "list": "YOUR_LIST_ID",
        "name": "={{ $json.title }}",
        "team": "YOUR_TEAM_ID",
        "space": "YOUR_SPACE_ID",
        "folderless": true,
        "authentication": "oAuth2",
        "additionalFields": {
          "content": "={{ $json.description }}"
        }
      }
    },
    {
      "id": "note-guide",
      "name": "\ud83d\udcda GUIDE: \u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -600,
        -300
      ],
      "parameters": {
        "width": 460,
        "height": 780,
        "color": 7,
        "content": "# \ud83d\udcda Meeting Transcript \u2192 Tasks\n## \u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d\n\n---\n\n### \ud83c\udfaf \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 workflow:\n1. **\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442** \u0442\u0440\u0430\u043d\u0441\u043a\u0440\u0438\u043f\u0446\u0438\u044e \u0432\u0441\u0442\u0440\u0435\u0447\u0438\n2. **\u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442** \u0442\u0435\u043a\u0441\u0442 \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\n3. **AI \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442** \u0438 \u0441\u043e\u0437\u0434\u0430\u0451\u0442:\n   - Summary (\u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u0440\u0435\u0437\u044e\u043c\u0435)\n   - Action Items (\u0437\u0430\u0434\u0430\u0447\u0438)\n4. **\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442** summary \u0432 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\n5. **\u0421\u043e\u0437\u0434\u0430\u0451\u0442** \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 task-\u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0435\n\n---\n\n### \ud83d\udd27 \u041a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c:\n\n**1. Credentials**\n- Fireflies API key\n- Google Gemini API key  \n- Slack OAuth\n- ClickUp OAuth\n\n**2. \u041d\u0430\u0441\u0442\u0440\u043e\u0439 ClickUp node:**\n- Team ID\n- Space ID  \n- List ID\n\n**3. \u041d\u0430\u0441\u0442\u0440\u043e\u0439 Slack node:**\n- Channel ID\n\n**4. Fireflies Webhook:**\n- \u0421\u043a\u043e\u043f\u0438\u0440\u0443\u0439 Production URL\n- \u0412\u0441\u0442\u0430\u0432\u044c \u0432 Fireflies Settings \u2192 Integrations\n\n---\n\n### \ud83d\udcd6 \u0421\u043c. \u0446\u0432\u0435\u0442\u043d\u044b\u0435 \u0437\u0430\u043c\u0435\u0442\u043a\u0438:\n- \ud83d\udfe1 **\u0416\u0451\u043b\u0442\u044b\u0439** = Transcription adapters\n- \ud83d\udfe2 **\u0417\u0435\u043b\u0451\u043d\u044b\u0439** = AI model options\n- \ud83d\udd35 **\u0421\u0438\u043d\u0438\u0439** = Task systems\n- \ud83d\udfe0 **\u041e\u0440\u0430\u043d\u0436\u0435\u0432\u044b\u0439** = Notifications\n\n---\n\n### \u26a1 Production Tips:\n```\n\u2705 \u0414\u043e\u0431\u0430\u0432\u044c Error Workflow\n\u2705 \u041b\u043e\u0433\u0438\u0440\u0443\u0439 \u0432 Google Sheets\n\u2705 \u0414\u043e\u0431\u0430\u0432\u044c retry \u0434\u043b\u044f API calls\n\u2705 \u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0439 \u043d\u0430 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u044f\u0445\n```"
      }
    },
    {
      "id": "note-trigger",
      "name": "\ud83d\udd04 ADAPT: Transcription Source",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -112,
        280
      ],
      "parameters": {
        "width": 520,
        "height": 580,
        "color": 4,
        "content": "## \ud83d\udd04 \u0417\u0430\u043c\u0435\u043d\u0430 \u0442\u0440\u0430\u043d\u0441\u043a\u0440\u0438\u0431\u0430\u0442\u043e\u0440\u0430\n\n### \u0422\u0435\u043a\u0443\u0449\u0438\u0439: Fireflies.ai\nWebhook \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 `meetingId` \u043f\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u0442\u0440\u0430\u043d\u0441\u043a\u0440\u0438\u043f\u0446\u0438\u0438\n\n---\n\n### \ud83c\udfaf Fathom (\u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439)\n```\nWebhook URL: \u0442\u043e\u0442 \u0436\u0435\nBody: { \"transcript_merged\": [...] }\n\u0417\u0430\u043c\u0435\u043d\u0438 'Get a transcript' \u043d\u0430 Set node\n\u041f\u043e\u043b\u0435: $json.body.transcript_merged\n```\n\n### \ud83c\udfaf Otter.ai\n```\nWebhook: POST \u0441 transcript_id\nHTTP Request: GET https://otter.ai/api/v1/speeches/{id}\nAuth: Bearer Token\n```\n\n### \ud83c\udfaf Zoom Cloud Recording\n```\nTrigger: Zoom node \u2192 Recording Completed\nHTTP Request \u0434\u043b\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f VTT\n\u041f\u0430\u0440\u0441\u0438\u043d\u0433 VTT \u2192 \u0442\u0435\u043a\u0441\u0442\n\u26a0\ufe0f \u0422\u0440\u0435\u0431\u0443\u0435\u0442 Zoom Pro\n```\n\n### \ud83c\udfaf Google Meet (\u0447\u0435\u0440\u0435\u0437 Calendar)\n```\nGoogle Calendar Trigger \u2192 Meeting End\nGoogle Drive \u2192 \u0441\u043a\u0430\u0447\u0430\u0442\u044c transcript\n\u0422\u0440\u0435\u0431\u0443\u0435\u0442 Google Workspace\n```\n\n### \ud83c\udfaf MeetGeek\n```\nWebhook: meeting.transcription.finished\nHTTP Request: GET /meetings/{id}/transcript\n```\n\n### \ud83c\udfaf Manual Upload\n```\n\u0417\u0430\u043c\u0435\u043d\u0438 Webhook \u043d\u0430 Form Trigger\n\u041f\u043e\u043b\u0435: textarea \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u0430\n\u0418\u043b\u0438 File Upload \u0434\u043b\u044f .txt/.vtt\n```"
      }
    },
    {
      "id": "note-ai",
      "name": "\ud83e\udd16 ADAPT: AI Model",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        768,
        400
      ],
      "parameters": {
        "width": 460,
        "height": 520,
        "color": 5,
        "content": "## \ud83e\udd16 \u0417\u0430\u043c\u0435\u043d\u0430 AI \u043c\u043e\u0434\u0435\u043b\u0438\n\n### \u0422\u0435\u043a\u0443\u0449\u0438\u0439: Google Gemini\n\n---\n\n### \ud83c\udfaf OpenAI GPT-4\n```\n\u0417\u0430\u043c\u0435\u043d\u0438 'Google Gemini Chat Model' \u043d\u0430:\n\u2192 OpenAI Chat Model\nModel: gpt-4o \u0438\u043b\u0438 gpt-4o-mini\n\u2705 \u041b\u0443\u0447\u0448\u0435\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e extraction\n```\n\n### \ud83c\udfaf Claude (Anthropic)\n```\n\u2192 Anthropic Chat Model  \nModel: claude-sonnet-4-20250514\n\u2705 \u041e\u0442\u043b\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u0434\u043b\u0438\u043d\u043d\u044b\u0445 \u0442\u0440\u0430\u043d\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\n```\n\n### \ud83c\udfaf Ollama (Self-hosted)\n```\n\u2192 Ollama Chat Model\nModel: llama3.2, mistral, qwen2.5\n\u2705 \u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e, \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\n\u26a0\ufe0f \u041d\u0443\u0436\u0435\u043d \u0441\u0435\u0440\u0432\u0435\u0440\n```\n\n### \ud83c\udfaf DeepSeek\n```\n\u2192 OpenAI Chat Model (compatible)\nBase URL: https://api.deepseek.com\nModel: deepseek-chat\n\u2705 \u0414\u0451\u0448\u0435\u0432\u043e, \u0445\u043e\u0440\u043e\u0448\u0435\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\n```\n\n### \ud83d\udca1 Prompt Tips\n```\n\u0414\u043e\u0431\u0430\u0432\u044c \u0432 \u043f\u0440\u043e\u043c\u043f\u0442:\n- \u042f\u0437\u044b\u043a \u0432\u044b\u0432\u043e\u0434\u0430 (\u0440\u0443\u0441\u0441\u043a\u0438\u0439/\u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439)\n- \u0424\u043e\u0440\u043c\u0430\u0442 \u0434\u0430\u0442 (DD.MM.YYYY)\n- \u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0437\u0430\u0434\u0430\u0447 (high/medium/low)\n- Assignee \u0435\u0441\u043b\u0438 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\n```"
      }
    },
    {
      "id": "note-tasks",
      "name": "\ud83d\udccb ADAPT: Task System",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        1632,
        280
      ],
      "parameters": {
        "width": 460,
        "height": 640,
        "color": 6,
        "content": "## \ud83d\udccb \u0417\u0430\u043c\u0435\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0437\u0430\u0434\u0430\u0447\n\n### \u0422\u0435\u043a\u0443\u0449\u0438\u0439: ClickUp\n\n---\n\n### \ud83c\udfaf Monday.com\n```json\n\u0417\u0430\u043c\u0435\u043d\u0438 'Create a task' \u043d\u0430 HTTP Request:\nPOST https://api.monday.com/v2\nBody (GraphQL):\nmutation {\n  create_item(\n    board_id: YOUR_BOARD_ID,\n    item_name: \"{{$json.title}}\",\n    column_values: \"{\\\"text\\\":\\\"{{$json.description}}\\\"}\"\n  ) { id }\n}\nAuth: Authorization: YOUR_API_KEY\n```\n\n### \ud83c\udfaf Notion\n```\n\u2192 Notion node \u2192 Create Database Item\nDatabase: \u0432\u044b\u0431\u0435\u0440\u0438 \u0431\u0430\u0437\u0443 \u0437\u0430\u0434\u0430\u0447\nTitle: {{$json.title}}\nProperties: description, status, date\n```\n\n### \ud83c\udfaf Asana\n```\n\u2192 Asana node \u2192 Create Task\nProject: \u0432\u044b\u0431\u0435\u0440\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\nName: {{$json.title}}\nNotes: {{$json.description}}\n```\n\n### \ud83c\udfaf Jira\n```\n\u2192 Jira node \u2192 Create Issue\nProject: KEY\nIssue Type: Task\nSummary: {{$json.title}}\nDescription: {{$json.description}}\n```\n\n### \ud83c\udfaf Airtable\n```\n\u2192 Airtable node \u2192 Create Record\nBase: \u0432\u044b\u0431\u0435\u0440\u0438 \u0431\u0430\u0437\u0443\nTable: Tasks\nFields: title, description, status\n```\n\n### \ud83c\udfaf Todoist\n```\n\u2192 Todoist node \u2192 Create Task\nContent: {{$json.title}}\nDescription: {{$json.description}}\nProject: Meeting Tasks\n```"
      }
    },
    {
      "id": "note-notify",
      "name": "\ud83d\udce2 ADAPT: Notifications",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        2120,
        -288
      ],
      "parameters": {
        "width": 400,
        "height": 480,
        "color": 3,
        "content": "## \ud83d\udce2 \u0417\u0430\u043c\u0435\u043d\u0430 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439\n\n### \u0422\u0435\u043a\u0443\u0449\u0438\u0439: Slack\n\n---\n\n### \ud83c\udfaf Microsoft Teams\n```\n\u2192 Microsoft Teams node\n\u2192 Send Message\nChannel: \u0432\u044b\u0431\u0435\u0440\u0438 \u043a\u0430\u043d\u0430\u043b\nMessage: {{$json.summary}}\n```\n\n### \ud83c\udfaf Discord\n```\n\u2192 Discord node \u2192 Send Message\nWebhook URL: \u0442\u0432\u043e\u0439 webhook\nContent: {{$json.summary}}\n```\n\n### \ud83c\udfaf Telegram\n```\n\u2192 Telegram node \u2192 Send Message\nChat ID: group/channel ID\nText: {{$json.summary}}\n```\n\n### \ud83c\udfaf Email (Gmail/SMTP)\n```\n\u2192 Gmail node \u2192 Send Email\nTo: team@company.com\nSubject: Meeting Summary\nBody: {{$json.summary}}\n```\n\n### \ud83c\udfaf Webhook (Custom)\n```\n\u2192 HTTP Request node\nPOST to your endpoint\nBody: { summary, action_items }\n```\n\n### \ud83d\udca1 \u041c\u043e\u0436\u043d\u043e \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c!\nSlack + Email\nTeams + Notion\nDiscord + Jira"
      }
    },
    {
      "id": "note-webhook",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -112,
        -208
      ],
      "parameters": {
        "width": 416,
        "height": 448,
        "content": "## Webhook + Transcript Retrieval\n\n**Webhook:** Trigger when Fireflies finishes a meeting transcription. Receives meetingId.\n\n**Get a transcript:** Fetches the full transcript from Fireflies using the provided meetingId."
      }
    },
    {
      "id": "note-processing",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        336,
        -208
      ],
      "parameters": {
        "width": 400,
        "height": 448,
        "content": "## Transcript Processing\n\n**Split Out:** Splits transcript into individual sentences (data.sentences).\n\n**Aggregate:** Rejoins sentences into one block of raw text for summarization."
      }
    },
    {
      "id": "note-ai-processing",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        768,
        -304
      ],
      "parameters": {
        "width": 400,
        "height": 656,
        "content": "## AI Processing\n\n**Summary Generator:** Sends transcript text to the LLM with instructions to generate:\n\n\u25c9 A summary (5\u20136 lines, simple wording).\n\n\u25c9 A list of action items (each with a short title and description).\n\n**Google Gemini Chat Model:** Connected as the LLM provider to power the AI Agent."
      }
    },
    {
      "id": "note-postprocess",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        1200,
        -304
      ],
      "parameters": {
        "width": 400,
        "height": 544,
        "content": "## Post-processing AI Output\n\n**Cleans AI response:** Parses JSON, removes code fences.\n\n**Extracts action items:** Extracts each action item, ensuring format {title, description} for tasks."
      }
    },
    {
      "id": "note-outputs",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        1632,
        -288
      ],
      "parameters": {
        "width": 352,
        "height": 528,
        "content": "## Outputs\n\n**Slack (Send a message):** Posts the meeting summary directly to the team channel.\n\n**ClickUp (Create a task):** Creates tasks in ClickUp for each action item generated by AI."
      }
    }
  ],
  "connections": {
    "Firefly Webhook": {
      "main": [
        [
          {
            "node": "Get a transcript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get a transcript": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Summary Generator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Summary Generator",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Summary Generator": {
      "main": [
        [
          {
            "node": "Cleans AI response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Cleans AI response": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          },
          {
            "node": "Extracts action items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extracts action items": {
      "main": [
        [
          {
            "node": "Create a task",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1",
    "saveDataErrorExecution": "all",
    "saveDataSuccessExecution": "all",
    "saveManualExecutions": true
  },
  "meta": {
    "templateId": "8592",
    "templateCredsSetupCompleted": false
  }
}
Pro

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

About this workflow

Meeting Transcript → Tasks (Universal Template). Uses @firefliesai/n8n-nodes-fireflies, lmChatGoogleGemini, agent, slack. Webhook trigger; 20 nodes.

Source: https://gist.github.com/retailbox-automation/925b586b2082ae449d81128b91c51010 — 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

Webhook Trigger: The workflow starts when Fireflies notifies that a transcription has finished. Transcript Retrieval: The transcript is pulled from Fireflies based on the meeting ID. Pre-processing: T

@Firefliesai/N8N Nodes Fireflies, Google Gemini Chat, ClickUp +2
AI & RAG

Know that feeling when a "low priority" ticket turns into a production fire? Or when your on-call rotation starts showing signs of serious burnout from alert overload?

Google Sheets, Agent, Google Gemini Chat +2
AI & RAG

This AI-powered workflow transcribes Zoom/Google Meet recordings, extracts decisions and tasks using AI, then creates tickets in Jira/ClickUp/Linear and assigns them to team members automatically. Tri

HTTP Request, OpenAI, Agent +5
AI & RAG

This workflow converts raw ClickUp task updates—received directly through a webhook—into fully automated release documentation. It validates incoming payloads, fetches and cleans task details, enriche

Google Sheets, ClickUp, Lm Chat Azure Open Ai +4
AI & RAG

When a meeting ends in Fireflies, the transcript is automatically retrieved and sent to OpenAI for analysis. The AI evaluates objection handling, call effectiveness, and extracts key objections raised

HTTP Request, @Firefliesai/N8N Nodes Fireflies, OpenAI Chat +4