{
  "$schema": "https://promptfoo.tech/schemas/workflow-template.json",
  "name": "n8n: Meeting Transcript → Action Items in Linear/Notion",
  "slug": "n8n-transcript-to-action-items",
  "platform": "n8n",
  "category": "n8n",
  "difficulty": "Intermediate",
  "tags": [
    "n8n",
    "meetings",
    "linear",
    "notion"
  ],
  "summary": "Drop a Fathom/Otter transcript into Drive — get action items assigned in Linear with owners, deadlines, and context.",
  "overview": "Meeting transcripts pile up in Fathom or Otter, and action items get lost. This n8n workflow watches a Drive folder, extracts action items with Claude (owner, description, deadline, context), and creates Linear issues in the right team with a Notion page linked for full context.",
  "variables": {
    "WEBHOOK_URL": "<your webhook URL>",
    "API_KEY": "<your provider API key>",
    "NOTION_TOKEN": "secret_..."
  },
  "steps": [
    {
      "order": 1,
      "name": "Set the folder + naming convention",
      "description": "/transcripts/{date}-{meeting-name}.txt. Include participants in the filename or first line."
    },
    {
      "order": 2,
      "name": "Extraction prompt",
      "description": "System: 'Extract action items as JSON: {owner, description, due_date?, priority?, context}. Owner must be one of {team members list}. Deadline is inferred from phrases like next week, before shipping.'"
    },
    {
      "order": 3,
      "name": "Linear creation",
      "description": "Map owner name → Linear user ID via a static mapping. Team based on meeting name. Add Notion link in the description."
    },
    {
      "order": 4,
      "name": "Notion page for full transcript",
      "description": "Create a page with the full text; link its URL from every issue."
    },
    {
      "order": 5,
      "name": "Slack summary",
      "description": "'{Meeting name} — 6 action items created. See Linear board {link}.'"
    }
  ],
  "howItWorks": [
    "Google Drive trigger on new file in /transcripts.",
    "Claude extracts action items as structured JSON.",
    "For each item: create Linear issue with owner, due date, and a link to the source transcript in Notion.",
    "Post a summary to the meeting channel."
  ],
  "benefits": [
    "No action item lost between meeting and standup.",
    "Owner assignment done in the extraction step, not later in triage.",
    "Every issue links to the full transcript for context."
  ],
  "useCases": [
    "Weekly leadership meetings.",
    "Customer discovery calls that generate follow-ups.",
    "Cross-functional standups."
  ],
  "example": "Item: {owner:'Sam', description:'Draft SOC2 policy doc', due:'2026-06-15', context:'Enterprise deal requires it by procurement review'}.",
  "faqs": [
    {
      "q": "What if the model invents action items?",
      "a": "Real risk. Have owners react to their tickets within 24h — anything unclaimed gets deleted automatically the next week."
    },
    {
      "q": "Alternatives to Fathom?",
      "a": "Otter, Read.ai, Zoom's native summaries. Any tool producing a transcript works."
    },
    {
      "q": "Cost?",
      "a": "About $0.02 per 30-minute meeting."
    }
  ],
  "source": "https://promptfoo.tech/workflows/n8n-transcript-to-action-items",
  "updated": "2026-06-01",
  "license": "CC-BY-4.0"
}