Intelligent Content Creator

    This workflow is for demo.

    Shared 4/30/2026

    0 views

    Visual Workflow

    JSON Code

    {
      "id": "ppLIUOazA4S8ejtY",
      "meta": {
        "instanceId": "3a306f141f0aaa0d7cbd3283c83d3f0d0cabc669c78a341e8f8837490645eadc",
        "templateCredsSetupCompleted": true
      },
      "name": "Intelligent Content Creator",
      "tags": [],
      "nodes": [
        {
          "id": "f6bb013c-79d5-41d9-8523-a40aa69305b7",
          "name": "Get Pending Topics",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            -1472,
            96
          ],
          "parameters": {
            "options": {},
            "filtersUI": {
              "values": [
                {
                  "lookupValue": "Pending",
                  "lookupColumn": "Status"
                }
              ]
            },
            "sheetName": {
              "__rl": true,
              "mode": "url",
              "value": "https://docs.google.com/spreadsheets/d/17cwz-0SVd-cnla1U4zIL1TkUDLBrzhtG6jedWbJG_yo/edit?gid=0#gid=0"
            },
            "documentId": {
              "__rl": true,
              "mode": "id",
              "value": "17cwz-0SVd-cnla1U4zIL1TkUDLBrzhtG6jedWbJG_yo"
            }
          },
          "credentials": {
            "googleSheetsOAuth2Api": {
              "id": "RO9HZNS1N7YxEI5F",
              "name": "Google Sheets account"
            }
          },
          "typeVersion": 4.5
        },
        {
          "id": "e32e3286-391f-4103-950d-71f80289e233",
          "name": "Loop Over Topics",
          "type": "n8n-nodes-base.splitInBatches",
          "position": [
            -1248,
            96
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 3
        },
        {
          "id": "3ac5c51f-6800-444c-934d-c2fecc915ecf",
          "name": "Tavily Search",
          "type": "n8n-nodes-base.httpRequest",
          "position": [
            -944,
            112
          ],
          "parameters": {
            "url": "https://api.tavily.com/search",
            "method": "POST",
            "options": {},
            "sendBody": true,
            "bodyParameters": {
              "parameters": [
                {
                  "name": "api_key",
                  "value": "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"
                },
                {
                  "name": "query",
                  "value": "={{ $('Loop Over Topics').item.json.Topic }}"
                },
                {
                  "name": "search_depth",
                  "value": "advanced"
                },
                {
                  "name": "max_results",
                  "value": "3"
                }
              ]
            }
          },
          "typeVersion": 4.2
        },
        {
          "id": "da4d5585-5baf-468a-916d-00ae997d769b",
          "name": "No Operation, do nothing",
          "type": "n8n-nodes-base.noOp",
          "position": [
            1024,
            208
          ],
          "parameters": {},
          "typeVersion": 1
        },
        {
          "id": "64d4e92d-005d-4dae-b1c3-3122e39a9afa",
          "name": "Update Sheet with Linked_Post",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            800,
            -80
          ],
          "parameters": {
            "columns": {
              "value": {
                "Topic": "={{ $('Loop Over Topics').item.json.Topic }}",
                "Status": "Completed",
                "LinkedIn_Post": "={{ $json.choices[0].message.content.post }}",
                "Published_Date": "={{DateTime.fromISO( $today).toISODate()}}"
              },
              "schema": [
                {
                  "id": "Topic",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "Topic",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Status",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "Status",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "LinkedIn_Post",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "LinkedIn_Post",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "X_Post",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "X_Post",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Blog_Summary",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Blog_Summary",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Published_Date",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Published_Date",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                }
              ],
              "mappingMode": "defineBelow",
              "matchingColumns": [
                "Topic"
              ],
              "attemptToConvertTypes": false,
              "convertFieldsToString": false
            },
            "options": {},
            "operation": "appendOrUpdate",
            "sheetName": {
              "__rl": true,
              "mode": "url",
              "value": "https://docs.google.com/spreadsheets/d/17cwz-0SVd-cnla1U4zIL1TkUDLBrzhtG6jedWbJG_yo/edit?gid=0#gid=0"
            },
            "documentId": {
              "__rl": true,
              "mode": "id",
              "value": "17cwz-0SVd-cnla1U4zIL1TkUDLBrzhtG6jedWbJG_yo"
            }
          },
          "credentials": {
            "googleSheetsOAuth2Api": {
              "id": "RO9HZNS1N7YxEI5F",
              "name": "Google Sheets account"
            }
          },
          "typeVersion": 4.5
        },
        {
          "id": "15df7210-bc6b-4926-a2cb-ce61ff01cc78",
          "name": "Update Sheet with X-Post",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            800,
            112
          ],
          "parameters": {
            "columns": {
              "value": {
                "Topic": "={{ $('Loop Over Topics').item.json.Topic }}",
                "X_Post": "={{ $json.message.content }}"
              },
              "schema": [
                {
                  "id": "Topic",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "Topic",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Status",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "Status",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "LinkedIn_Post",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "LinkedIn_Post",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "X_Post",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "X_Post",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Blog_Summary",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Blog_Summary",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Published_Date",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Published_Date",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                }
              ],
              "mappingMode": "defineBelow",
              "matchingColumns": [
                "Topic"
              ],
              "attemptToConvertTypes": false,
              "convertFieldsToString": false
            },
            "options": {},
            "operation": "appendOrUpdate",
            "sheetName": {
              "__rl": true,
              "mode": "url",
              "value": "https://docs.google.com/spreadsheets/d/17cwz-0SVd-cnla1U4zIL1TkUDLBrzhtG6jedWbJG_yo/edit?gid=0#gid=0"
            },
            "documentId": {
              "__rl": true,
              "mode": "id",
              "value": "17cwz-0SVd-cnla1U4zIL1TkUDLBrzhtG6jedWbJG_yo"
            }
          },
          "credentials": {
            "googleSheetsOAuth2Api": {
              "id": "RO9HZNS1N7YxEI5F",
              "name": "Google Sheets account"
            }
          },
          "typeVersion": 4.5
        },
        {
          "id": "d1354c4c-2183-41e7-880c-9a293697d55c",
          "name": "Update Sheet with Blog_Post",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            800,
            304
          ],
          "parameters": {
            "columns": {
              "value": {
                "Topic": "={{ $('Loop Over Topics').item.json.Topic }}",
                "Blog_Summary": "={{ $json.choices[0].message.content }}"
              },
              "schema": [
                {
                  "id": "Topic",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "Topic",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Status",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "Status",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "LinkedIn_Post",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "LinkedIn_Post",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "X_Post",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "X_Post",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Blog_Summary",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Blog_Summary",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Published_Date",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Published_Date",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                }
              ],
              "mappingMode": "defineBelow",
              "matchingColumns": [
                "Topic"
              ],
              "attemptToConvertTypes": false,
              "convertFieldsToString": false
            },
            "options": {},
            "operation": "appendOrUpdate",
            "sheetName": {
              "__rl": true,
              "mode": "url",
              "value": "https://docs.google.com/spreadsheets/d/17cwz-0SVd-cnla1U4zIL1TkUDLBrzhtG6jedWbJG_yo/edit?gid=0#gid=0"
            },
            "documentId": {
              "__rl": true,
              "mode": "id",
              "value": "17cwz-0SVd-cnla1U4zIL1TkUDLBrzhtG6jedWbJG_yo"
            }
          },
          "credentials": {
            "googleSheetsOAuth2Api": {
              "id": "RO9HZNS1N7YxEI5F",
              "name": "Google Sheets account"
            }
          },
          "typeVersion": 4.5
        },
        {
          "id": "63985eea-cf74-4d5d-853f-46e0ebf5916b",
          "name": "Sticky Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -1760,
            -32
          ],
          "parameters": {
            "width": 656,
            "height": 288,
            "content": "## Pick Pending Topic for Research"
          },
          "typeVersion": 1
        },
        {
          "id": "600fe538-9b12-4c30-9f34-4d5ae7ad2f53",
          "name": "Sticky Note1",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -1040,
            -16
          ],
          "parameters": {
            "width": 1312,
            "height": 288,
            "content": "## Research, Make Summary, and Synthesize"
          },
          "typeVersion": 1
        },
        {
          "id": "2c676e54-a72f-47cb-90f6-e9030a42596f",
          "name": "Sticky Note2",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            416,
            -144
          ],
          "parameters": {
            "width": 848,
            "height": 656,
            "content": "## Generate Content per Platform"
          },
          "typeVersion": 1
        },
        {
          "id": "70485a30-d416-4bde-a97a-81636f4f9507",
          "name": "LinkedIn Post",
          "type": "@n8n/n8n-nodes-langchain.openAi",
          "onError": "continueRegularOutput",
          "position": [
            448,
            -80
          ],
          "parameters": {
            "modelId": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4.1-mini",
              "cachedResultName": "GPT-4.1-MINI"
            },
            "options": {},
            "messages": {
              "values": [
                {
                  "content": "=#Role\nYou are professional copywriter for LinkedIn.\n\n#Task\nCreate a post from:\n---\n{{ $json.text }}\n---\n\n#Tone\nProfessional, authoritative, substantive  \n\n#Constraints\n- No emojis or bullet points\n- No \"chatty\" openers (\"Great news!\", \"I'm thrilled to share\")\n- Do not start with \"I\"\n- Short paragraphs (2–4 sentences)\n- Under 500 words\n- Must end with one open-ended discussion question\n\n#Rationale\nLinkedIn's professional audience values depth, credibility, and genuine insights. The prohibition on casual language and the requirement for a discussion question encourage deeper engagement and position the author as a thought leader.\n\n"
                }
              ]
            },
            "simplify": false,
            "jsonOutput": "={{ true }}"
          },
          "credentials": {
            "openAiApi": {
              "id": "2jMmaE97aRAvqGJM",
              "name": "OpenAi account"
            }
          },
          "executeOnce": true,
          "typeVersion": 1.8,
          "alwaysOutputData": true
        },
        {
          "id": "a48f8d6b-a8f9-424b-84c2-2dd43b994bd6",
          "name": "X Post",
          "type": "@n8n/n8n-nodes-langchain.openAi",
          "onError": "continueRegularOutput",
          "position": [
            448,
            112
          ],
          "parameters": {
            "modelId": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4.1-mini",
              "cachedResultName": "GPT-4.1-MINI"
            },
            "options": {},
            "messages": {
              "values": [
                {
                  "content": "=#Role\nYou are professional copywriter for X (Twitter).\n\n#Task\nCreate a post from:\n---\n{{ $json.text }}\n---\n#Tone\nCasual, witty, conversational  \n\n#Constraints\n- Under 200 words (aim 180–250)\n- Plain, everyday language\n- 1–2 emojis maximum (when relevant)\n- Strong opening hook (claim, stat, or question)\n- 2–3 short follow-up sentences\n- Optional hashtags (1–3)\n\n#Rationale\nX's fast-moving timeline rewards conciseness and personality. The emphasis on a hook and short sentences drives engagement. Occasional emojis signal relatability without appearing unprofessional."
                }
              ]
            }
          },
          "credentials": {
            "openAiApi": {
              "id": "2jMmaE97aRAvqGJM",
              "name": "OpenAi account"
            }
          },
          "executeOnce": true,
          "typeVersion": 1.8,
          "alwaysOutputData": true
        },
        {
          "id": "9839e389-f2fe-4846-b919-0622d889db4b",
          "name": "Blog_Post",
          "type": "@n8n/n8n-nodes-langchain.openAi",
          "onError": "continueRegularOutput",
          "position": [
            448,
            304
          ],
          "parameters": {
            "modelId": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4.1-mini",
              "cachedResultName": "GPT-4.1-MINI"
            },
            "options": {},
            "messages": {
              "values": [
                {
                  "content": "=#Role\nYou are professional copywriter for online blog.\n\n#Task\nCreate a post from the content:\n---\n{{ $json.text }}\n---\n\n#Tone\nProfessional yet warm, compelling, authoritative  \n\n#Constraints\n- First sentence MUST be a provocative question OR striking specific fact\n- 3–4 sentences of substantive context\n- Closing sentence that entices further reading\n- Strictly 300–500 words\n- No bullet points or \"In this blog/article\" phrases\n\n#Rationale\nBlog introductions compete for reader attention in a content-saturated landscape. A provocative opener creates immediate curiosity. The word count constraint forces precision while the length allows enough context for readers to judge relevance. The closing sentence acts as a \"curiosity gap\" to pull readers into the full post.\n\n"
                }
              ]
            },
            "simplify": false
          },
          "credentials": {
            "openAiApi": {
              "id": "2jMmaE97aRAvqGJM",
              "name": "OpenAi account"
            }
          },
          "executeOnce": true,
          "typeVersion": 1.8,
          "alwaysOutputData": true
        },
        {
          "id": "f695d849-2855-41d3-b21a-b3102175621b",
          "name": "Schedule Trigger",
          "type": "n8n-nodes-base.scheduleTrigger",
          "position": [
            -1696,
            96
          ],
          "parameters": {
            "rule": {
              "interval": [
                {
                  "field": "weeks",
                  "triggerAtHour": 9
                }
              ]
            }
          },
          "typeVersion": 1.3
        },
        {
          "id": "ff9437b2-903a-4ff0-a114-6dae678f6027",
          "name": "Split Out",
          "type": "n8n-nodes-base.splitOut",
          "position": [
            -720,
            112
          ],
          "parameters": {
            "options": {},
            "fieldToSplitOut": "results"
          },
          "typeVersion": 1
        },
        {
          "id": "6e95f267-a4c2-4907-85d8-62e0eb3f0821",
          "name": "Edit Fields",
          "type": "n8n-nodes-base.set",
          "position": [
            -496,
            112
          ],
          "parameters": {
            "options": {},
            "assignments": {
              "assignments": [
                {
                  "id": "3b2bcb4c-0b10-42b9-80ac-658a1ab4c927",
                  "name": "content",
                  "type": "string",
                  "value": "={{$json.content }}"
                }
              ]
            }
          },
          "typeVersion": 3.4
        },
        {
          "id": "69baa2fe-e7c4-4ba5-a5eb-e5aa259fda8c",
          "name": "Flatten for Text",
          "type": "n8n-nodes-base.code",
          "position": [
            80,
            112
          ],
          "parameters": {
            "jsCode": "const texts = [];\nfor (let i = 0; i < items.length; i++) {\n  texts.push(items[i].json.output[0].content[0].text);\n}\n\nreturn [{ json: { text: texts } }];"
          },
          "typeVersion": 2
        },
        {
          "id": "1f6db779-9034-48eb-ad66-5256498778f4",
          "name": "makeSummary",
          "type": "@n8n/n8n-nodes-langchain.openAi",
          "position": [
            -272,
            112
          ],
          "parameters": {
            "modelId": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4.1-nano",
              "cachedResultName": "GPT-4.1-NANO"
            },
            "options": {},
            "responses": {
              "values": [
                {
                  "content": "=Summarize the text in 5 bullets. Here is the text:\n {{ $json.content }}"
                }
              ]
            },
            "builtInTools": {}
          },
          "credentials": {
            "openAiApi": {
              "id": "2jMmaE97aRAvqGJM",
              "name": "OpenAi account"
            }
          },
          "typeVersion": 2.3
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "binaryMode": "separate",
        "executionOrder": "v1"
      },
      "versionId": "42918303-b7df-4b02-97fc-44afe41f98d7",
      "connections": {
        "X Post": {
          "main": [
            [
              {
                "node": "Update Sheet with X-Post",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Blog_Post": {
          "main": [
            [
              {
                "node": "Update Sheet with Blog_Post",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Split Out": {
          "main": [
            [
              {
                "node": "Edit Fields",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Edit Fields": {
          "main": [
            [
              {
                "node": "makeSummary",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "makeSummary": {
          "main": [
            [
              {
                "node": "Flatten for Text",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "LinkedIn Post": {
          "main": [
            [
              {
                "node": "Update Sheet with Linked_Post",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Tavily Search": {
          "main": [
            [
              {
                "node": "Split Out",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Flatten for Text": {
          "main": [
            [
              {
                "node": "LinkedIn Post",
                "type": "main",
                "index": 0
              },
              {
                "node": "X Post",
                "type": "main",
                "index": 0
              },
              {
                "node": "Blog_Post",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Loop Over Topics": {
          "main": [
            [],
            [
              {
                "node": "Tavily Search",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Schedule Trigger": {
          "main": [
            [
              {
                "node": "Get Pending Topics",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Get Pending Topics": {
          "main": [
            [
              {
                "node": "Loop Over Topics",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "No Operation, do nothing": {
          "main": [
            [
              {
                "node": "Loop Over Topics",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Update Sheet with X-Post": {
          "main": [
            [
              {
                "node": "No Operation, do nothing",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Update Sheet with Blog_Post": {
          "main": [
            [
              {
                "node": "No Operation, do nothing",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Update Sheet with Linked_Post": {
          "main": [
            [
              {
                "node": "No Operation, do nothing",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    }