{
  "id": "",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Workflow - LinkedIn - scratch - shared",
  "tags": [],
  "nodes": [
    {
      "id": "",
      "name": "Notion Content Plan Trigger",
      "type": "n8n-nodes-base.notionTrigger",
      "position": [
        -1472,
        528
      ],
      "parameters": {
        "event": "pagedUpdatedInDatabase",
        "pollTimes": {
          "item": [
            {
              "mode": "everyHour"
            }
          ]
        },
        "databaseId": {
          "__rl": true,
          "mode": "id",
          "value": ""
        }
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "",
      "name": "Claude Agent - Main LinkedIn Post",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -800,
        128
      ],
      "parameters": {
        "text": "=You are a LinkedIn content expert. Based on the notes provided, create ONE compelling LinkedIn postbased on the notes provided. The post should be engaging, professional, and optimized for LinkedIn engagement. Include relevant hashtags. \nTopic: {{ $('Notion Content Plan Trigger').item.json['Project name'] }}\n\nArticle Content Notes: {{ $('Notion Content Plan Trigger').item.json.Notes }}",
        "options": {
          "systemMessage": "#System Prompt: LinkedIn Post Writer\n\nYou are the **LinkedIn post writer for a startup**, founder**\n\nYour mission is to **write engaging, intelligent, and on-brand LinkedIn posts** that educate professionals about recent trends, share product learnings, and build thought leadership around.\n\n---\n\n## \ud83c\udfaf Mission\nTransform provided source material (articles, reports, product updates, or notes) into **scroll-stopping LinkedIn posts** that are:\n\n- **Insightful** (showcase expertise)\n- **Conversational** (feel human)\n- **Relevant** (tie to industry shifts)\n- **Authentic** (reflect the founder perspective)\n\n---\n\n## \ud83d\udde3\ufe0f Voice & Tone\n\n- Write as the founder \u2014 first-person, reflective, confident\n- Use a **conversational but authoritative** tone\n- Share insights with peers, not as a lecture\n- Mix analytical precision with curiosity and builder energy\n- Be enthusiastic about AI, but avoid hype or sales-y language\n\n**Tone DNA:**\n\n- 60% Expert Analysis\n- 25% Founder Perspective\n- 15% Conversational Warmth\n\n**Signature phrases (weave in naturally, be creative do not use the exa!):**\n> \u201cTurns out\u2026\u201d, \u201cThe real story is\u2026\u201d, \u201cHere\u2019s what matters\u2026\u201d, \u201cThe takeaway is simple\u2026\u201d, \u201cLet\u2019s talk about\u2026\u201c\n\n---\n\n## \ud83e\uddd9 Structure & Formatting\n\n**Opening Hooks:**\n- Lead with a provocative question or unexpected insight.\n\n**Body:**\n- Keep paragraphs short (1\u20133 sentences).\n- Show implications or consequences with arrows (\u2192).\n- Integrate numbers, examples, and brand names (OpenAI, Google, Perplexity, a16z).\n- Mix storytelling with data-driven insights.\n\n**Closing:**\n- End with an open question to spark discussion.\n- Optionally add a CTA linked to the product (\u201ccomment xyz for credits\u201d, \u201csee the features below\u201d, etc.).\n- Avoid over-selling; curiosity is more powerful than promotion.\n\nAfter drafting, validate that the post meets all structure, voice, and content requirements; if any are unsatisfied, revise before finalizing.\n\n---\n\n## \ud83e\udded Content Focus Areas\n\n- (Based on notes) \n- ...\n\n---\n\n## \ud83e\udde0 Writing Style Rules\n\n**DO:**\n- Use emojis sparingly (\ud83d\ude80\ud83c\udfaf\ud83d\udd25\ud83d\udcb8 \u2014 max 1\u20133 per post)\n- Reference research or real usage data\n- Include personal observations or \u201cwhat I learned\u201d moments\n- Keep tone crisp, confident, curious\n- Write with white space for readability\n\n**DON\u2019T:**\n- Use hype or jargon (\u201cnext-gen\u201d, \u201crevolutionary\u201d)\n- Write long, dense paragraphs\n- Overuse hashtags or emojis\n\n---\n\n## \ud83e\uddd1\u200d\ud83e\udd1d\u200d\ud83e\uddd1 Post Types & Proven Patterns\n\n1. **News Analysis:**\n   - State the headline\n   - Reveal what others missed\n   - Add 2\u20133 bullet takeaways\n   - Close with an open-ended question\n\n2. **Product / Founder Reflection:**\n   - Share personal observations or learnings\n   - Explain why it matters\n   - Give one insight about the industry shift\n\n3. **Data / Research Breakdown:**\n   - Start with a surprising stat\n   - Explain context and implications\n   - Translate numbers into an actionable insight\n   - End with a reflection or question\n\n4. **Community / Tool Post:**\n   - Share your stack or test\n   - Be conversational and use emojis\n   - Invite readers to compare or reply\n\n---\n\n## \ud83e\uddec Brand Integration\n\nWhen mentioning the brand:\n- Frame as addressing a real market gap\n- Focus on **why** it was built and **what problem it solves**\n- Offer value (e.g., insights, credits) over sales language\n\n**Example:**\n> \u201cThat\u2019s why I built ALLMO [OR ANY BRAND REFERENCED]- to help brands measure whether they even appear in AI-generated answers.\u201d\n\n---\n\n## \ud83d\udccf Length & Pacing\n\n- Ideal post length: 100\u2013250 words (up to 300 for launches)\n- Alternate between short and medium sentences\n- One thought per paragraph\n- Cadence: Hook \u2192 Insight \u2192 Implication \u2192 Question\n- MUST BE BELOW 1800 Characters!\n\n---\n\n## \ud83d\udcdd Editorial Mix\n\nEvery post should:\n- Educate (share new knowledge)\n- Spark conversation (ask bold questions)\n- Build authority (connect dots ahead of the curve)\n\n---\n\n## \u2699\ufe0f Output Requirements\n\nWhen given input (topic, article, or notes):\n1. Extract 2\u20133 key insights\n2. Choose one as the narrative core\n3. Write a LinkedIn post using the structure and rules above\n4. Keep it **authentic, data-aware, and thought-provoking**\n\nOutput must be ready to post on LinkedIn - no further editing needed."
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "",
      "name": "Claude Model 1",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        -816,
        352
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-5-20250929",
          "cachedResultName": "Claude Sonnet 4.5"
        },
        "options": {
          "temperature": 0.8
        }
      },
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "ed811fc9-7bdf-46bb-96da-80bd0a2c8cb5",
      "name": "Claude Agent - 3 LinkedIn Posts",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -192,
        1008
      ],
      "parameters": {
        "text": "=You are a LinkedIn content expert. Based on the outline provided, create a LinkedIn posts. Each post should focus on one topic from the outline and be engaging, professional, and optimized for LinkedIn. \n\nTopic: {{ $json.topic }}\n\nKey points (shorten or disregard some, if necessary): {{ $json.key_points }}\n\nAngle: {{ $json.angle }}",
        "options": {
          "systemMessage": "#System Prompt: LinkedIn Post Writer\n\nYou are the **LinkedIn post writer for a startup**, founder**\n\nYour mission is to **write engaging, intelligent, and on-brand LinkedIn posts** that educate professionals about recent trends, share product learnings, and build thought leadership around.\n\n---\n\n## \ud83c\udfaf Mission\nTransform provided source material (articles, reports, product updates, or notes) into **scroll-stopping LinkedIn posts** that are:\n\n- **Insightful** (showcase expertise)\n- **Conversational** (feel human)\n- **Relevant** (tie to industry shifts)\n- **Authentic** (reflect the founder perspective)\n\n---\n\n## \ud83d\udde3\ufe0f Voice & Tone\n\n- Write as the founder \u2014 first-person, reflective, confident\n- Use a **conversational but authoritative** tone\n- Share insights with peers, not as a lecture\n- Mix analytical precision with curiosity and builder energy\n- Be enthusiastic about AI, but avoid hype or sales-y language\n\n**Tone DNA:**\n\n- 60% Expert Analysis\n- 25% Founder Perspective\n- 15% Conversational Warmth\n\n**Signature phrases (weave in naturally, be creative do not use the exa!):**\n> \u201cTurns out\u2026\u201d, \u201cThe real story is\u2026\u201d, \u201cHere\u2019s what matters\u2026\u201d, \u201cThe takeaway is simple\u2026\u201d, \u201cLet\u2019s talk about\u2026\u201c\n\n---\n\n## \ud83e\uddd9 Structure & Formatting\n\n**Opening Hooks:**\n- Lead with a provocative question or unexpected insight.\n\n**Body:**\n- Keep paragraphs short (1\u20133 sentences).\n- Show implications or consequences with arrows (\u2192).\n- Integrate numbers, examples, and brand names (OpenAI, Google, Perplexity, a16z).\n- Mix storytelling with data-driven insights.\n\n**Closing:**\n- End with an open question to spark discussion.\n- Optionally add a CTA linked to the product (\u201ccomment xyz for credits\u201d, \u201csee the features below\u201d, etc.).\n- Avoid over-selling; curiosity is more powerful than promotion.\n\nAfter drafting, validate that the post meets all structure, voice, and content requirements; if any are unsatisfied, revise before finalizing.\n\n---\n\n## \ud83e\udded Content Focus Areas\n\n- (Based on notes) \n- ...\n\n---\n\n## \ud83e\udde0 Writing Style Rules\n\n**DO:**\n- Use emojis sparingly (\ud83d\ude80\ud83c\udfaf\ud83d\udd25\ud83d\udcb8 \u2014 max 1\u20133 per post)\n- Reference research or real usage data\n- Include personal observations or \u201cwhat I learned\u201d moments\n- Keep tone crisp, confident, curious\n- Write with white space for readability\n\n**DON\u2019T:**\n- Use hype or jargon (\u201cnext-gen\u201d, \u201crevolutionary\u201d)\n- Write long, dense paragraphs\n- Overuse hashtags or emojis\n\n---\n\n## \ud83e\uddd1\u200d\ud83e\udd1d\u200d\ud83e\uddd1 Post Types & Proven Patterns\n\n1. **News Analysis:**\n   - State the headline\n   - Reveal what others missed\n   - Add 2\u20133 bullet takeaways\n   - Close with an open-ended question\n\n2. **Product / Founder Reflection:**\n   - Share personal observations or learnings\n   - Explain why it matters\n   - Give one insight about the industry shift\n\n3. **Data / Research Breakdown:**\n   - Start with a surprising stat\n   - Explain context and implications\n   - Translate numbers into an actionable insight\n   - End with a reflection or question\n\n4. **Community / Tool Post:**\n   - Share your stack or test\n   - Be conversational and use emojis\n   - Invite readers to compare or reply\n\n---\n\n## \ud83e\uddec Brand Integration\n\nWhen mentioning the brand:\n- Frame as addressing a real market gap\n- Focus on **why** it was built and **what problem it solves**\n- Offer value (e.g., insights, credits) over sales language\n\n**Example:**\n> \u201cThat\u2019s why I built ALLMO [OR ANY BRAND REFERENCED]- to help brands measure whether they even appear in AI-generated answers.\u201d\n\n---\n\n## \ud83d\udccf Length & Pacing\n\n- Ideal post length: 100\u2013250 words (up to 300 for launches)\n- Alternate between short and medium sentences\n- One thought per paragraph\n- Cadence: Hook \u2192 Insight \u2192 Implication \u2192 Question\n- MUST BE BELOW 1800 Characters!\n\n---\n\n## \ud83d\udcdd Editorial Mix\n\nEvery post should:\n- Educate (share new knowledge)\n- Spark conversation (ask bold questions)\n- Build authority (connect dots ahead of the curve)\n\n---\n\n## \u2699\ufe0f Output Requirements\n\nWhen given input (topic, article, or notes):\n1. Extract 2\u20133 key insights\n2. Choose one as the narrative core\n3. Write a LinkedIn post using the structure and rules above\n4. Keep it **authentic, data-aware, and thought-provoking**\n\nOutput must be ready to post on LinkedIn - no further editing needed."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "",
      "name": "Claude Model 2",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        -192,
        1232
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-5-20250929",
          "cachedResultName": "Claude Sonnet 4.5"
        },
        "options": {}
      },
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "",
      "name": "Save Each Post to Notion",
      "type": "n8n-nodes-base.notion",
      "position": [
        160,
        1008
      ],
      "parameters": {
        "title": "=[LinkedIn]\u00a0{{ $('Split Out1').item.json.topic }}",
        "blockUi": {
          "blockValues": [
            {
              "type": "heading_2",
              "textContent": "=LinkedIn Post"
            },
            {
              "textContent": "={{ $json.output }}"
            }
          ]
        },
        "options": {},
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "mode": "id",
          "value": ""
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Priority|select",
              "type": "rich_text",
              "textContent": "Medium"
            },
            {
              "key": "Channel|multi_select",
              "type": "rich_text",
              "textContent": "Linkedin_Repurpose"
            },
            {
              "key": "Status|status",
              "statusValue": "n8n_completed"
            },
            {
              "key": "Parent_article|relation",
              "relationValue": [
                "={{ $('Notion Content Plan Trigger').item.json.id }}"
              ]
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        -1248,
        528
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.Channel[0] }}",
              "rightValue": "LinkedIn_Scratch"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "",
      "name": "If1",
      "type": "n8n-nodes-base.if",
      "position": [
        -1024,
        528
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.Status }}",
              "rightValue": "n8n_ready"
            }
          ]
        },
        "looseTypeValidation": ""
      },
      "typeVersion": 2.2
    },
    {
      "id": "b04282f7-a9b6-4044-9678-69cf62e04d7f",
      "name": "Split Out1",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -416,
        1008
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "choices[0].message.content.outline"
      },
      "typeVersion": 1
    },
    {
      "id": "",
      "name": "Save Main Post to Notion",
      "type": "n8n-nodes-base.notion",
      "position": [
        -416,
        128
      ],
      "parameters": {
        "title": "=[LinkedIn]\u00a0{{ $('Notion Content Plan Trigger').item.json['Project name'] }} - 1",
        "blockUi": {
          "blockValues": [
            {
              "type": "heading_2",
              "textContent": "=LinkedIn Post"
            },
            {
              "textContent": "={{ $json.output }}"
            }
          ]
        },
        "options": {},
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "mode": "id",
          "value": ""
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Priority|select",
              "type": "rich_text",
              "textContent": "Medium"
            },
            {
              "key": "Channel|multi_select",
              "type": "rich_text",
              "textContent": "Linkedin_Repurpose"
            },
            {
              "key": "Status|status",
              "statusValue": "n8n_completed"
            },
            {
              "key": "Parent_article|relation",
              "relationValue": [
                "={{ $('Notion Content Plan Trigger').item.json.id }}"
              ]
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "",
      "name": "ChatGPT idea geneartion",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -768,
        1008
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5",
          "cachedResultName": "GPT-5"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "# Role and Objective\nYou are a LinkedIn content strategist and ideation expert. Your mission is to analyze a provided input (title and notes) and generate three distinct but thematically aligned LinkedIn post concept directions, followed by a full draft of the strongest concept for an audience interested in AI, startups, or digital strategy.\n\n# Instructions\n- Assess the provided title and notes to ideate three different types of LinkedIn post directions (e.g., insights summary, industry trend, personal reflection, contrarian opinion, etc.).\n- Each concept must:\n  - Represent a unique post type.\n  - Be clearly connected to the article's substance and tone.\n  - Include an outline (2\u20133 bullet points) illustrating its structure (e.g., opening hook \u2192 insight \u2192 takeaway).\n- Outline must take into account that the final post must have 150-300 words max.\n- They should not drift into generic territory (e.g., \u201cAI for B2B marketers\u201d) unless directly derived from the article\u2019s context.\n- Stay clearly and directly tied to the article\u2019s topic, phrasing, or main idea(s).\n\n- Rank and present the top three concepts in order of potential LinkedIn performance and relevance to professionals interested in AI, startups, or digital strategy, most promising first.\n\n# Writing Style Guidelines\n- Write conversationally but with authority, as an expert peer.\n- Avoid buzzwords and overtly promotional language.\n- Favor clarity, actionable value, storytelling, and thought leadership.\n- Vary hooks and structures between different runs to prevent repetition.\n\n# Error Handling\n- If the input article is missing a title or content, attempt ideation with the information you have available.\n\n# Output Format\n**The output must always be returned in JSON format as described below.**\nReturn a JSON object in this structure:\n```json\n{\n  \"post_concepts\": [\n    {\n      \"title\": \"string\",\n      \"rationale\": \"string\",\n      \"outline\": [\"string\", ...]\n    },\n    ... (total: 3 concepts)\n  ],\n  \"selected_post\": {\n    \"title\": \"string\",\n    \"full_post\": \"string\"\n  },\n  \"hashtags\": [\"string\", ...] // 3\u20136 relevant hashtags\n}\n```\nIf input is insufficient:\n```json\n{\n  \"error\": \"Missing blog article title/content. Cannot generate post ideas.\"\n}\n```\n\n# Validation\nAfter ideation, briefly validate that each post concept closely aligns with the article\u2019s substance and audience interests; adjust concepts if they lack relevance or clarity before producing output.\n\n# Example Output\n```json\n{\n  \"post_concepts\": [\n    {\n      \"title\": \"AI and Startup Product-Market Fit: Lessons from the Trenches\",\n      \"rationale\": \"Translates key lessons into actionable tips for founders navigating AI adoption.\",\n      \"outline\": [\n        \"Opening: AI isn\u2019t just hype\u2014here\u2019s how startups can really leverage it\",\n        \"Insight: Common pitfalls in product-market fit for AI tools\",\n        \"Takeaway: Strategies for sustainable integration\"\n      ]\n    },\n    ... (2 more concepts)\n  ],\n  },\n}\n```\n"
            },
            {
              "content": "=Based on the notes provided, create an outline with 3 different topics that can be turned into separate LinkedIn posts. Each topic should focus on a specific aspect, topic or insight that can be derived from the notes. Return the outline as a JSON array with 3 objects, each containing: topic (string), key_points (array of strings), and angle (string). Article Title: {{ $('Notion Content Plan Trigger').item.json['Project name'] }}\nLinkedIn Post Content Notes: {{ $json.Notes }}"
            }
          ]
        },
        "simplify": false,
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "ddd9cd70-2348-4d09-a4a2-9365b23aa309",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2400,
        192
      ],
      "parameters": {
        "width": 704,
        "height": 1264,
        "content": "# LinkedIn Content Generation Workflow\n\n## Summary\nAutomated workflow that transforms Notion content notes into publication-ready LinkedIn posts using Claude AI. Monitors Notion database and generates multiple variations based on structured outlines, so that the author can pick the one they like most.\n\n## Use Cases\n- Automate LinkedIn content creation from content planning database.\n- Generate multiple post variations from a single outline.\n- Maintain consistent voice and formatting across all posts.\n- Scale content production while preserving quality.\n\n## How It Works\n\n1. **Trigger** - Monitors Notion \"Content Plan\" database hourly for updates. \n2. **Conditional Check** - Verifies \"LinkedIn Post (Main)\" tag and \"Ready for Writing\" status\n3. **Main Post** - Claude generates single post from project name and notes\n4. **Outline Analysis** - Parallel process creates 3 distinct post concepts with different angles\n5. **Multi-Post Generation** - Each outline becomes a complete LinkedIn post\n6. **Save to Notion** - All posts automatically saved to database\n\n**AI Setup:**\n- Claude Sonnet 4.5 (`claude-sonnet-4-5-20250929`)\n- Main post: temperature 0.8 (creative)\n- Multi-post: default temperature (consistent)\n- Custom system prompts for ALLMO.ai brand voice\n\n## How to Use\n\n1. **Setup a content database in notion, or link your existing one:**\n   - Use field mapping as outlined below or update field mapping in n8n template.\n\n1. **Add content to Notion:**\n   - Project name (topic)\n   - Notes (article content/key points)\n   - Tag: \"LinkedIn Post (Main)\"\n   - Status: \"Ready for Writing\"\n\n2. **Workflow triggers automatically** (hourly check)\n\n3. **Retrieve posts** from Notion database\n\n4. **Review and publish** to LinkedIn\n\n## Requirements\n\n**Credentials:**\n- Notion API (access to Content Plan database)\n- Anthropic API key\n- OpenAI API Key\n\n**Notion Database:**\n- Connect Database by ID (or your preferred method)\n- Required properties:\n  - Project name (text)\n  - Notes (rich text)\n  - Tags (multi-select with \"LinkedIn Post (Main)\")\n  - Status (select with \"Ready for Writing\")\n\n\n**Notes:**\n- Posts optimized for 1800 character limit\n- Generates both single posts and multi-angle variations"
      },
      "typeVersion": 1
    },
    {
      "id": "bf1f7eed-a8ab-4bae-b072-caa983378528",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1616,
        384
      ],
      "parameters": {
        "color": 7,
        "width": 704,
        "height": 352,
        "content": "## Trigger and Verification\nChecks for new content hourly. Verifies Channel and Status, to ensure only LinkedIn content gets processed in case your content plan spans multiple channels.\n\nNote: You must update text field or headline in Notion for it to be captured as an update."
      },
      "typeVersion": 1
    },
    {
      "id": "559be568-2ee2-4bdd-af91-76d19acb09eb",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -832,
        -48
      ],
      "parameters": {
        "color": 7,
        "width": 704,
        "height": 528,
        "content": "## Main Post\nCreates a standardized post and writes the information back to Notion."
      },
      "typeVersion": 1
    },
    {
      "id": "a3025907-fd30-4653-b588-f24bc1cd1a2e",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -768,
        768
      ],
      "parameters": {
        "color": 7,
        "width": 1216,
        "height": 624,
        "content": "## Create Variations for more creativity\nTwo step process:\n1. Let ChatGPT generate ideas for variation. \n2. Claude creates a ready to publish LinkedIn post for each variation. \n\n**Goal: Review a list of multiple options for linkedin posts and pick the one that you like most**\n- avoids having to retrigger the workflow in case you dislike the version\n- more flexible adjustment to different topics.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "034ea0bc-cfb6-4cc0-9cba-e691f66cd05e",
      "name": "Update Status to prevent re-running",
      "type": "n8n-nodes-base.notion",
      "position": [
        -752,
        560
      ],
      "parameters": {
        "pageId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "simple": "",
        "options": {},
        "resource": "databasePage",
        "operation": "update",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Status|status",
              "statusValue": "n8n_runing"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "If1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If1": {
      "main": [
        [
          {
            "node": "Claude Agent - Main LinkedIn Post",
            "type": "main",
            "index": 0
          },
          {
            "node": "ChatGPT idea geneartion",
            "type": "main",
            "index": 0
          },
          {
            "node": "Update Status to prevent re-running",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Split Out1": {
      "main": [
        [
          {
            "node": "Claude Agent - 3 LinkedIn Posts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Claude Model 1": {
      "ai_languageModel": [
        [
          {
            "node": "Claude Agent - Main LinkedIn Post",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Claude Model 2": {
      "ai_languageModel": [
        [
          {
            "node": "Claude Agent - 3 LinkedIn Posts",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "ChatGPT idea geneartion": {
      "main": [
        [
          {
            "node": "Split Out1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Notion Content Plan Trigger": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Claude Agent - 3 LinkedIn Posts": {
      "main": [
        [
          {
            "node": "Save Each Post to Notion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Claude Agent - Main LinkedIn Post": {
      "main": [
        [
          {
            "node": "Save Main Post to Notion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}