AutomationFlowsAI & RAG › Generate Podcast Transcript Summaries & Keywords with Openai and Gmail

Generate Podcast Transcript Summaries & Keywords with Openai and Gmail

ByPiotr Sobolewski @piotrsobolewski on n8n.io

How it works

Event trigger★★★★☆ complexityAI-powered6 nodesOpenAIGmail
AI & RAG Trigger: Event Nodes: 6 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Gmail → OpenAI 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
{
  "nodes": [
    {
      "name": "Manual Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "notes": {
        "text": "### 1. Start Workflow\n\nThis `Manual Trigger` node is used for easy testing of the content processing part.\n\n**To trigger the workflow manually:** Click the 'Execute Workflow' button in the top right.\n\n**For production (Advanced):** In a real-world scenario, this would likely be triggered by:\n* An `RSS Feed` node (for new podcast episodes).\n* A `Webhook` node (when a transcription service completes its job).\n* An `HTTP Request` node (to download audio and send to a transcription API, which is a more complex setup for later).\n\nFor this template, we focus on processing a pre-obtained transcript.",
        "position": "right"
      },
      "position": [
        240,
        300
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "name": "Input Raw Transcript",
      "type": "n8n-nodes-base.set",
      "notes": {
        "text": "### 2. Input Raw Transcript\n\nThis `Set` node is where you'll provide the full, unedited transcript of your podcast episode, webinar, or video.\n\n**How to use:**\n* **For testing:** Paste your transcript into the 'Value' field for `rawTranscript`.\n* **For automation (Advanced):** In a full setup, this node would receive the transcript text from a previous node (e.g., an `HTTP Request` node that fetches results from a transcription API like AssemblyAI, or a file reader node).\n\n**Crucial:** The quality of the AI output depends heavily on the quality and completeness of this input transcript.",
        "position": "right"
      },
      "position": [
        460,
        300
      ],
      "parameters": {
        "values": [
          {
            "name": "rawTranscript",
            "value": "Welcome to our podcast episode today. We're diving deep into the world of AI in customer support. Historically, customer support has been a bottleneck for many businesses. Long wait times, repetitive queries, and human error often lead to frustrated customers. But with the advent of artificial intelligence, this landscape is rapidly changing. AI-powered chatbots can handle a significant volume of routine questions, freeing up human agents for more complex issues. We've seen companies like Zendesk and Salesforce integrating more sophisticated AI tools into their CRM platforms. These tools use natural language processing to understand customer intent and provide relevant, immediate answers. Furthermore, predictive analytics, another facet of AI, can anticipate customer needs before they even arise, allowing businesses to proactively address potential issues. This leads to a smoother, more efficient customer journey. However, it's not all sunshine and rainbows. There are challenges, such as ensuring the AI provides empathetic responses, handling edge cases, and the initial setup cost. Training these models requires vast amounts of data. But the ROI in terms of customer satisfaction and operational efficiency is often significant. Future trends suggest more personalized AI interactions, integration with virtual reality for immersive support, and even AI-driven sentiment analysis to gauge customer mood in real-time. This isn't about replacing humans but augmenting their capabilities. The human touch will always be crucial, especially for complex problem-solving and emotional intelligence. We hope you've enjoyed this deep dive. Don't forget to like, share, and subscribe!"
          }
        ],
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "name": "AI: Generate Summary",
      "type": "n8n-nodes-base.openAi",
      "notes": {
        "text": "### 3. AI: Generate Summary\n\nThis `OpenAI` node uses AI to create a concise summary of the `rawTranscript`.\n\n**Setup:**\n1.  **OpenAI Credential:** Click on 'Credentials' (above the 'Model' dropdown) and select 'New Credential'. Provide your OpenAI API Key (starts with `sk-`). Save it.\n2.  **Model:** You can change `gpt-3.5-turbo` to `gpt-4o` (or `gpt-4`) for potentially better and more nuanced summaries (but at a higher cost).\n3.  **Prompt:** The system prompt guides the AI on the desired tone, focus, and output format for the summary.\n\n**Output:** The generated summary will be in `{{ $node[\"AI: Generate Summary\"].json.choices[0].message.content }}`.",
        "position": "right"
      },
      "position": [
        700,
        220
      ],
      "parameters": {
        "model": "gpt-3.5-turbo",
        "options": {},
        "messages": [
          {
            "role": "system",
            "content": "You are a highly skilled summarizer. Your task is to provide a concise, comprehensive, and engaging summary of the provided text, focusing on the main arguments, key insights, and conclusions. The summary should be suitable for a blog post introduction or show notes. Do not include a conversational opening (e.g., \"This episode discusses...\")."
          },
          {
            "role": "user",
            "content": "Summarize the following podcast transcript:\n\n{{ $json.rawTranscript }}"
          }
        ]
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "AI: Extract Keywords",
      "type": "n8n-nodes-base.openAi",
      "notes": {
        "text": "### 4. AI: Extract Keywords\n\nThis `OpenAI` node runs a separate AI process to extract critical keywords and topics from the same `rawTranscript`.\n\n**Setup:**\n1.  **OpenAI Credential:** Select the same OpenAI credential you used for 'AI: Generate Summary'.\n2.  **Model:** Ensure this matches your preference.\n3.  **Prompt:** The system prompt guides the AI to focus on keywords and provides the desired output format (comma-separated list).\n\n**Output:** The extracted keywords will be in `{{ $node[\"AI: Extract Keywords\"].json.choices[0].message.content }}`.",
        "position": "right"
      },
      "position": [
        700,
        380
      ],
      "parameters": {
        "model": "gpt-3.5-turbo",
        "options": {},
        "messages": [
          {
            "role": "system",
            "content": "You are an expert content analyzer and SEO specialist. Your task is to extract a list of 5-10 key topics and keywords from the provided text that are relevant for SEO, content tagging, and categorization. Provide them as a comma-separated list."
          },
          {
            "role": "user",
            "content": "Extract keywords from the following podcast transcript:\n\n{{ $json.rawTranscript }}"
          }
        ]
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Consolidate Output",
      "type": "n8n-nodes-base.set",
      "notes": {
        "text": "### 5. Consolidate Output\n\nThis `Set` node gathers the summary and keywords from the two AI nodes and consolidates them into clearly named fields (`episodeSummary`, `episodeKeywords`). This makes it easier to use them in the final output step.\n\n**No specific configuration needed here**, it just maps the data from the previous AI nodes.",
        "position": "right"
      },
      "position": [
        940,
        300
      ],
      "parameters": {
        "values": [
          {
            "name": "episodeSummary",
            "value": "={{ $node[\"AI: Generate Summary\"].json.choices[0].message.content }}"
          },
          {
            "name": "episodeKeywords",
            "value": "={{ $node[\"AI: Extract Keywords\"].json.choices[0].message.content }}"
          }
        ],
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "name": "Email Results",
      "type": "n8n-nodes-base.gmail",
      "notes": {
        "text": "### 6. Email Results\n\nThis `Gmail` node sends you an email containing the AI-generated summary and keywords.\n\n**Setup:**\n1.  **Gmail Credential:** Click 'Credentials' and select 'New Credential'. Choose 'Gmail API'. Follow the n8n instructions to connect your Gmail account.\n2.  **From Email:** Enter your Gmail address (this must be the same account you authenticated).\n3.  **To Email:** **IMPORTANT: Change `YOUR_RECIPIENT_EMAIL@example.com` to your actual email address!**\n4.  **Subject & Text:** These fields are pre-filled with expressions to pull data from the 'Consolidate Output' node.\n\n**After setting up, click 'Execute Workflow' (from the 'Manual Trigger' node) to test sending an email!**",
        "position": "right"
      },
      "position": [
        1180,
        300
      ],
      "parameters": {
        "text": "Hello!\n\nYour automated podcast content repurposer has finished its work.\n\n### Episode Summary:\n\n{{ $json.episodeSummary }}\n\n### Keywords:\n\n{{ $json.episodeKeywords }}\n\n---\n\n*This content was generated automatically by n8n.*",
        "options": {},
        "subject": "New Podcast Content: Summary & Keywords Ready!",
        "toEmail": "user@example.com",
        "fromEmail": "user@example.com"
      },
      "credentials": {
        "gmailApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    }
  ],
  "version": 1,
  "connections": {
    "Manual Trigger": {
      "main": [
        [
          {
            "node": "Input Raw Transcript",
            "type": "main"
          }
        ]
      ]
    },
    "Consolidate Output": {
      "main": [
        [
          {
            "node": "Email Results",
            "type": "main"
          }
        ]
      ]
    },
    "AI: Extract Keywords": {
      "main": [
        [
          {
            "node": "Consolidate Output",
            "type": "main"
          }
        ]
      ]
    },
    "AI: Generate Summary": {
      "main": [
        [
          {
            "node": "Consolidate Output",
            "type": "main"
          }
        ]
      ]
    },
    "Input Raw Transcript": {
      "main": [
        [
          {
            "node": "AI: Generate Summary",
            "type": "main"
          },
          {
            "node": "AI: Extract Keywords",
            "type": "main"
          }
        ]
      ]
    }
  }
}

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

How it works

Source: https://n8n.io/workflows/6661/ — 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

This intelligent email automation workflow helps you maximize engagement through domain-based outreach. It utilizes AI-powered personalization and strategic follow-ups to increase response rates. The

Gmail, HTTP Request, Google Sheets +1
AI & RAG

Complete AI-powered sales system Automates lead capture, qualification, and follow-up from multiple channels. AI INTELLIGENCE:

Gmail Trigger, Google Sheets, OpenAI +3
AI & RAG

An automated quote generation system that monitors your inbox, classifies quote requests using AI, calculates intelligent pricing based on historical data, and provides a professional dashboard for re

Gmail Trigger, OpenAI, Supabase +2
AI & RAG

Send a target niche and location via Telegram message Workflow discovers businesses via Google Maps API AI enriches contacts with email and LinkedIn data via Serper GPT-4o scores and qualifies each le

Telegram Trigger, OpenAI, Google Sheets +3
AI & RAG

What it is An automated LinkedIn content system that takes a simple form (idea + optional file), generates LinkedIn posts with OpenAI, stores them in Notion, builds Google Slides carousels, and auto-p

Form Trigger, OpenAI, Notion +6