{
  "$schema": "https://promptfoo.tech/schemas/workflow-template.json",
  "name": "n8n: LinkedIn Content Pipeline with Approval Gate",
  "slug": "n8n-linkedin-content-pipeline",
  "platform": "n8n",
  "category": "n8n",
  "difficulty": "Intermediate",
  "tags": [
    "n8n",
    "linkedin",
    "content",
    "claude"
  ],
  "summary": "Turn a stream of ideas (Notion) into scheduled LinkedIn posts drafted by Claude, reviewed in Slack, and posted via LinkedIn API.",
  "overview": "Personal-brand content on LinkedIn dies without consistency. This n8n workflow pulls ideas from a Notion 'Ideas' database, drafts posts with Claude using your voice guide, posts drafts into a Slack channel with approve/reject buttons, and only publishes on approval. It's an assistant, not an autopilot.",
  "variables": {
    "WEBHOOK_URL": "<your webhook URL>",
    "API_KEY": "<your provider API key>",
    "ANTHROPIC_API_KEY": "sk-ant-..."
  },
  "steps": [
    {
      "order": 1,
      "name": "Set up the Ideas DB",
      "description": "Notion database with columns: Idea, Priority, Angle, Status. Populate with 30+ seeds."
    },
    {
      "order": 2,
      "name": "Voice guide + rules",
      "description": "Include forbidden phrases ('excited to announce'), preferred openings, and post length. Version-control it."
    },
    {
      "order": 3,
      "name": "Claude drafting node",
      "description": "3 variants per run so you can pick the best. Keep temperature 0.6."
    },
    {
      "order": 4,
      "name": "Slack review block",
      "description": "Use interactive buttons; store variant IDs so approval routes the right one."
    },
    {
      "order": 5,
      "name": "LinkedIn UGC Post",
      "description": "OAuth via LinkedIn dev app. Note: media requires a separate upload flow."
    },
    {
      "order": 6,
      "name": "Update Notion + rotate",
      "description": "Set status=Posted with timestamp. Loop back tomorrow to next idea."
    }
  ],
  "howItWorks": [
    "Schedule trigger runs daily at 8am; picks the top-priority idea from Notion.",
    "Claude drafts 3 variants against a voice guide (opening hook, 100-180 words, no hashtags).",
    "Slack block message with approve/edit/reject buttons.",
    "On approve, n8n posts to LinkedIn via UGC Post API and updates Notion to 'Posted'.",
    "Rejected drafts move to 'Needs rework' — you never lose the idea."
  ],
  "benefits": [
    "Consistent posting cadence without the daily willpower tax.",
    "Voice stays yours because you approve every post.",
    "The idea backlog becomes the pipeline — no more 'what do I post today?'."
  ],
  "useCases": [
    "Founders building thought leadership.",
    "Sales leaders growing personal audiences.",
    "DevRel teams distributing engineering blog posts."
  ],
  "example": "Idea: 'Why prompt caching quietly changes RAG economics'\nApproved draft: opening hook + 4-sentence thesis + concrete number + soft CTA.",
  "faqs": [
    {
      "q": "Can I fully automate?",
      "a": "You can. You'll regret it within 2 weeks when tone drifts."
    },
    {
      "q": "How many ideas do I need in Notion?",
      "a": "30+ before you start — otherwise you'll be filling the backlog under pressure."
    },
    {
      "q": "Hashtags?",
      "a": "Optional. Recent LinkedIn algo changes have made them less impactful than a strong opening line."
    }
  ],
  "source": "https://promptfoo.tech/workflows/n8n-linkedin-content-pipeline",
  "updated": "2026-06-21",
  "license": "CC-BY-4.0"
}