# templates

name: AI-Powered Employee Database Management via Telegram using OpenAI and Airtable
author_name: Billy Christi
author_username: billy
categories: []
created_at: 2025-06-01T02:01:03.787Z
updated_at: 2025-06-01T02:01:03.787Z
url: https://n8n.io/workflows/4545
scraped_at: 2025-06-19 22:49:14
description:
  Who is this for?

  This workflow is perfect for:

  HR professionals** seeking to automate employee and department management
  Startups and SMBs** that want an AI-powered HR assistant on Telegram
  Internal operations teams** that want to simplify onboarding and employee data tracking

  What problem is this workflow solving?

  Managing employee databases manually is error-prone and inefficient—especially for growing teams. This workflow solves that by:

  Enabling natural language-based HR operations directly through Telegram
  Automating the creation, retrieval, and deletion of employee records in Airtable
  Dynamically managing related data such as departments and job titles
  Handling data consistency and linking across relational tables automatically
  Providing a conversational interface backed by OpenAI for smart decision-making

  What this workflow does

  Using Telegram as the interface and Airtable as the backend database, this intelligent HR workflow allows users to:

  Chat in natural language (e.g. “Show me all employees” or “Create employee: Sarah, Marketing…”)
  Interpret and route requests via an AI Agent that acts as the orchestrator
  Query employee, department, and job title data from Airtable
  Create or update records as needed:

     Add new departments and job titles automatically if they don’t exist
     Create new employees and link them to the correct department and job title
  Delete employees based on ID
  Respond directly in Telegram, providing user-friendly feedback

  Setup
  View & Copy the Airtable base here:
     👉 Employee Database Management – Airtable Base Template

  Telegram Bot: Set up a Telegram bot and connect it to the Telegram Trigger node

  Airtable: Prepare three Airtable tables:

     Employees with links to Departments and Job Titles
     Departments with Name & Description
     Job Titles with Title & Description

  Connect your Airtable API key and base/table IDs into the appropriate Airtable nodes

  Add your OpenAI API key to the AI Agent nodes

  Deploy both workflows: the main chatbot workflow and the employee creation sub-workflow

  Test with sample messages like:

     “Create employee: John Doe, john@company.com, Engineering, Software Engineer”
     “Remove employee ID rec123xyz”

  How to customize this workflow to your needs

  Switch databases**: Replace Airtable with Notion, PostgreSQL, or Google Sheets if desired
  Enhance security**: Add authentication and validation before allowing deletion
  Add approval flows**: Integrate Telegram button-based approvals for sensitive actions
  Multi-language support**: Expand system prompts to support multiple languages
  Add logging**: Store every user action in a log table for auditability
  Expand capabilities**: Integrate payroll, time tracking, or Slack notifications

  Extra Tips

  This is a two-workflow setup. Make sure the sub-workflow is deployed and accessible from the main agent.
  Use Simple Memory per chat ID to preserve context across user queries.
  You can expand the orchestration logic by adding more tools to the main agent—such as “Get active employees only” or “List employees by job title.”

nodes_used:
  ["n8n-nodes-base.airtable","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.toolWorkflow"]

workflow_json:
  {"meta":{"instanceId":"d1786ab0d745a7498abf13a9c2cdabb1374c006e889b79eef64ce0386b8f8a41","templateCredsSetupCompleted":true},"nodes":[{"id":"da4fe281-3ee8-4fdf-a779-6bea354b4e57","name":"Telegram Trigger","type":"n8n-nodes-base.telegramTrigger","position":[2560,-140],"webhookId":"5971294c-ab28-481a-83b5-efa64d93554f","parameters":{"updates":["message"],"additionalFields":{}},"credentials":{"telegramApi":{"id":"HtvibSVWl4VexYu9","name":"Employee Database Management"}},"typeVersion":1.2},{"id":"a18dec81-5bfa-496b-a06a-f150fa4c1fd8","name":"Create Employee AI Agent tool","type":"@n8n/n8n-nodes-langchain.toolWorkflow","position":[2220,460],"parameters":{"workflowId":{"__rl":true,"mode":"list","value":"uOrbNX2DcYJ0iAyv","cachedResultName":"employee database management"},"description":"Create Employee AI Agent tool\nCall this tool if user requested to create new employee","workflowInputs":{"value":{"query":"={{ $json.message.text }}","action":"=create"},"schema":[{"id":"query","type":"string","display":true,"removed":false,"required":false,"displayName":"query","defaultMatch":false,"canBeUsedToMatch":true},{"id":"action","type":"string","display":true,"removed":false,"required":false,"displayName":"action","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["query"],"attemptToConvertTypes":false,"convertFieldsToString":false}},"typeVersion":2.2},{"id":"c7c6e0c7-204f-497b-95d7-662789a5b9d2","name":"Get departments data from airtable tool","type":"n8n-nodes-base.airtableTool","position":[2700,460],"parameters":{"base":{"__rl":true,"mode":"list","value":"appgVjZcaRP8BsKf0","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0","cachedResultName":"HR Database"},"table":{"__rl":true,"mode":"list","value":"tblB0xec7TL36pDgC","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0/tblB0xec7TL36pDgC","cachedResultName":"Departments"},"options":{"fields":["Department Name","Department Description"]},"operation":"search","descriptionType":"manual","filterByFormula":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Filter_By_Formula', ``, 'string') }}","toolDescription":"Get departments data from airtable tool"},"credentials":{"airtableTokenApi":{"id":"r2IibdsQurA56LDa","name":"Airtable Personal Access Token account"}},"typeVersion":2.1},{"id":"5640ff19-445a-479a-b3ed-94e5227f2d6c","name":"Get job titles data from airtable tool","type":"n8n-nodes-base.airtableTool","position":[2860,460],"parameters":{"base":{"__rl":true,"mode":"list","value":"appgVjZcaRP8BsKf0","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0","cachedResultName":"HR Database"},"table":{"__rl":true,"mode":"list","value":"tblnyWkG6BTpxjMzo","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0/tblnyWkG6BTpxjMzo","cachedResultName":"Job Titles"},"options":{"fields":["Job Title","Job Description"]},"operation":"search","descriptionType":"manual","filterByFormula":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Filter_By_Formula', ``, 'string') }}","toolDescription":"Get job titles data from airtable tool"},"credentials":{"airtableTokenApi":{"id":"r2IibdsQurA56LDa","name":"Airtable Personal Access Token account"}},"typeVersion":2.1},{"id":"c07f0aff-6088-44ad-bc64-a95e8b373355","name":"Get employees data from airtable tool","type":"n8n-nodes-base.airtableTool","position":[3020,460],"parameters":{"base":{"__rl":true,"mode":"list","value":"appgVjZcaRP8BsKf0","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0","cachedResultName":"HR Database"},"table":{"__rl":true,"mode":"list","value":"tblGIVbpACRwWzzlp","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0/tblGIVbpACRwWzzlp","cachedResultName":"Employees"},"options":{"fields":["Full Name","Email","Phone Number","Job Title (from Job Titles)","Reports To (from Employees)","Department Name (from Department)","Employee Status"]},"operation":"search","descriptionType":"manual","filterByFormula":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Filter_By_Formula', ``, 'string') }}","toolDescription":"Get employees data from airtable tool"},"credentials":{"airtableTokenApi":{"id":"r2IibdsQurA56LDa","name":"Airtable Personal Access Token account"}},"typeVersion":2.1},{"id":"7963abbb-c1f6-43a6-94d3-4329c172aa54","name":"OpenAI Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[2200,100],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4o-mini"},"options":{}},"credentials":{"openAiApi":{"id":"MGwGMKEkdcjzlYCw","name":"OpenAi account"}},"typeVersion":1.2},{"id":"67eb142c-b53f-4449-b0b3-3af300f3f546","name":"Simple Memory","type":"@n8n/n8n-nodes-langchain.memoryBufferWindow","position":[2240,240],"parameters":{"sessionKey":"={{ $json.message.chat.id }}","sessionIdType":"customKey"},"typeVersion":1.3},{"id":"7d9a4fdd-09a9-4a87-b661-26a87287ce5e","name":"Send Message to User","type":"n8n-nodes-base.telegram","position":[2860,120],"webhookId":"507c9446-fd78-4695-8dd2-7c348390a4db","parameters":{"text":"={{ $json.output }}","chatId":"={{ $('Telegram Trigger').item.json.message.chat.id }}","additionalFields":{"appendAttribution":false}},"credentials":{"telegramApi":{"id":"HtvibSVWl4VexYu9","name":"Employee Database Management"}},"typeVersion":1.2},{"id":"4e9b295d-8fc4-4e8c-8f07-47301dd8d42a","name":"Create Department Tool","type":"n8n-nodes-base.airtableTool","position":[2380,460],"parameters":{"base":{"__rl":true,"mode":"list","value":"appgVjZcaRP8BsKf0","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0","cachedResultName":"HR Database"},"table":{"__rl":true,"mode":"list","value":"tblB0xec7TL36pDgC","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0/tblB0xec7TL36pDgC","cachedResultName":"Departments"},"columns":{"value":{"Department Name":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Department_Name', ``, 'string') }}","Department Description":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Department_Description', ``, 'string') }}"},"schema":[{"id":"Department Name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Department Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Department Description","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Department Description","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Department Head","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Department Head","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Job Titles","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Job Titles","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Employees","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Employees","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["Department Name"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{"typecast":true},"operation":"create","descriptionType":"manual","toolDescription":"Create department tool"},"credentials":{"airtableTokenApi":{"id":"r2IibdsQurA56LDa","name":"Airtable Personal Access Token account"}},"typeVersion":2.1},{"id":"b8f74f5f-74ad-4bd6-9f96-309184331a2b","name":"Create Job Title Tool","type":"n8n-nodes-base.airtableTool","position":[2540,460],"parameters":{"base":{"__rl":true,"mode":"list","value":"appgVjZcaRP8BsKf0","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0","cachedResultName":"HR Database"},"table":{"__rl":true,"mode":"list","value":"tblnyWkG6BTpxjMzo","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0/tblnyWkG6BTpxjMzo","cachedResultName":"Job Titles"},"columns":{"value":{"Job Title":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Job_Title', ``, 'string') }}","Job Description":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Job_Description', ``, 'string') }}"},"schema":[{"id":"Job Title","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Job Title","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Job Description","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Job Description","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Department associated with the job title","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Department associated with the job title","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Employees","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Employees","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["Job Title"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{"typecast":true},"operation":"create","descriptionType":"manual","toolDescription":"Create job title tool"},"credentials":{"airtableTokenApi":{"id":"r2IibdsQurA56LDa","name":"Airtable Personal Access Token account"}},"typeVersion":2.1},{"id":"d9ad68a2-67ac-4a5a-96bd-3ae41965b888","name":"Delete employee tool","type":"n8n-nodes-base.airtableTool","position":[3200,460],"parameters":{"id":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Record_ID', ``, 'string') }}","base":{"__rl":true,"mode":"list","value":"appgVjZcaRP8BsKf0","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0","cachedResultName":"HR Database"},"table":{"__rl":true,"mode":"list","value":"tblGIVbpACRwWzzlp","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0/tblGIVbpACRwWzzlp","cachedResultName":"Employees"},"operation":"deleteRecord","descriptionType":"manual","toolDescription":"Delete employee tool"},"credentials":{"airtableTokenApi":{"id":"r2IibdsQurA56LDa","name":"Airtable Personal Access Token account"}},"typeVersion":2.1},{"id":"c53da289-17e0-4699-9465-a9aaebc84d8a","name":"Employee Management AI Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[2460,120],"parameters":{"text":"=User Request:\n{{ $json.message.text }}","options":{"systemMessage":"=You are employee database management specialist\n\nCall the right tools based on the request:\n\n//\nUser wants to create new employee:\ncall Create Employee AI Agent tool\n//\n\n//\nUser wants to delete:\nPass the employee id to Delete employee tool\nrun Delete employee tool\n//\n\n//\nUser wants to create department data:\ncall \"Create department tool\"\n//\n\n//\nUser wants to create job title data:\ncall \"Create Job Title tool\"\n//\n\n//\nUser wants get department data:\ncall Get departments data from airtable tool\n//\n\n//\nUser wants get employee data:\ncall Get employees data from airtable tool\n//\n\nImportant notes:\nOnly call 1 tool max, choose the most suitable tool\nFor getting data, no need to output the airtable id, example for getting department data => show only name and description (without id)"},"promptType":"define"},"typeVersion":1.9},{"id":"8a1d71c3-b9b8-4d73-b96d-962d569fc97f","name":"Get departments data from airtable","type":"n8n-nodes-base.airtableTool","position":[2480,1020],"parameters":{"base":{"__rl":true,"mode":"list","value":"appgVjZcaRP8BsKf0","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0","cachedResultName":"HR Database"},"limit":1,"table":{"__rl":true,"mode":"list","value":"tblB0xec7TL36pDgC","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0/tblB0xec7TL36pDgC","cachedResultName":"Departments"},"options":{},"operation":"search","returnAll":false,"descriptionType":"manual","filterByFormula":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Filter_By_Formula', ``, 'string') }}","toolDescription":"Get departments data from airtable"},"credentials":{"airtableTokenApi":{"id":"r2IibdsQurA56LDa","name":"Airtable Personal Access Token account"}},"typeVersion":2.1},{"id":"c6f20c6b-56c0-43e9-81ec-ae62d40791ed","name":"Get job titles data from airtable","type":"n8n-nodes-base.airtableTool","position":[2640,1020],"parameters":{"base":{"__rl":true,"mode":"list","value":"appgVjZcaRP8BsKf0","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0","cachedResultName":"HR Database"},"limit":1,"table":{"__rl":true,"mode":"list","value":"tblnyWkG6BTpxjMzo","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0/tblnyWkG6BTpxjMzo","cachedResultName":"Job Titles"},"options":{},"operation":"search","returnAll":false,"descriptionType":"manual","filterByFormula":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Filter_By_Formula', ``, 'string') }}","toolDescription":"Get job titles data from airtable"},"credentials":{"airtableTokenApi":{"id":"r2IibdsQurA56LDa","name":"Airtable Personal Access Token account"}},"typeVersion":2.1},{"id":"a8e4f533-aa7a-4bd9-bb25-d7f8f1c2c0a2","name":"Create Employee AI Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[2540,660],"parameters":{"text":"=User message:\n{{ $json.query }}","options":{"systemMessage":"=```\nYou are an airtable database management agent\n\nthe exact column name on airtable is:\nDepartment name\nJob title\n\ndont use any other name combination like underscore\n\nfirst check if {Department name} and {job title} exist\n\nif department name and job title doesnt exist:\ncreate new department and job title then output the airtable id\nif end\n\nif department name and job title exist:\noutput the department and job title existing airtable id\nif end\n\nCall the create employee tools and pass the job_title_id and department_id\n\nOutput in json format:\n{\n  \"department_id\":\"recxxxxxxx\",\n  \"job_title_id\":\"recxxxxxxx\",\n  \"new_employee_id\": \"recxxxxxxx\"\n}\n\n\n```\n"},"promptType":"define","hasOutputParser":true},"typeVersion":1.9},{"id":"3ce2ac45-4b98-44df-89e1-428aab71aaef","name":"When Executed by Another Workflow","type":"n8n-nodes-base.executeWorkflowTrigger","position":[2300,660],"parameters":{"inputSource":"jsonExample","jsonExample":"{\n  \"query\":\"test\",\n  \"action\":\"create\"\n}"},"typeVersion":1.1},{"id":"e842e97e-82e6-451e-af41-b93b3cff9076","name":"Structured Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[3280,1020],"parameters":{"jsonSchemaExample":"{\n  \"department_id\":\"recxxxxxxx\",\n  \"job_title_id\":\"recxxxxxxx\",\n  \"new_employee_id\": \"recxxxxxxx\"\n}"},"typeVersion":1.2},{"id":"1ce2b5e1-2abf-4a19-9439-2972386300e5","name":"Create Department","type":"n8n-nodes-base.airtableTool","position":[2800,1020],"parameters":{"base":{"__rl":true,"mode":"list","value":"appgVjZcaRP8BsKf0","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0","cachedResultName":"HR Database"},"table":{"__rl":true,"mode":"list","value":"tblB0xec7TL36pDgC","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0/tblB0xec7TL36pDgC","cachedResultName":"Departments"},"columns":{"value":{"Department Name":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Department_Name', ``, 'string') }}","Department Description":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Department_Description', ``, 'string') }}"},"schema":[{"id":"Department Name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Department Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Department Description","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Department Description","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Department Head","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Department Head","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Job Titles","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Job Titles","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Employees","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Employees","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{"typecast":true},"operation":"create","descriptionType":"manual","toolDescription":"Create department"},"credentials":{"airtableTokenApi":{"id":"r2IibdsQurA56LDa","name":"Airtable Personal Access Token account"}},"typeVersion":2.1},{"id":"03f4d2f2-2746-4c5c-ab4c-91a5293022d3","name":"Create Job Title","type":"n8n-nodes-base.airtableTool","position":[2960,1020],"parameters":{"base":{"__rl":true,"mode":"list","value":"appgVjZcaRP8BsKf0","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0","cachedResultName":"HR Database"},"table":{"__rl":true,"mode":"list","value":"tblnyWkG6BTpxjMzo","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0/tblnyWkG6BTpxjMzo","cachedResultName":"Job Titles"},"columns":{"value":{"Job Title":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Job_Title', ``, 'string') }}","Job Description":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Job_Description', ``, 'string') }}"},"schema":[{"id":"Job Title","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Job Title","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Job Description","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Job Description","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Department associated with the job title","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Department associated with the job title","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Employees","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Employees","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{"typecast":true},"operation":"create","descriptionType":"manual","toolDescription":"Create job title"},"credentials":{"airtableTokenApi":{"id":"r2IibdsQurA56LDa","name":"Airtable Personal Access Token account"}},"typeVersion":2.1},{"id":"cba162ce-c8b2-4e75-bff2-f663248b6147","name":"Create employee","type":"n8n-nodes-base.airtableTool","position":[3120,1020],"parameters":{"base":{"__rl":true,"mode":"list","value":"appgVjZcaRP8BsKf0","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0","cachedResultName":"HR Database"},"table":{"__rl":true,"mode":"list","value":"tblGIVbpACRwWzzlp","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0/tblGIVbpACRwWzzlp","cachedResultName":"Employees"},"columns":{"value":{"Email":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Email', ``, 'string') }}","Full Name":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Full_Name', ``, 'string') }}","Phone Number":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Phone_Number', ``, 'string') }}","job_title_id":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('job_title_id', ``, 'string') }}","department_id":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('department_id', ``, 'string') }}","Employee Status":"Active"},"schema":[{"id":"Full Name","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Full Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"id","type":"string","display":true,"removed":false,"readOnly":true,"required":false,"displayName":"id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Email","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Phone Number","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Phone Number","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Job Title","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Job Title","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Employee Type","type":"options","display":true,"options":[{"name":"Employee","value":"Employee"},{"name":"Manager","value":"Manager"}],"removed":true,"readOnly":false,"required":false,"displayName":"Employee Type","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Reports To","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Reports To","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Job Title (from Job Titles)","type":"string","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"Job Title (from Job Titles)","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Reports To (from Employees)","type":"string","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"Reports To (from Employees)","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Department","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Department","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Department Name (from Department)","type":"string","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"Department Name (from Department)","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Employee Type Text","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Employee Type Text","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Employee Status","type":"options","display":true,"options":[{"name":"Active","value":"Active"},{"name":"On Leave","value":"On Leave"},{"name":"Inactive","value":"Inactive"}],"removed":false,"readOnly":false,"required":false,"displayName":"Employee Status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_title_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"job_title_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"department_id","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"department_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Head of Department","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Head of Department","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{"typecast":true},"operation":"create","descriptionType":"manual","toolDescription":"Create employee"},"credentials":{"airtableTokenApi":{"id":"r2IibdsQurA56LDa","name":"Airtable Personal Access Token account"}},"typeVersion":2.1},{"id":"0539ead3-9b8b-49be-aab9-b8c2e256fd83","name":"Update Employee Data","type":"n8n-nodes-base.airtable","position":[2920,660],"parameters":{"base":{"__rl":true,"mode":"list","value":"appgVjZcaRP8BsKf0","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0","cachedResultName":"HR Database"},"table":{"__rl":true,"mode":"list","value":"tblGIVbpACRwWzzlp","cachedResultUrl":"https://airtable.com/appgVjZcaRP8BsKf0/tblGIVbpACRwWzzlp","cachedResultName":"Employees"},"columns":{"value":{"id":"={{ $json.output.new_employee_id }}","Job Title":"=[\"{{ $json.output.job_title_id }}\"]","Department":"=[\"{{ $json.output.department_id }}\"]"},"schema":[{"id":"id","type":"string","display":true,"removed":false,"readOnly":true,"required":false,"displayName":"id","defaultMatch":true},{"id":"Full Name","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Full Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"id","type":"string","display":true,"removed":false,"readOnly":true,"required":false,"displayName":"id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Email","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Phone Number","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Phone Number","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Job Title","type":"array","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Job Title","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Employee Type","type":"options","display":true,"options":[{"name":"Employee","value":"Employee"},{"name":"Manager","value":"Manager"}],"removed":true,"readOnly":false,"required":false,"displayName":"Employee Type","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Reports To","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Reports To","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Job Title (from Job Titles)","type":"string","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"Job Title (from Job Titles)","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Reports To (from Employees)","type":"string","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"Reports To (from Employees)","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Department","type":"array","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Department","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Department Name (from Department)","type":"string","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"Department Name (from Department)","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Employee Type Text","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Employee Type Text","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Employee Status","type":"options","display":true,"options":[{"name":"Active","value":"Active"},{"name":"On Leave","value":"On Leave"},{"name":"Inactive","value":"Inactive"}],"removed":true,"readOnly":false,"required":false,"displayName":"Employee Status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"job_title_id","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"job_title_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"department_id","type":"string","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"department_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Head of Department","type":"array","display":true,"removed":true,"readOnly":false,"required":false,"displayName":"Head of Department","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["id"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update"},"credentials":{"airtableTokenApi":{"id":"r2IibdsQurA56LDa","name":"Airtable Personal Access Token account"}},"typeVersion":2.1},{"id":"0ad8d7cc-7fd7-4aef-a91c-434dc467fa8e","name":"OpenAI Chat Model1","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[2320,1020],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4o-mini"},"options":{}},"credentials":{"openAiApi":{"id":"MGwGMKEkdcjzlYCw","name":"OpenAi account"}},"typeVersion":1.2},{"id":"4131e553-62e8-457f-b04c-45182b0bd7b2","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[1960,-500],"parameters":{"color":5,"width":460,"height":460,"content":"## 🤖 AI-Powered Employee Database Management via Telegram using OpenAI and Airtable\n\n**What This Template Does:**\n- Provides an HR assistant chatbot interface through Telegram\n- Uses GPT-4 to interpret natural language requests (e.g., “Show me all employees” or “Create employee Sarah…”)\n- Performs Airtable operations to manage Employees, Departments, and Job Titles\n- Supports dynamic record creation and linking (e.g., if department doesn't exist, it will be created)\n- Maintains conversation memory per Telegram chat for smooth back-and-forth interaction\n- Splits logic into a main router workflow and a sub-workflow for employee creation"},"typeVersion":1},{"id":"f61c6914-98ea-481e-a189-f43ab0e03734","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[2800,-500],"parameters":{"color":5,"width":500,"height":460,"content":"## 📋 WORKFLOW PROCESS OVERVIEW  \nStep 1: 💬 Telegram Trigger receives natural language command from HR user  \nStep 2: 🧠 AI Agent (OpenA) interprets intent (view, create, delete, etc.)  \nStep 3: 🔀 Router decides workflow path based on user intent  \nStep 4: 📄 Get Employees fetches employee records from Airtable (if viewing)  \nStep 5: 🛠️ Create Employee Tool triggers sub-workflow for new employee creation  \nStep 6: 🏢 Create/Find Department checks Airtable for department or creates it  \nStep 7: 👔 Create/Find Job Title checks Airtable for job title or creates it  \nStep 8: 💾 Create Employee saves employee record in Airtable with linked fields  \nStep 9: 🗑️ Delete Employee removes employee record by ID (if requested)  \nStep 10: 🔁 Return Response sends formatted reply back to Telegram user\n"},"typeVersion":1},{"id":"48e9996d-ff56-410f-9957-68805ccd677f","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[2480,-500],"parameters":{"color":4,"width":280,"height":320,"content":"## SETUP REQUIRED  \n**Author:** [Billy Christi](https://n8n.io/creators/billy/)\n\nAirtable Base Structure:  \n[Copy this Airtable Base](https://airtable.com/appgVjZcaRP8BsKf0/shrQAqQ2JUW50EEyW)\n\nRequired Credentials:  \n• Airtable API Key  \n• OpenAI API Key\n• Telegram Bot Token\n"},"typeVersion":1}],"pinData":{"When Executed by Another Workflow":[{"query":"Create employee records using this data:\n- Full name: Jack123 new 123\n- Email: jackbower@gmail.com\n- Phone: +12125551212\n- Department: Engineering\n- Job Title: AI Automation Developer","action":"create"}]},"connections":{"Simple Memory":{"ai_memory":[[{"node":"Employee Management AI Agent","type":"ai_memory","index":0}]]},"Create employee":{"ai_tool":[[{"node":"Create Employee AI Agent","type":"ai_tool","index":0}]]},"Create Job Title":{"ai_tool":[[{"node":"Create Employee AI Agent","type":"ai_tool","index":0}]]},"Telegram Trigger":{"main":[[{"node":"Employee Management AI Agent","type":"main","index":0}]]},"Create Department":{"ai_tool":[[{"node":"Create Employee AI Agent","type":"ai_tool","index":0}]]},"OpenAI Chat Model":{"ai_languageModel":[[{"node":"Employee Management AI Agent","type":"ai_languageModel","index":0}]]},"OpenAI Chat Model1":{"ai_languageModel":[[{"node":"Create Employee AI Agent","type":"ai_languageModel","index":0}]]},"Delete employee tool":{"ai_tool":[[{"node":"Employee Management AI Agent","type":"ai_tool","index":0}]]},"Create Job Title Tool":{"ai_tool":[[{"node":"Employee Management AI Agent","type":"ai_tool","index":0}]]},"Create Department Tool":{"ai_tool":[[{"node":"Employee Management AI Agent","type":"ai_tool","index":0}]]},"Create Employee AI Agent":{"main":[[{"node":"Update Employee Data","type":"main","index":0}]]},"Structured Output Parser":{"ai_outputParser":[[{"node":"Create Employee AI Agent","type":"ai_outputParser","index":0}]]},"Employee Management AI Agent":{"main":[[{"node":"Send Message to User","type":"main","index":0}]]},"Create Employee AI Agent tool":{"ai_tool":[[{"node":"Employee Management AI Agent","type":"ai_tool","index":0}]]},"Get job titles data from airtable":{"ai_tool":[[{"node":"Create Employee AI Agent","type":"ai_tool","index":0}]]},"When Executed by Another Workflow":{"main":[[{"node":"Create Employee AI Agent","type":"main","index":0}]]},"Get departments data from airtable":{"ai_tool":[[{"node":"Create Employee AI Agent","type":"ai_tool","index":0}]]},"Get employees data from airtable tool":{"ai_tool":[[{"node":"Employee Management AI Agent","type":"ai_tool","index":0}]]},"Get job titles data from airtable tool":{"ai_tool":[[{"node":"Employee Management AI Agent","type":"ai_tool","index":0}]]},"Get departments data from airtable tool":{"ai_tool":[[{"node":"Employee Management AI Agent","type":"ai_tool","index":0}]]}}}


name: Auto-Generate & Publish SEO Blog Posts to WordPress with OpenRouter & Runware
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-06-01T03:24:24.440Z
updated_at: 2025-06-01T03:24:24.440Z
url: https://n8n.io/workflows/4546
scraped_at: 2025-06-19 22:49:42
description:
  Automate Blog Creation and Publishing with Ultra-Low Cost AI

  This n8n workflow — BlogBlizt: Runaware Edition — automates the creation, enrichment, and publishing of SEO-optimized blog posts for WordPress using entirely free OpenRouter AI models for text and metadata generation, plus ultra-low-cost Runware AI for realistic featured images (as low as $0.0016 per image).

  It’s triggered every 3 hours or manually via Telegram. Each run generates 1,500–3,500-word articles on trending topics in Technology, AI, Tech Facts, History, or Tips — all complete with catchy titles, slugs, meta descriptions, and visuals.

  💰 Why This Is So Cost-Efficient

  ✅ Free metadata + article generation (OpenRouter free-tier models)
  💸 Only cost is for image generation via Runware:
    Image generation: ~$0.0016/image (the cheapest model could be $0,00065)

  This is ideal for scale — generating dozens of high-quality blog posts with minimal expense.

  ⚡ Who Is This For?

  Bloggers who want high-quality content without writing
  SEO marketers seeking fresh, long-form articles
  WordPress site owners automating publishing workflows
  Growth hackers targeting high-volume content generation

  ❓ What Problem Does It Solve?

  Creating SEO-rich blog content is time-consuming, expensive, and requires expertise. BlogBlizt eliminates this friction by using free models (OpenRouter) to generate text and metadata — making this workflow nearly free to operate, with the only cost being the featured image (~$0.0016/image).

  🔧 What This Workflow Does

  ⏱ Triggers: Every 3 hours (or via Telegram command: generate)
  🧠 Generates Metadata: Title, slug, category, focus keyphrase, and meta description using OpenRouter
  ✍️ Writes SEO Article: 1,500–3,500 words with headings, H2/H3s, CTA, and outbound links
  🖼️ Creates Image: Generates realistic 1024×1024 blog image with Runware AI
  📤 Publishes to WordPress: Auto-publishes with category ID, featured image, and Yoast SEO fields
  📣 Notifies: Sends publish link to Discord and Telegram (optional)

  🔐 Setup Instructions

  Import .json into n8n
  Add credentials:
    OpenRouter API (free LLMs like LLaMA-3, Nemotron)
    Runware API key (get it here)
    (Optional) Telegram Bot + Discord Webhook
  Test by sending the word generate via Telegram

  🧩 Pre-Requirements

  Self-hosted or cloud-based n8n instance
  WordPress with category IDs configured:
    Technology → 3
    AI → 4
    Tech Fact → 7
    Tech History → 8
    Tech Tips → 9
  OpenRouter API Key (free)
  Runware API Key (for images)
  WordPress user ID (admin, default is 1)
  Telegram bot (optional)
  Discord webhook (optional)

  🛠️ Customize It Further

  Change writing tone or prompt in ✍️ Compose SEO Article Content node
  Cofigure the category
  Swap free LLMs (Claude, Gemini, GPT, etc.) in OpenRouter settings
  Adjust schedule (every 6h, daily, etc.)
  Extend alerts (email, Slack, Notion)

  🧠 Nodes Used

  Schedule Trigger
  Telegram Trigger
  @n8n/n8n-nodes-langchain (OpenRouter)
  WordPress Node
  HTTP Request (Runware API)
  Discord Webhook
  Sticky Notes (Documentation inside canvas)

  📞 Support

  Created by Khmuhtadin Automation Studio  
  Website: khmuhtadin.com  

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.discord","n8n-nodes-base.wordpress","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatOpenRouter"]

workflow_json:
  {"id":"yaqBVBEsbUkN7SOe","meta":{"instanceId":"c2650793f644091dc80fb900fe63448ad1f4b774008de9608064d67294f8307c","templateCredsSetupCompleted":true},"name":"Blog Blizt Runaware","tags":[],"nodes":[{"id":"b6f151e8-c229-46a8-be1a-c68feecd70d1","name":"⚙️ Setup Guide","type":"n8n-nodes-base.stickyNote","position":[540,-620],"parameters":{"content":""},"typeVersion":1},{"id":"7e056e5c-6c11-4212-a30f-a292281725ad","name":"🧠 Overview - What This Workflow Does","type":"n8n-nodes-base.stickyNote","position":[80,-620],"parameters":{"content":""},"typeVersion":1},{"id":"c0ef1fcc-b8de-45c2-b3d3-d677a5610cef","name":"\t🔖 Generate Blog Metadata","type":"@n8n/n8n-nodes-langchain.chainLlm","position":[220,-320],"parameters":{},"retryOnFail":true,"typeVersion":1.6},{"id":"46c21efd-5c21-4fd9-93b5-cd017db7b885","name":"\t✍️ Compose SEO Article Content","type":"@n8n/n8n-nodes-langchain.chainLlm","position":[540,-320],"parameters":{},"retryOnFail":true,"typeVersion":1.6},{"id":"6e5919b0-ec0f-4156-ad5e-8e0df97e1582","name":"\t📝 Create WordPress Draft Post","type":"n8n-nodes-base.wordpress","position":[1020,-320],"parameters":{},"typeVersion":1},{"id":"a3cd0186-6744-4ec2-9a25-e50748acc44b","name":"\t🔍 Set Yoast SEO Metadata","type":"n8n-nodes-base.httpRequest","position":[1220,-320],"parameters":{},"typeVersion":4.2},{"id":"dada1daa-0887-499c-b566-1d5b4d1eb224","name":"\t🖼️ Generate Featured Image (Runware)","type":"n8n-nodes-base.httpRequest","position":[1400,-320],"parameters":{},"typeVersion":4.2,"alwaysOutputData":true},{"id":"a6a2b5c5-7d7f-45ff-9ffb-081f9935b239","name":"\t📥 Fetch Generated Image","type":"n8n-nodes-base.httpRequest","position":[1600,-320],"parameters":{},"typeVersion":4.2},{"id":"4d590a12-eb5a-4379-88bc-2cdde10e97ff","name":"\t📤 Upload Image to WordPress Media","type":"n8n-nodes-base.httpRequest","position":[1800,-320],"parameters":{},"typeVersion":4.2},{"id":"c51f1ef5-b2a0-472c-9ba4-45ddc4e30d1b","name":"\t📎 Attach Image to Post","type":"n8n-nodes-base.httpRequest","position":[2000,-320],"parameters":{},"typeVersion":4.2},{"id":"17ac98df-ea82-44ee-80ab-e028bd0545b7","name":"\t📣 Send Notification to Discord","type":"n8n-nodes-base.discord","disabled":true,"position":[2280,-460],"webhookId":"9434d852-e7d0-4950-9519-a467008d5e95","parameters":{},"typeVersion":2},{"id":"a1bc402f-286a-4e2d-82fe-4753be6804a0","name":"\t📨 Send Notification to Telegram","type":"n8n-nodes-base.telegram","disabled":true,"position":[2280,-140],"webhookId":"232a1035-6a46-4b14-831e-cf26be29ab54","parameters":{},"typeVersion":1.2},{"id":"06fcd4a1-fb87-4400-b3e8-da21b1335127","name":"\t🔎 Parse Blog Metadata Output","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[380,-160],"parameters":{},"typeVersion":1.2},{"id":"63ecdbeb-39b3-41a0-aca6-c99768baaea4","name":"\t🧠 Article Writer (LLaMA)","type":"@n8n/n8n-nodes-langchain.lmChatOpenRouter","position":[540,-160],"parameters":{},"typeVersion":1},{"id":"ef8c164e-dbf8-40c6-9e5c-c88a5676a971","name":"\t🧠 Article Writer (Gemini)","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","disabled":true,"position":[820,-160],"parameters":{},"typeVersion":1},{"id":"de1c62e6-19d1-4872-ad53-365d84c95fad","name":"\t🧠 Article Writer (GPT-4 mini)","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","disabled":true,"position":[680,-160],"parameters":{},"typeVersion":1.2},{"id":"f79163f3-c0df-488d-a62e-4f4db05edd00","name":"\t🔖 Metadata Generator (Nemotron)","type":"@n8n/n8n-nodes-langchain.lmChatOpenRouter","position":[220,-160],"parameters":{},"typeVersion":1},{"id":"60a575d3-5773-4e42-94a2-562cdbfaaa61","name":"\t⏱️ Auto Trigger (Every 3 Hours)","type":"n8n-nodes-base.scheduleTrigger","position":[0,-320],"parameters":{},"typeVersion":1.2},{"id":"6a47983d-d835-4d79-ba08-13cdb467899e","name":"⚙️ Setup Guide1","type":"n8n-nodes-base.stickyNote","position":[1040,-620],"parameters":{"content":""},"typeVersion":1},{"id":"4a695f06-6ef6-4dec-b0b6-a4c8ba7f736b","name":"⚙️ Setup Guide2","type":"n8n-nodes-base.stickyNote","position":[1600,-740],"parameters":{"content":""},"typeVersion":1},{"id":"2ec30db9-c6d4-4308-8a91-4b81b8e4968a","name":"⚙️ Setup Guide3","type":"n8n-nodes-base.stickyNote","position":[180,0],"parameters":{"content":""},"typeVersion":1},{"id":"e9d16a5b-c73a-4d06-a2f2-ec8b684ee0fb","name":"⚙️ Setup Guide4","type":"n8n-nodes-base.stickyNote","position":[1820,-120],"parameters":{"content":""},"typeVersion":1},{"id":"0c429f7e-94a3-4cf7-942b-0a3c22c5c902","name":"⚙️ Setup Guide5","type":"n8n-nodes-base.stickyNote","position":[1220,-120],"parameters":{"content":""},"typeVersion":1}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"e7477ab4-29a0-4a80-bb9b-eef7e9ad7939","connections":{"\t📎 Attach Image to Post":{"main":[[{"node":"\t📣 Send Notification to Discord","type":"main","index":0},{"node":"\t📨 Send Notification to Telegram","type":"main","index":0}]]},"\t📥 Fetch Generated Image":{"main":[[{"node":"\t📤 Upload Image to WordPress Media","type":"main","index":0}]]},"\t🔍 Set Yoast SEO Metadata":{"main":[[{"node":"\t🖼️ Generate Featured Image (Runware)","type":"main","index":0}]]},"\t🔖 Generate Blog Metadata":{"main":[[{"node":"\t✍️ Compose SEO Article Content","type":"main","index":0}]]},"\t🧠 Article Writer (LLaMA)":{"ai_languageModel":[[{"node":"\t✍️ Compose SEO Article Content","type":"ai_languageModel","index":0}]]},"\t🧠 Article Writer (Gemini)":{"ai_languageModel":[[]]},"\t🔎 Parse Blog Metadata Output":{"ai_outputParser":[[{"node":"\t🔖 Generate Blog Metadata","type":"ai_outputParser","index":0}]]},"\t📝 Create WordPress Draft Post":{"main":[[{"node":"\t🔍 Set Yoast SEO Metadata","type":"main","index":0}]]},"\t📣 Send Notification to Discord":{"main":[[]]},"\t✍️ Compose SEO Article Content":{"main":[[{"node":"\t📝 Create WordPress Draft Post","type":"main","index":0}]]},"\t📨 Send Notification to Telegram":{"main":[[]]},"\t🔖 Metadata Generator (Nemotron)":{"ai_languageModel":[[{"node":"\t🔖 Generate Blog Metadata","type":"ai_languageModel","index":0}]]},"\t⏱️ Auto Trigger (Every 3 Hours)":{"main":[[{"node":"\t🔖 Generate Blog Metadata","type":"main","index":0}]]},"\t📤 Upload Image to WordPress Media":{"main":[[{"node":"\t📎 Attach Image to Post","type":"main","index":0}]]},"\t🖼️ Generate Featured Image (Runware)":{"main":[[{"node":"\t📥 Fetch Generated Image","type":"main","index":0}]]}}}


name: AI-Powered RAG Document Processing & Chatbot with Google Drive, Supabase, OpenAI
author_name: Billy Christi
author_username: billy
categories: []
created_at: 2025-06-01T06:44:01.484Z
updated_at: 2025-06-01T06:44:01.484Z
url: https://n8n.io/workflows/4551
scraped_at: 2025-06-19 22:48:45
description:
  Who is this for?

  This workflow is perfect for:

  Businesses and teams who need an automated solution to organize, analyze, and retrieve insights from their internal documents.
  Researchers who want to quickly analyze and query large collections of research papers, reports, or datasets.
  Customer support teams looking to streamline access to product documentation and support resources.
  Legal and compliance professionals needing to reference and query legal documents with confidence.
  AI enthusiasts and developers wanting to implement Retrieval-Augmented Generation (RAG) systems without starting from scratch.

  What problem is this workflow solving?

  Manually organizing, processing, and searching through documents can be time-consuming, error-prone, and inefficient. This workflow solves that by:

  Automating document processing** from Google Drive, supporting multiple formats like PDFs, CSVs, and Google Docs.
  Extracting, chunking, and enhancing document text**, preserving context and improving AI comprehension.
  Storing vector embeddings** in a secure, scalable Supabase vector database, enabling semantic search and retrieval.
  Providing an interactive AI chat interface** that allows users to ask natural language questions and get precise, document-based answers.

  This means teams can quickly access relevant insights from their document repositories—boosting productivity and ensuring accurate information retrieval.

  Key Features

  🚀 End-to-End Document Processing: From Google Drive upload detection to vector embedding and storage.
  🔍 Semantic Search & Retrieval: Users can ask complex, natural-language questions and receive contextually relevant answers.
  🤖 AI-Powered Summaries & Metadata: Automatically generates document titles and summaries using Google Gemini AI.
  📝 Smart Chunking & Contextual Enhancement: Breaks documents into smart chunks with overlap, preserving context and table integrity.
  🔐 Secure & Scalable Vector Database: Stores and retrieves embeddings in a Supabase vector store for fast, reliable searches.
  💬 Conversational AI Interface: Uses OpenAI to power natural, accurate, and cost-effective AI chat interactions.

  How does this workflow work?

  Monitors Google Drive for new files
  Extracts text from PDFs and CSVs (or Google Docs auto-converted)
  Splits text into context-preserving chunks
  Enhances chunk quality and stores embeddings in Supabase
  Enables natural language search and AI-powered chat interactions with the stored documents

  Typical Use Cases

  📚 Corporate Knowledge Base
  🔬 Research Paper Analysis
  📞 Customer Support Document Query
  ⚖️ Legal Document Review and Analysis
  🔍 Internal Team Documentation Search

  Why You’ll Love It

  This workflow lets you build a scalable, searchable, and AI-powered document system—without needing to write complex code or manage multiple systems. With this, you can:

  Stay organized with automated document processing.
  Deliver faster, more accurate answers to user queries.
  Reduce manual work and improve productivity.
  Gain a competitive edge with cutting-edge AI search capabilities.

  Setup Requirements

  An n8n instance with Google Drive, Supabase, OpenAI, and Gemini credentials configured.
  Access to a Supabase vector store for storing document embeddings.
  Configurable chunk size, overlap, and processing limits (default: 1000 characters per chunk, 20 chunks max).

nodes_used:
  ["n8n-nodes-base.googleDrive","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.lmChatGoogleGemini"]

workflow_json:
  {"meta":{"instanceId":"d1786ab0d745a7498abf13a9c2cdabb1374c006e889b79eef64ce0386b8f8a41","templateCredsSetupCompleted":true},"nodes":[{"id":"f13af0a4-02e8-41b4-9ad8-55443604f031","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[540,-80],"parameters":{"options":{}},"typeVersion":3},{"id":"3a3a9bee-fd2c-48fb-a946-850bdd574b21","name":"Extract from PDF","type":"n8n-nodes-base.extractFromFile","position":[1720,-120],"parameters":{"options":{},"operation":"pdf"},"typeVersion":1},{"id":"42a44446-4cd9-4b8f-bcc8-dc912954e515","name":"Extract from CSV","type":"n8n-nodes-base.extractFromFile","position":[1720,80],"parameters":{"options":{}},"typeVersion":1},{"id":"2141dbdd-4fce-4306-a852-581b138864e4","name":"Default Data Loader","type":"@n8n/n8n-nodes-langchain.documentDefaultDataLoader","position":[3800,80],"parameters":{"options":{"metadata":{"metadataValues":[{"name":"file_id","value":"={{ $('Set File ID').first().json.file_id}}"},{"name":"title","value":"={{ $('Create Metadata Title & Description').item.json.output.title }}"},{"name":"description","value":"={{ $('Create Metadata Title & Description').item.json.output.description }}"}]}},"jsonData":"={{ $json.concatenated_text }}","jsonMode":"expressionData"},"typeVersion":1},{"id":"af8b85b1-1cfa-4b76-b94e-48213ae232d8","name":"Google Drive Trigger File Created","type":"n8n-nodes-base.googleDriveTrigger","position":[280,-80],"parameters":{"event":"fileCreated","options":{},"pollTimes":{"item":[{"mode":"everyMinute"}]},"triggerOn":"specificFolder","folderToWatch":{"__rl":true,"mode":"url","value":"https://drive.google.com/drive/u/0/folders/1B-Wl-ktVFbTmX685DB978jNvs9Ihnxiv"}},"credentials":{"googleDriveOAuth2Api":{"id":"SEUhrgz30NMJS3cH","name":"Google Drive account"}},"typeVersion":1},{"id":"97304af3-3a09-4724-8e87-7fff0ece6eca","name":"Character Text Splitter","type":"@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter","position":[3900,260],"parameters":{"separator":"###SPLIT###"},"typeVersion":1},{"id":"af31206c-94e6-48fe-895e-f8a000486457","name":"Set File ID","type":"n8n-nodes-base.set","position":[800,-60],"parameters":{"options":{},"assignments":{"assignments":[{"id":"0144a9a7-6e73-46c4-979f-838ad5c62b89","name":"file_id","type":"string","value":"={{ $json.id }}"}]}},"typeVersion":3.4},{"id":"580b1192-be67-46f1-aea4-ae1aaeab10ea","name":"Download FIle","type":"n8n-nodes-base.googleDrive","position":[1040,-60],"parameters":{"fileId":{"__rl":true,"mode":"id","value":"={{ $('Set File ID').item.json.file_id }}"},"options":{"googleFileConversion":{"conversion":{"docsToFormat":"application/pdf"}}},"operation":"download"},"credentials":{"googleDriveOAuth2Api":{"id":"SEUhrgz30NMJS3cH","name":"Google Drive account"}},"typeVersion":3},{"id":"af92c035-f1f0-47e4-b542-c13a7386892b","name":"Switch","type":"n8n-nodes-base.switch","position":[1320,-60],"parameters":{"rules":{"values":[{"outputKey":"application/pdf","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"e959d5a8-d311-4a29-b400-7c07468a72fe","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $binary.data.mimeType }}","rightValue":"application/pdf"}]},"renameOutput":true},{"outputKey":"text/csv","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"d5ae6f2d-e62d-4e08-aa06-629e6dfa7ee8","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $binary.data.mimeType }}","rightValue":"text/csv"}]},"renameOutput":true}]},"options":{}},"typeVersion":3.2},{"id":"1a2575ef-8792-4389-84ea-a016c5ba535e","name":"Structured Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[2540,160],"parameters":{"jsonSchemaExample":"{\n\t\"title\": \"Test Title (Replace it with real title\",\n    \"description\":\"Test Description (Replace it with real description)\"\n}"},"typeVersion":1.2},{"id":"0c8ba080-daab-493d-8c7d-4f1c7e9fb1e7","name":"Google Gemini Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[3320,40],"parameters":{"options":{},"modelName":"models/gemini-1.5-flash"},"credentials":{"googlePalmApi":{"id":"gdaO8lU3HwsldifM","name":"Google Gemini(PaLM) Api account"}},"typeVersion":1},{"id":"e12a0a90-a1d7-4de0-901a-58ce35b95675","name":"Process Context","type":"@n8n/n8n-nodes-langchain.chainLlm","position":[3160,-120],"parameters":{"text":"=<document> \n{{ $('Document Data').first().json.data }}\n</document> \n\nHere is the chunk we want to situate within the overall document:\n\n<chunk> \n{{ $json.chunk }}\n</chunk> \n\nPlease:\n- Provide a short and succinct **context** to situate this chunk within the document for improved search retrieval.\n- Return the **original chunk** exactly as provided unless a correction is necessary.\n- If the chunk contains an **incomplete number, percentage, or entity**, correct it using the full document.\n- If part of a **sentence is cut off**, reconstruct the missing words only if necessary for clarity.\n- If the chunk is part of a table, include the complete table entry to maintain data integrity\n- Do not add any additional explanations or formatting beyond the required output.\n\nFill in the following format:\n[succinct context] : [original chunk or corrected version if necessary]\n\nYour response should contain only the text that replaces these placeholders, without including the placeholder labels themselves.","promptType":"define"},"typeVersion":1.6},{"id":"d6f500ba-c0f3-4cc8-af60-e2c38307582c","name":"Document Data","type":"n8n-nodes-base.set","position":[1980,-120],"parameters":{"mode":"raw","options":{},"jsonOutput":"={\n  \"data\":  {{ JSON.stringify($json.text) }}\n} "},"typeVersion":3.4},{"id":"de223e76-1d95-41a9-b1ff-961d8b744044","name":"Split Out","type":"n8n-nodes-base.splitOut","position":[2780,-120],"parameters":{"options":{"destinationFieldName":"chunk"},"fieldToSplitOut":"chunks"},"typeVersion":1},{"id":"7d2eb334-a73c-4777-b4a9-757356201311","name":"Limit","type":"n8n-nodes-base.limit","position":[2960,-120],"parameters":{"maxItems":20},"typeVersion":1},{"id":"d8f88a96-bed6-461a-ae5f-6924c655ba84","name":"Summarize","type":"n8n-nodes-base.summarize","position":[3480,-120],"parameters":{"options":{},"fieldsToSummarize":{"values":[{"field":"text","separateBy":"other","aggregation":"concatenate","customSeparator":"###SPLIT###"}]}},"typeVersion":1.1},{"id":"820dda10-a369-4415-a739-16f197d0b1ad","name":"Embeddings OpenAI","type":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","position":[3680,80],"parameters":{"options":{}},"credentials":{"openAiApi":{"id":"MGwGMKEkdcjzlYCw","name":"OpenAi account"}},"typeVersion":1.2},{"id":"1a622d78-d5f1-498d-8882-1cbc9166e4b4","name":"Add Data to Supabase Vector Store","type":"@n8n/n8n-nodes-langchain.vectorStoreSupabase","position":[3680,-120],"parameters":{"mode":"insert","options":{},"tableName":{"__rl":true,"mode":"list","value":"documents","cachedResultName":"documents"}},"credentials":{"supabaseApi":{"id":"XijKo1j1EsG3XUhz","name":"Supabase account"}},"typeVersion":1.1},{"id":"51d8e196-8752-4fe7-a182-c4a00d3caefa","name":"Google Gemini Chat Model1","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[2340,180],"parameters":{"options":{},"modelName":"models/gemini-1.5-flash"},"credentials":{"googlePalmApi":{"id":"gdaO8lU3HwsldifM","name":"Google Gemini(PaLM) Api account"}},"typeVersion":1},{"id":"23b491e1-3732-46eb-a62b-c86b975df894","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[200,-260],"parameters":{"color":4,"width":1960,"height":560,"content":"## 📁 Data Processing from Google Drive\nAutomatically monitors your Google Drive folder and processes new files. When you upload a PDF, CSV, or Google Doc, this section downloads the file, extracts all the text content, and prepares it for AI analysis. Think of it as your automatic document reader that never sleeps."},"typeVersion":1},{"id":"5d95cc1c-5dec-4238-8ecc-d47d5c107e53","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[2220,-260],"parameters":{"color":4,"width":1940,"height":700,"content":"## 🧠 RAG Data Upload Pipeline\nTakes your extracted document text and makes it AI-ready. It creates smart summaries, breaks documents into digestible chunks, adds context to each piece, and stores everything in a searchable database. This is where your documents become \"AI-searchable\" knowledge that can answer questions."},"typeVersion":1},{"id":"d5ab29ee-d9a6-48c6-a2d5-20374cda6296","name":"Create Metadata Title & Description","type":"@n8n/n8n-nodes-langchain.chainLlm","position":[2280,-120],"parameters":{"text":"=Create metadata title and metadata description based on the document specified below (below ##Document). Metadata title and metadata description will be used to seperate data in vector DB that will be used for RAG.\n\n##Document\n{{ $('Document Data').item.json.data }}","promptType":"define","hasOutputParser":true},"typeVersion":1.6},{"id":"8eddba99-f77b-4b85-b2ef-0aa68762b851","name":"Split into chunks","type":"n8n-nodes-base.code","position":[2620,-120],"parameters":{"jsCode":"const chunkSize = 1000;\nconst chunkOverlap = 200;\n//const text = $node[\"ABC\"].json.data.replace(/\\n/, '');\nconst text = $items(\"Document Data\")[0].json.data.replace(/\\n/, '');\n\nconst chunks = [];\nlet remainingText = text;\n\nwhile (remainingText.length > 0) {\n    let splitPoint;\n\n    // Try splitting at paragraph level first\n    splitPoint = remainingText.lastIndexOf(\"\\n\\n\", chunkSize);\n    \n    // If no paragraph split, try splitting at sentence level\n    if (splitPoint === -1) {\n        splitPoint = remainingText.lastIndexOf(\". \", chunkSize);\n    }\n\n    // If no sentence split, try splitting at word level\n    if (splitPoint === -1) {\n        splitPoint = remainingText.lastIndexOf(\" \", chunkSize);\n    }\n\n    // If still no split point, force cut at chunkSize\n    if (splitPoint === -1 || splitPoint < chunkSize * 0.5) {  \n        splitPoint = chunkSize; // Hard split if no good split point\n    }\n\n    // Extract chunk and adjust remaining text with overlap\n    let chunk = remainingText.substring(0, splitPoint).trim();\n    chunks.push(chunk);\n\n    // Move the pointer forward while keeping the overlap\n    remainingText = remainingText.substring(Math.max(0, splitPoint - chunkOverlap)).trim();\n\n    // Break if remaining text is too small to form another chunk\n    if (remainingText.length < chunkSize * 0.2) {\n        chunks.push(remainingText);\n        break;\n    }\n}\n\nreturn { chunks };"},"typeVersion":2},{"id":"2cd80097-3f90-441a-b0ef-08b43c30981b","name":"OpenAI Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1900,-740],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4o-mini"},"options":{}},"credentials":{"openAiApi":{"id":"MGwGMKEkdcjzlYCw","name":"OpenAi account"}},"typeVersion":1.2},{"id":"03ae06b7-c804-4e35-bac5-17836123771a","name":"Supabase Vector Store","type":"@n8n/n8n-nodes-langchain.vectorStoreSupabase","position":[2200,-700],"parameters":{"mode":"retrieve-as-tool","topK":20,"options":{},"toolName":"documents","tableName":{"__rl":true,"mode":"list","value":"documents","cachedResultName":"documents"},"toolDescription":"Work with your data in Supabase Vector Store"},"credentials":{"supabaseApi":{"id":"XijKo1j1EsG3XUhz","name":"Supabase account"}},"typeVersion":1.1},{"id":"c22f1100-86b0-4d49-b0b5-baa3f997c0a0","name":"AI Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1940,-960],"parameters":{"text":"=User Input:\n{{ $json.chatInput }}","options":{"systemMessage":"=You're an internal company knowledge assistants. Your job is to answer questions using the files in the Vector Database. Here's how to do it:\n\nCheck Vector Database First\n- Search for similar test chunks using RAG.\n- If you find matches, use them to answer the question. \n- If you find relevant matches and need additional context to support the answer, prioritize retrieving it from documents that share the same metadata \"file_id\" & \"title\" before exploring other sources.\"\n\nNo Answer Found?\n- Clearly say: \"I couldn't find this in the databases\"\n- Never guess or invent answers.\n\nExample Response:\n\"Netflix grew revenue in Streaming services by 20% in 2024.\""},"promptType":"define"},"typeVersion":1.8},{"id":"8ff3b246-2078-4c69-934a-fde989c5dbda","name":"Embeddings OpenAI1","type":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","position":[2280,-520],"parameters":{"options":{}},"credentials":{"openAiApi":{"id":"MGwGMKEkdcjzlYCw","name":"OpenAi account"}},"typeVersion":1.2},{"id":"4fc4edb9-b5a1-4d4b-b571-cf665cf4eae1","name":"When chat message received","type":"@n8n/n8n-nodes-langchain.chatTrigger","position":[1700,-960],"webhookId":"2d4c41cb-c8b7-49c7-a8eb-ebd3dd9ff46d","parameters":{"options":{}},"typeVersion":1.1},{"id":"3fc29837-d177-4af0-a842-57705ef8b97d","name":"Simple Memory","type":"@n8n/n8n-nodes-langchain.memoryBufferWindow","position":[2060,-700],"parameters":{"contextWindowLength":10},"typeVersion":1.3},{"id":"27ca3852-baac-41fa-a8bc-620dd36fac2d","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[1520,-1080],"parameters":{"color":4,"width":1180,"height":760,"content":"## AI Chat Agent - Chat with your documents stored in Supabase Vector Store\nour personal AI assistant that can answer questions about all your uploaded documents. Ask anything in plain English - it searches through your document database, finds relevant information, and gives you accurate answers with source references. It remembers your conversation and never makes up information."},"typeVersion":1},{"id":"ee2b6e9d-a49b-435e-bc38-7d3a4e989ca5","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[340,-1080],"parameters":{"color":5,"width":460,"height":320,"content":"## 📄 AI-Powered RAG Document Processing & Chatbot with Google Drive, Supabase, OpenAI\n\n**What This Workflow Does:**\n- Watches a Google Drive folder for new documents\n- Extracts text from PDF/CSV files\n- Enhances the text using AI (Google Gemini)\n- Chunks and embeds the text using OpenAI\n- Stores vector data in Supabase for semantic search\n- Enables users to chat with documents using OpenAI"},"typeVersion":1},{"id":"f533c790-36d0-4f7e-a004-1ab64fdbd046","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[-480,-260],"parameters":{"color":5,"width":660,"height":1500,"content":"## 📋 Data Processing & RAG Workflow\n\n### 📁 Step 1: Google Drive Trigger  \nWatches a specific Google Drive folder for new file uploads. Triggers every minute.\n\n### 🔁 Step 2: Loop Over Uploaded Files  \nEnsures each uploaded file is processed one-by-one to avoid bulk processing issues.\n\n### 🆔 Step 3: Set File ID  \nExtracts and stores the Google Drive file ID for reference in later steps.\n\n### 📥 Step 4: Download File  \nDownloads the file (PDF, CSV, or Google Docs). Google Docs are auto-converted to PDF.\n\n### 🧭 Step 5: File Type Switch  \nRoutes file based on type:\n- PDF → Go to PDF Text Extractor\n- CSV → Go to CSV Extractor\n\n### 📄 Step 6A: Extract Text from PDF  \nExtracts raw text content from the PDF file.\n\n### 📊 Step 6B: Extract Text from CSV  \nExtracts and formats CSV data into a readable string.\n\n### 📦 Step 7: Format Document Data  \nWraps extracted text into JSON: `{\"data\": \"text content\"}`.\n\n### 🧠 Step 8: Generate Metadata (Gemini)  \nUses Gemini AI to create a document title and description.\n\n### ✂️ Step 9: Split into Chunks  \nSplits the document text into 1000-character chunks with 200-character overlap, intelligently at paragraph/sentence/word level.\n\n### 🔄 Step 10: Split Out Chunks  \nConverts array of chunks into individual workflow items.\n\n### 🚫 Step 11: Limit to 20 Chunks  \nLimits processing to first 20 chunks to control API and processing load.\n\n### 🧠 Step 12: Enhance Chunk Context (Gemini)  \nEach chunk is enhanced for better clarity, continuity, and context using Gemini.\n\n### 🧩 Step 13: Summarize  \nCombines enhanced chunks using `###SPLIT###` separator for further processing.\n\n### 🧷 Step 14: Re-Split Enhanced Chunks  \nSplits combined text back into chunks using `###SPLIT###` separator.\n\n### 🧬 Step 15: Generate Embeddings (OpenAI)  \nConverts text chunks into vector embeddings for semantic search.\n\n### 🗂️ Step 16: Add Metadata  \nEach chunk is wrapped with metadata (file ID, title, description) for vector DB.\n\n### 🧠 Step 17: Store in Supabase Vector DB  \nStores embeddings in Supabase vector store for later semantic retrieval.\n\n"},"typeVersion":1},{"id":"2090caca-8fff-461b-a9b5-5460b8978c3c","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[1520,-1640],"parameters":{"color":5,"width":1160,"height":520,"content":"\n## SETUP REQUIRED  \n**Author:** [Billy Christi](https://n8n.io/creators/billy/)\n\n---\n\n### 📚 Database: Supabase Table `documents`\n\nTo manage and store embeddings and metadata, we use a Supabase table with the following schema:\n\n```sql\nCREATE TABLE public.documents (\n  id bigserial PRIMARY KEY,         -- Unique identifier\n  content text,                     -- Textual content of the document\n  metadata jsonb,                   -- Additional metadata (e.g., title, source)\n  embedding vector                  -- Vector embeddings (for similarity search, etc.)\n);\n````\n### 🔐 Required Credentials & Keys\n✅ **Google Drive Credential** \n✅ **Supabase API Key & Project URL** \n✅ **OpenAI API Key**\n✅ **Google Gemini API Key**\n\n\n"},"typeVersion":1},{"id":"989d4cef-fae3-4163-a51e-58cf9aafac61","name":"Sticky Note9","type":"n8n-nodes-base.stickyNote","position":[820,-1080],"parameters":{"color":5,"width":660,"height":760,"content":"\n## 🤖 CHAT INTERFACE WORKFLOW\n\n### 💬 Step 1: Chat Trigger  \nListens for user chat input (e.g., question about a document).\n\n### 🧠 Step 2: Simple Memory  \nStores last 10 messages to maintain conversation context.\n\n### 🔍 Step 3: Vector Search (Supabase)  \nSearches Supabase vector DB for relevant chunks related to the user's question.\n\n### 🧬 Step 4: Convert Question to Embedding  \nUses OpenAI to embed the question text for similarity search.\n\n### 🗨️ Step 5: Generate Response (OpenAI GPT-4o-mini)  \nUses context + question to generate a natural language answer.\n\n### 🧠 Step 6: AI Agent  \nFinal agent logic:\n- Searches vector DB first\n- Answers based on found chunks\n- Attributes response to correct document\n- Admits if answer not found (no hallucination)"},"typeVersion":1},{"id":"8d2661d4-3bdc-456e-bba0-766d89ab3ece","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[2860,20],"parameters":{"color":5,"width":340,"height":300,"content":"📌 **Understanding the Limit Node**\nThe **Limit Node** restricts the number of records or items processed in your workflow. This is especially useful for:\n✅ **Testing** your setup with a smaller dataset\n✅ **Controlling resource usage** during processing\n\n💡 **You can**:\n* **Adjust the limit value** to suit your workflow's needs\n* **Remove the Limit Node** altogether to process all available data"},"typeVersion":1}],"pinData":{},"connections":{"Limit":{"main":[[{"node":"Process Context","type":"main","index":0}]]},"Switch":{"main":[[{"node":"Extract from PDF","type":"main","index":0}],[{"node":"Extract from CSV","type":"main","index":0}]]},"AI Agent":{"main":[[]]},"Split Out":{"main":[[{"node":"Limit","type":"main","index":0}]]},"Summarize":{"main":[[{"node":"Add Data to Supabase Vector Store","type":"main","index":0}]]},"Set File ID":{"main":[[{"node":"Download FIle","type":"main","index":0}]]},"Document Data":{"main":[[{"node":"Create Metadata Title & Description","type":"main","index":0}]]},"Download FIle":{"main":[[{"node":"Switch","type":"main","index":0}]]},"Simple Memory":{"ai_memory":[[{"node":"AI Agent","type":"ai_memory","index":0}]]},"Loop Over Items":{"main":[[],[{"node":"Set File ID","type":"main","index":0}]]},"Process Context":{"main":[[{"node":"Summarize","type":"main","index":0}]]},"Extract from CSV":{"main":[[{"node":"Document Data","type":"main","index":0}]]},"Extract from PDF":{"main":[[{"node":"Document Data","type":"main","index":0}]]},"Embeddings OpenAI":{"ai_embedding":[[{"node":"Add Data to Supabase Vector Store","type":"ai_embedding","index":0}]]},"OpenAI Chat Model":{"ai_languageModel":[[{"node":"AI Agent","type":"ai_languageModel","index":0}]]},"Split into chunks":{"main":[[{"node":"Split Out","type":"main","index":0}]]},"Embeddings OpenAI1":{"ai_embedding":[[{"node":"Supabase Vector Store","type":"ai_embedding","index":0}]]},"Default Data Loader":{"ai_document":[[{"node":"Add Data to Supabase Vector Store","type":"ai_document","index":0}]]},"Supabase Vector Store":{"ai_tool":[[{"node":"AI Agent","type":"ai_tool","index":0}]]},"Character Text Splitter":{"ai_textSplitter":[[{"node":"Default Data Loader","type":"ai_textSplitter","index":0}]]},"Google Gemini Chat Model":{"ai_languageModel":[[{"node":"Process Context","type":"ai_languageModel","index":0}]]},"Structured Output Parser":{"ai_outputParser":[[{"node":"Create Metadata Title & Description","type":"ai_outputParser","index":0}]]},"Google Gemini Chat Model1":{"ai_languageModel":[[{"node":"Create Metadata Title & Description","type":"ai_languageModel","index":0}]]},"When chat message received":{"main":[[{"node":"AI Agent","type":"main","index":0}]]},"Google Drive Trigger File Created":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Create Metadata Title & Description":{"main":[[{"node":"Split into chunks","type":"main","index":0}]]}}}


name: Index Documents from Google Drive to Pinecone with OpenAI Embeddings for RAG
author_name: Automate With Marc
author_username: marconi
categories: []
created_at: 2025-06-01T07:53:00.731Z
updated_at: 2025-06-01T07:53:00.731Z
url: https://n8n.io/workflows/4552
scraped_at: 2025-06-19 22:49:09
description:
  🧠 Google Drive Upload Trigger → Pinecone Vector Upsert for Document Indexing
  Category: AI & LLM / Document Indexing
  Level: Intermediate
  Tags: Google Drive, Pinecone, OpenAI, Embeddings, Vector Store, LangChain, RAG

  📄 What This Workflow Does
  This workflow watches a specific Google Drive folder and automatically uploads any newly added document to a Pinecone vector database — complete with OpenAI-generated embeddings.

  Perfect for setting up retrieval-augmented generation (RAG) pipelines, semantic search, or document Q&A systems. Once configured, your knowledge base stays up-to-date with zero manual effort.

  Watch Full Step By Stey Tutorial Video Here:
  https://www.youtube.com/@Automatewithmarc

  🔧 How It Works
  📁 Google Drive Trigger
  Watches a specific folder and triggers when new documents are uploaded.

  🔍 Google Drive File Search & Download
  Finds and fetches all files in the folder.

  🔄 Loop Over Each File
  Handles batch processing for multiple files.

  📃 Document Loader
  Parses each file as binary and applies custom metadata like document type.

  ✂️ Text Splitter
  Breaks content into manageable chunks for embedding (e.g., 600 characters, 60 overlap).

  🧠 OpenAI Embeddings
  Generates vector embeddings using OpenAI.

  📦 Pinecone Vector Store
  Inserts/upserts documents into a specific Pinecone namespace for search-ready indexing.

  🧠 Why This is Useful
  This is a production-grade setup for:

  Building vector search tools over internal docs

  Feeding up-to-date data into RAG agents or chatbots

  Auto-tagging and chunking files for scalable AI workflows

  Whether you’re indexing course outlines, SOPs, or technical docs — this automation keeps your vector store fresh and organized.

  🪜 Setup Instructions
  Connect your Google Drive, OpenAI, and Pinecone accounts.

  Specify the Google Drive folder to monitor.

  Customize metadata, chunk size, or vector namespace as needed.

  Activate the workflow and drop a file into the folder — magic happens behind the scenes.

  📌 Notes
  Works best with PDFs or text-based documents.

  You can swap out OpenAI with other embedding models if needed.

  Consider adding notifications or logging (e.g., via Slack or email) for better observability.

nodes_used:
  ["n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.vectorStorePinecone","@n8n/n8n-nodes-langchain.documentDefaultDataLoader"]

workflow_json:
  {"id":"OceYxCmiuf5W2X4y","meta":{"instanceId":"REDACTED_ID","templateCredsSetupCompleted":true},"name":"Bundle RAG Upload","tags":[],"nodes":[{"id":"REDACTED_ID","name":"Google Drive","type":"n8n-nodes-base.googleDrive","position":[180,0],"parameters":{"filter":{"folderId":{"__rl":true,"mode":"list","value":"REDACTED_ID","cachedResultUrl":"REDACTED_URL","cachedResultName":"Course Module Outline Folder for n8n"}},"options":{},"resource":"fileFolder","returnAll":true},"typeVersion":3},{"id":"REDACTED_ID","name":"Get Docs","type":"n8n-nodes-base.googleDrive","position":[440,0],"parameters":{"fileId":{"__rl":true,"mode":"id","value":"={{ $json.id }}"},"options":{},"operation":"download"},"typeVersion":3},{"id":"REDACTED_ID","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[660,0],"parameters":{"options":{}},"typeVersion":3},{"id":"REDACTED_ID","name":"Pinecone Vector Store","type":"@n8n/n8n-nodes-langchain.vectorStorePinecone","position":[900,20],"parameters":{"mode":"insert","options":{"pineconeNamespace":"Course Outlines"},"pineconeIndex":{"__rl":true,"mode":"list","value":"REDACTED_ID","cachedResultName":"REDACTED_ID"}},"typeVersion":1},{"id":"REDACTED_ID","name":"Embeddings OpenAI","type":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","position":[920,160],"parameters":{"options":{}},"typeVersion":1.2},{"id":"REDACTED_ID","name":"Default Data Loader","type":"@n8n/n8n-nodes-langchain.documentDefaultDataLoader","position":[1060,240],"parameters":{"options":{"metadata":{"metadataValues":[{"name":"Type","value":"Course Module Names"}]}},"dataType":"binary"},"typeVersion":1},{"id":"REDACTED_ID","name":"Recursive Character Text Splitter","type":"@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","position":[1140,380],"parameters":{"options":{},"chunkSize":600,"chunkOverlap":60},"typeVersion":1},{"id":"REDACTED_ID","name":"Google Drive Trigger","type":"n8n-nodes-base.googleDriveTrigger","position":[-60,0],"parameters":{"event":"fileCreated","options":{},"pollTimes":{"item":[{"mode":"everyMinute"}]},"triggerOn":"specificFolder","folderToWatch":{"__rl":true,"mode":"list","value":"REDACTED_ID","cachedResultUrl":"REDACTED_URL","cachedResultName":"Course Module Outline Folder for n8n"}},"typeVersion":1},{"id":"REDACTED_ID","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-140,-120],"parameters":{"color":4,"width":260,"height":400,"content":"Google Folder Upload Trigger"},"typeVersion":1},{"id":"REDACTED_ID","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[140,-120],"parameters":{"color":6,"width":220,"height":400,"content":"Google Search File from Folder"},"typeVersion":1},{"id":"REDACTED_ID","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[380,-120],"parameters":{"color":2,"width":220,"height":400,"content":"Get File"},"typeVersion":1},{"id":"REDACTED_ID","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[860,-120],"parameters":{"color":3,"width":500,"height":680,"content":"Upload to Pinecone Vector"},"typeVersion":1},{"id":"REDACTED_ID","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[620,-120],"parameters":{"color":7,"width":220,"height":400,"content":"Loop for multiple files"},"typeVersion":1},{"id":"REDACTED_ID","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[-740,-120],"parameters":{"color":3,"width":580,"height":1300,"content":"REDACTED_URL"},"typeVersion":1}],"active":false,"pinData":{"Default Data Loader":[{"json":{"isArtificialRecoveredEventItem":true}}],"Recursive Character Text Splitter":[{"json":{"isArtificialRecoveredEventItem":true}}]},"settings":{"executionOrder":"v1"},"versionId":"REDACTED_ID","connections":{"Get Docs":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Google Drive":{"main":[[{"node":"Get Docs","type":"main","index":0}]]},"Loop Over Items":{"main":[[],[{"node":"Pinecone Vector Store","type":"main","index":0}]]},"Embeddings OpenAI":{"ai_embedding":[[{"node":"Pinecone Vector Store","type":"ai_embedding","index":0}]]},"Default Data Loader":{"ai_document":[[{"node":"Pinecone Vector Store","type":"ai_document","index":0}]]},"Google Drive Trigger":{"main":[[{"node":"Google Drive","type":"main","index":0}]]},"Pinecone Vector Store":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Recursive Character Text Splitter":{"ai_textSplitter":[[{"node":"Default Data Loader","type":"ai_textSplitter","index":0}]]}}}


name: Generate Guerrilla Marketing Campaign Plans with AI Swarm Intelligence
author_name: Sina
author_username: sina2266
categories: []
created_at: 2025-06-01T11:31:39.415Z
updated_at: 2025-06-01T11:31:39.415Z
url: https://n8n.io/workflows/4553
scraped_at: 2025-06-19 22:49:11
description:
  🧠 Who is this for?
  Startup founders designing creative growth strategies  
  Marketing teams seeking low-cost, high-impact campaigns  
  Consultants and agencies needing fast guerrilla plans  
  Creators exploring AI-powered content and campaigns  

  ❓ What problem does this workflow solve?
  Building a full guerrilla marketing strategy usually takes hours of brainstorming, validation, and formatting. This template does all of that in minutes using a swarm of AI agents, from idea generation to KPIs, and even kills bad ideas before you waste time on them.

  ⚙️ What this workflow does
  Starts with a chat input where you describe your business or idea  
  A “Swarm Intelligence” loop:  
    One AI agent generates guerrilla ideas  
    Another agent critically validates the idea and gives honest feedback  
    If the idea is weak, it asks for a new one  
  If accepted, the swarm continues with 16 AI specialists generating:  
    🎯 Objectives  
    🧍‍♂️ Personas  
    🎤 Messaging  
    🧨 Tactics  
    📢 Channels  
    🧮 Budget  
    📊 KPIs  
    📋 Risk plan and more  
  Merges all chapters into a final Markdown file  
  Lets you download the campaign in seconds  

  🛠️ Setup
  Import the workflow to your n8n instance  
  (Optional) Configure your LLM (OpenAI or Ollama) in the “OpenAI Chat Model” node   
  Type your business idea (e.g., “Luxury dog collar brand for Instagram dads”)  
  Wait for flow completion
  Download the final marketing plan file  

  🤖 LLM Flexibility (Choose Your Model)
  Supports any LLM via LangChain:  
    Ollama (LLaMA 3.1, Mistral, DeepSeek)  
    OpenAI (GPT-4, GPT-3.5)  
  To switch models, just replace the “Language Model” node, no other logic needs updating  



  📌 Notes
  Output is professional and ready-to-pitch  
  Built-in pessimistic validator filters out bad ideas before wasting time  

  📩 Need help?
  Email: sinamirshafiee@gmail.com  
  Happy to support setup or customization!

nodes_used:
  ["n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.informationExtractor"]

workflow_json:
  {"id":"w78LbTzNOGbofCGA","meta":{"instanceId":"7dad74485e3e05b018ebcb1de30d0069d50b5085ff62446e7e84ef96b35d0508","templateCredsSetupCompleted":true},"name":"Guerrilla Marketing Campaign Plan Generator (using Swarm Intelligence)","tags":[],"nodes":[{"id":"f4c7bc5e-9584-4d75-924d-cfccd70f1551","name":"When chat message received","type":"@n8n/n8n-nodes-langchain.chatTrigger","position":[-5800,2040],"webhookId":"65b565d7-5beb-4818-b920-1ad9e9308695","parameters":{"options":{}},"typeVersion":1.1},{"id":"cb7217af-5f82-4ade-a1ac-89d02ab4e12d","name":"Introduction Writer","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,220],"parameters":{"text":"=Here is the project description: \n{{ $json.output }}","options":{"systemMessage":"You are an elite marketing strategist with decades of global experience. Your task is to create the \"Introduction\" section of a guerrilla marketing campaign master document.\n\nInstructions:\n- Explain the purpose of having a detailed plan in guerrilla marketing.\n- Highlight the strategic importance of creativity, precision, and adaptability.\n- Set an inspiring, motivational, and professional tone.\n- Your writing must reflect deep expertise, as if coaching a world-class marketing team.\n- Analyze the emotional and practical importance of structured preparation.\n\nBe sure to:\n- Research the core reasons why guerrilla marketing needs planning.\n- Think about successful examples globally and summarize underlying principles.\n- Avoid generic advice; write sharp, specific, and high-level insight.\n- Maintain logical structure without deviation.\n\nFormat:\n- Output must be clear and simple paragraphs.\n\n- Only output the main paragraph ready for direct copy-paste.\n- If specific information is not available, leave blank without guessing.\n\n\nthe output should only contain the result, not any pre or post result note"},"promptType":"define"},"typeVersion":1.8},{"id":"73a42030-3fa6-47ce-b8c1-cb471d45e9c4","name":"Campaign Definition Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,480],"parameters":{"text":"=You are a creative campaign architect with vast global experience. Your task is to create the \"Campaign Definition\" section for a guerrilla marketing strategy.\n\nInstructions:\n- Define the name of the campaign clearly and creatively.\n- Write a precise mission statement (maximum 2 lines).\n- Describe the core problem or opportunity the campaign addresses.\n- Ensure the tone is innovative yet clear.\n\nYou must:\n- Analyze the target market briefly before writing.\n- Ensure that the name and mission resonate with guerrilla marketing spirit.\n- Validate that the problem statement is realistic and solvable.\n- Stay tightly focused on practicality and creativity.\n\nFormat:\n- Output must be clear and simple paragraphs.\n- Only the paragraph content.\n- Leave blank any section that cannot be precisely completed based on available data.\n\nHere is the project description: \n{{ $json.output }}","options":{},"promptType":"define"},"typeVersion":1.8},{"id":"986dd87c-8c95-40e7-a95b-c3804900164b","name":"Campaign Objectives Specialist","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,740],"parameters":{"text":"=You are a goal-setting expert and strategic planner. Your task is to create the \"Campaign Objectives\" section for a guerrilla marketing strategy.\n\nInstructions:\n- Define 2-3 short-term objectives that are measurable and concrete.\n- Define 2-3 long-term strategic objectives aligned with brand growth.\n- Ensure that objectives are written following the SMART criteria.\n- Focus on achievable, logical, and highly strategic goals.\n\nYou must:\n- Carefully assess the project description.\n- Ensure the objectives can realistically be measured and achieved.\n- Avoid vague language or generic goal setting.\n- Maintain a strategic yet inspiring tone.\n\nFormat:\n- Output must be clear and simple paragraphs.\n- Leave blank sections where information is insufficient without guessing.\n\nthe output should only contain the result, not any pre or post result note\n\nHere is the project description: \n{{ $json.output }}","options":{},"promptType":"define"},"typeVersion":1.8},{"id":"da84d2d6-48d5-4dd3-ab09-b335ee026773","name":"Current Situation Analyst","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,1000],"parameters":{"text":"=You are an advanced market and competition analyst. Your task is to build the \"Current Situation Analysis\" section.\n\nInstructions:\n- Perform a SWOT analysis (Strengths, Weaknesses, Opportunities, Threats).\n- Summarize the current competitor landscape (main competitors, market dynamics).\n- Identify key consumer trends relevant to the campaign.\n\nYou must:\n- Research thoroughly based on the project context.\n- Cross-reference assumptions to ensure practical validity.\n- Critically assess possible gaps or challenges.\n- Maintain a strategic, executive-level analytical tone.\n\nFormat:\n- Output must be clear and simple paragraphs.\n- If data is missing, leave blank without fabricating information.\n\nthe output should only contain the result, not any pre or post result note\n\nHere is the project description: \n{{ $json.output }}","options":{},"promptType":"define"},"typeVersion":1.8},{"id":"5233dc8b-7910-4418-98c5-0d66652b63fe","name":"Target Persona Researcher","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,1260],"parameters":{"text":"=Here is the project description: \n{{ $json.output }}","options":{"systemMessage":"You are a deep customer insight researcher with specialization in behavioral psychology. Your task is to create the \"Target Audience Persona\" section create 5 different persona with detailed info as described below,and name them depend on the persona to a famous character (celebrity, movie, game, someone who has been famous) that has those persona (or similar).\n\nInstructions:\n- Describe the demographic profile: age, gender, occupation, income level.\n- Describe the psychographic profile: values, motivations, fears, lifestyles.\n- Explain expected buying behaviors and key emotional triggers.\n\nYou must:\n- Research potential customer segments carefully.\n- Prioritize accuracy, depth, and practical segmentation.\n- Validate assumptions against realistic market behaviors.\n- Ensure persona matches guerrilla marketing style (open to surprise, risk-takers, trend adopters).\n\nFormat:\n- Output must be clear and simple paragraphs.\n- If some details cannot be inferred reasonably, leave blank.\n\nthe output should only contain the result, not any pre or post result note\n"},"promptType":"define"},"typeVersion":1.8},{"id":"13b9e9a5-4691-4e05-b422-2e6a04795a16","name":"Key Messaging Specialist","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,1520],"parameters":{"text":"=You are a brand messaging expert specializing in guerrilla marketing campaigns. Your task is to create the \"Key Messaging\" section.\n\nInstructions:\n- Define the primary message the campaign must deliver.\n- Write a memorable slogan or core phrase.\n- Define the tone of voice (e.g., bold, rebellious, humorous).\n- Ensure the message is aligned with the emotions of the target audience.\n\nYou must:\n- Research psychological triggers related to guerrilla marketing success.\n- Focus on clear, emotional, and provocative messaging.\n- Validate that the messaging style fits guerrilla marketing culture (unexpected, unforgettable, shareable).\n\nFormat:\n- Output must be clear and simple paragraphs.\n- Leave blank if information cannot be completed without strong basis.\n\nthe output should only contain the result, not any pre or post result note\n\nHere is the project description: \n{{ $json.output }}","options":{},"promptType":"define"},"typeVersion":1.8},{"id":"d8ec0c1e-ffaa-4c92-8f1d-4c2a1641844d","name":"Main Strategy Architect","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,1780],"parameters":{"text":"=You are a chief strategy architect for disruptive marketing campaigns. Your task is to write the \"Main Marketing Strategy\" section.\n\nInstructions:\n- Define the strategic direction (penetration, emotional stimulation, interaction-driven).\n- Outline how to leverage guerrilla tactics for maximum impact.\n- Ensure the plan is realistic, creative, and shock-driven.\n\nYou must:\n- Analyze competitive patterns.\n- Validate the feasibility of tactics.\n- Emphasize high surprise factor, emotional involvement, and viral potential.\n- Ensure strategy feels bold but executable.\n\nFormat:\n- Output must be clear and simple paragraphs.\n- Leave blank parts if strong information is missing.\n\nthe output should only contain the result, not any pre or post result note\n\nHere is the project description: \n{{ $json.output }}","options":{},"promptType":"define"},"typeVersion":1.8},{"id":"f12c7d75-238f-4b15-b517-57de140c5aef","name":"guerrilla Tactics Designer","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,2040],"parameters":{"text":"=You are a guerrilla marketing tactics designer with expertise in low-cost, high-impact strategies. Your task is to develop the \"guerrilla Marketing Tactics\" section.\n\nInstructions:\n- Propose specific unconventional tactics: street marketing, ambient marketing, flash mobs, PR stunts.\n- Each tactic must be realistic, cost-effective, and viral-friendly.\n- Prioritize tactics that maximize shock, surprise, and memorability.\n\nYou must:\n- Evaluate feasibility and ease of execution.\n- Ensure tactics have natural potential for virality.\n- Only propose ideas that could realistically be implemented with limited budget.\n- Maintain creativity at the highest level.\n\nFormat:\n- Output must be paragraphs.\n- Leave blank if insufficient information.\n\nthe output should only contain the result, not any pre or post result note\n\nHere is the project description: \n{{ $json.output }}","options":{},"promptType":"define"},"typeVersion":1.8},{"id":"6b6c1448-fe5f-4f92-a702-54a1cb80ac94","name":"Channel Strategy Expert","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,2300],"parameters":{"text":"=You are a distribution and media strategist. Your task is to complete the \"Channels & Distribution\" section.\n\nInstructions:\n- Identify the best channels for campaign exposure (social media, public places, PR, collaborations).\n- Explain briefly how each channel would maximize visibility.\n- Ensure chosen channels fit guerrilla marketing principles: unexpectedness, low cost, mass attention.\n\nYou must:\n- Research effectiveness of each potential channel for guerrilla marketing.\n- Validate reach potential against campaign goals.\n- Focus on creativity and strategic leverage.\n\nFormat:\n- Output must be clean paragraphs.\n- If necessary information is missing, leave the area blank.\n\nthe output should only contain the result, not any pre or post result note\n\nHere is the project description: \n{{ $json.output }}","options":{},"promptType":"define"},"typeVersion":1.8},{"id":"d26d1002-65e9-4c28-acfe-1753f9c5c112","name":"Execution Planner","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,2560],"parameters":{"text":"=You are an operational execution master. Your task is to complete the \"Execution Plan\" section.\n\nInstructions:\n- Define clear phases of the campaign.\n- Specify timelines, responsibilities, and resources needed.\n- Ensure the plan is step-by-step and execution-ready.\n- Plan should reflect maximum agility and quick reaction options.\n\nYou must:\n- Validate feasibility at each step.\n- Ensure no unnecessary dependency between steps.\n- Maintain practical, fast-paced planning style suited for guerrilla marketing.\n\nFormat:\n- Output must be clean paragraphs.\n- If strong data missing, leave blank without assuming.\n\nthe output should only contain the result, not any pre or post result note\n\nHere is the project description: \n{{ $json.output }}","options":{},"promptType":"define"},"typeVersion":1.8},{"id":"1fc40cd2-5dbc-4689-b40f-bef05f821546","name":"Budget Planning Specialist","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,2820],"parameters":{"text":"=You are a financial strategist for guerrilla marketing campaigns. Your task is to create the \"Budget Planning\" section.\n\nInstructions:\n- Estimate the necessary costs for all campaign activities.\n- Prioritize low-cost, high-impact solutions.\n- Identify critical areas where budget must be allocated (content creation, materials, permits, logistics).\n- Recommend contingency reserve for unexpected expenses.\n\nYou must:\n- Research reasonable cost ranges for guerrilla tactics.\n- Ensure all planned costs are realistic and aligned with project scale.\n- Avoid overestimations or underestimations.\n- Focus on maximum ROI (Return on Investment).\n\nFormat:\n- Output must be clean paragraphs.\n- If strong data missing, leave blank without assuming.\n\nthe output should only contain the result, not any pre or post result note\n\nHere is the project description: \n{{ $json.output }}","options":{},"promptType":"define"},"typeVersion":1.8},{"id":"8cc0f4c9-ac63-4d7e-9484-fae55587b490","name":"Monitoring and KPIs Expert","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,3080],"parameters":{"text":"=You are a performance measurement expert. Your task is to complete the \"Monitoring & KPIs\" section.\n\nInstructions:\n- Define clear KPIs (Key Performance Indicators) for campaign success.\n- Focus on awareness, engagement, and conversion metrics.\n- Suggest tools and methods for measuring campaign performance.\n\nYou must:\n- Research standard practices for guerrilla campaign measurement.\n- Validate that KPIs are realistic, meaningful, and measurable.\n- Avoid vague KPIs or overcomplicated metrics.\n\nFormat:\n- Output must be clean paragraphs.\n- If strong data missing, leave blank without assuming.\n\nthe output should only contain the result, not any pre or post result note\n\nHere is the project description: \n{{ $json.output }}","options":{},"promptType":"define"},"typeVersion":1.8},{"id":"31912a29-a8c2-4616-9bd6-d0865963d3ca","name":"Risk Management Expert","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,3340],"parameters":{"text":"=You are a risk strategist specialized in marketing campaigns. Your task is to complete the \"Risk Management\" section.\n\nInstructions:\n- Identify key risks: legal, operational, branding.\n- Propose realistic mitigation strategies for each risk.\n- Focus on minimizing negative public impact and legal exposure.\n\nYou must:\n- Analyze real-world case studies of guerrilla marketing risks.\n- Validate the practicality of suggested risk mitigation strategies.\n- Ensure risk management approaches are lightweight but effective.\n\nFormat:\n- Output must be clean paragraphs.\n- If strong data missing, leave blank without assuming.\n\nthe output should only contain the result, not any pre or post result note\n\nHere is the project description: \n{{ $json.output }}","options":{},"promptType":"define"},"typeVersion":1.8},{"id":"c0f84840-e25a-4b4c-a14a-c3a3c14b4141","name":"Do's and Don'ts Advisor","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,3600],"parameters":{"text":"=You are an advisor in guerrilla marketing best practices. Your task is to complete the \"Do’s and Don’ts\" section.\n\nInstructions:\n- Highlight critical actions that must be done to ensure campaign success.\n- Highlight critical actions that must be avoided to prevent failure.\n- Emphasize creativity, legality, and ethical practices.\n\nYou must:\n- Base advice on real-world guerrilla marketing successes and failures.\n- Ensure points are practical, sharp, and directly actionable.\n- Focus on lessons specifically tied to nontraditional, shock-driven marketing.\n\nFormat:\n- Output must be clean paragraphs and bullet points.\n- If strong data missing, leave blank without assuming.\n\nthe output should only contain the result, not any pre or post result note\n\nHere is the project description: \n{{ $json.output }}","options":{},"promptType":"define"},"typeVersion":1.8},{"id":"0fc661cd-1b77-49f9-bf61-2071ce7f4c36","name":"Final To-Do List Creator","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,3860],"parameters":{"text":"=You are an operations and action planning specialist. Your task is to complete the \"Final To-Do List\" section.\n\nInstructions:\n- Summarize essential actionable steps from all previous sections.\n- Organize logically from preparation to execution.\n- Keep list concise but comprehensive.\n\nYou must:\n- Cross-reference all campaign elements carefully.\n- Avoid missing any critical step.\n- Prioritize actions critical for campaign success.\n\nFormat:\n- Output must be clean paragraphs and bullet points.\n- If strong data missing, leave blank without assuming.\n\nthe output should only contain the result, not any pre or post result note\n\nHere is the project description: \n{{ $json.output }}","options":{},"promptType":"define"},"typeVersion":1.8},{"id":"62ef19de-e112-43fb-987e-c57865f1b376","name":"Post-Campaign Analyst","type":"@n8n/n8n-nodes-langchain.agent","position":[-1560,4120],"parameters":{"text":"=You are a post-campaign analyst with expertise in learning optimization. Your task is to complete the \"Post-Campaign Activities\" section.\n\nInstructions:\n- Define how to evaluate the campaign's success versus goals.\n- Outline the feedback collection process.\n- Summarize key learnings and improvement opportunities.\n\nYou must:\n- Base analysis on real post-campaign industry practices.\n- Ensure the learning loop is practical, quick, and meaningful.\n- Focus on building reusability for future campaigns.\n\nFormat:\n- Output must be clean paragraphs.\n- If strong data missing, leave blank without assuming.\n\nthe output should only contain the result, not any pre or post result note\n\nHere is the project description: \n{{ $json.output }}","options":{},"promptType":"define"},"typeVersion":1.8},{"id":"e3bf7e06-0fe4-4c60-87f0-68affbaf1d57","name":"Simple Memory","type":"@n8n/n8n-nodes-langchain.memoryBufferWindow","position":[-2880,4800],"parameters":{"sessionKey":"={{ $json.session_id }}","sessionIdType":"customKey","contextWindowLength":15},"typeVersion":1.3},{"id":"fae3499b-4a69-4a36-8726-07def17289c8","name":"Market Analyst","type":"@n8n/n8n-nodes-langchain.agent","position":[-4640,2040],"parameters":{"text":"=You are a highly critical and realistic Feasibility and Market Validator. Your task is to complete the section \\\"Critical Validation\\\".\\n\\nAnalyze the provided idea very pessimistically and critically, focusing on finding flaws, risks, and weaknesses first. Your approach is to:\\n\\n- Check if the idea is realistically executable (technical, financial, and operational feasibility)\\n- Critically assess if the idea fits market needs (market demand, competition, differentiation)\\n- If the idea can be improved, provide precise and actionable improvement feedback to enhance it\\n- If the idea is fundamentally weak or unlikely to succeed, clearly recommend discarding it and starting a new idea on the same topic\\n- If the idea is strong, innovative, and suitable for guerrilla marketing, approve it confidently\\n\\nNever sugarcoat problems. Focus on honest, actionable feedback, with the goal of reaching the strongest possible idea.\\n\\nFormat the answer as a clean paragraph. Do not include any titles, headers, numbering, or extra notes.\\n\\nIf you cannot properly evaluate, leave the section blank.\\n\\nHere is the provided project description:\\n {{ $json.output }}\n\nfor the output write is it accepted, or what things exaclty need to modify to be acceptable, and also if the idea is completely not achievable, write to move new gurilla idea and and also give feedback to improve. the result should only contain whether feedbacks (that if those apply on the idea everything will be fixed, so name all the feedbacks with detail, or just tell move to new ideas. do not write both feedback and move to anoteher idea)\nAnd at first explixitly mention this idea is feasable or not with saying it is accepted or not, ","options":{},"promptType":"define"},"typeVersion":1.9},{"id":"fb698621-922e-41ae-8532-10d333ed38ff","name":"Idea Generator","type":"@n8n/n8n-nodes-langchain.agent","position":[-5080,2040],"parameters":{"text":"=You are an Gurilla Marketing Idea Creator wich think different and out of box (but feasiable to do) and cheap. Your task is to complete the section \\\"Idea Proposal\\\".\\n\\nBased on the provided project description, conduct the necessary brainstorming and generate creative amazing guerrilla marketing ideas that are feasable. Then elaborate briefly on the idea, explaining what problem it solves and why it could succeed.\\n\\nFocus on:\\n- Invent a fresh, relevant idea\\n- Provide a short but clear elaboration\\n- Ensure the idea is practical, not purely fantasy\\n\\nFormat the answer as a clean paragraph. No titles, headers, numbering, or extra notes. Only the main paragraph, ready to copy-paste.\\n\\nIf you cannot create a valid idea, and everytime only generate one idea (whether imrpove previous idea by considering all given feedbacks, or weather completely write new one) leave it blank.\\n\\nHere is the provided project description:\\n{{ $json.output }}","options":{},"promptType":"define"},"typeVersion":1.9},{"id":"79a149f3-cfd0-4f94-9874-830bb8bb2173","name":"Information Extractor","type":"@n8n/n8n-nodes-langchain.informationExtractor","position":[-4220,2040],"parameters":{"text":"={{ $json.output }}","options":{},"schemaType":"manual","inputSchema":"{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"isItAccepted\": {\n\t\t\t\"type\": \"boolean\"\n\t\t}\n\t\n\t}\n}"},"typeVersion":1},{"id":"eac1ccbc-6b4b-47f8-8f8b-b406ab6cb34e","name":"OpenAI Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-3160,4800],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini","cachedResultName":"gpt-4.1-mini"},"options":{}},"credentials":{"openAiApi":{"id":"S34avj2vC22wwvGz","name":"OpenAi account"}},"typeVersion":1.2},{"id":"b41dbab0-e505-49a5-b413-7b5cc6011a0e","name":"Input Parser","type":"n8n-nodes-base.code","position":[-5580,2040],"parameters":{"jsCode":"const workflowStaticData = $getWorkflowStaticData('global');\n\n// get new access token\nworkflowStaticData.originalIdea = $input.first().json.chatInput;\nreturn {\"output\":$input.first().json.chatInput};"},"typeVersion":2},{"id":"abcfffeb-7369-47ab-b936-1be2e88a3180","name":"Merge failed results","type":"n8n-nodes-base.merge","position":[-3440,2840],"parameters":{"numberInputs":3},"typeVersion":3.1},{"id":"282bb284-bcf7-4f6d-9d85-7888d21bd597","name":"combine outputs","type":"n8n-nodes-base.code","position":[-3240,2840],"parameters":{"jsCode":"// Get the global workflow static data\nconst workflowStaticData = $getWorkflowStaticData('global');\n\n// Check if $input.all()[3] exists and its output is false\n// Check the condition\nif (!$input.all()[2]) {\n  return[]; // Stop, do nothing\n}\n\n\n// Access its data\nconst originalIdea = workflowStaticData.originalIdea;\n\nreturn {\"output\": `This is business description: '${originalIdea}', And this is generated idea:${$input.all()[0].json.output}, and this the final feedback that you should apply (maybe modify the current idea or maybe generate a more realistic gurilla marketing idea) : ${$input.all()[1].json.output}`};"},"typeVersion":2,"alwaysOutputData":false},{"id":"9857d479-dede-49ad-88a1-ae00b5343681","name":"Merge successful result","type":"n8n-nodes-base.merge","position":[-3420,1140],"parameters":{"numberInputs":3},"typeVersion":3.1},{"id":"7c98f796-4273-4117-814c-11c809238085","name":"Combine outputs","type":"n8n-nodes-base.code","position":[-3200,1140],"parameters":{"jsCode":"\n// Get the global workflow static data\nconst workflowStaticData = $getWorkflowStaticData('global');\n\n// Access its data\nconst originalIdea = workflowStaticData.originalIdea;\nconst sessionId = (+new Date).toString(36).slice(-5) + Math.random().toString(36).substr(2, 5)\n\nreturn {\"output\": `This is business description: '${originalIdea}', And this is generated idea:${$input.all()[0].json.output}, and this the final feedback that you should apply consider it to have a better and more realistic output: ${$input.all()[1].json.output}`,\"session_id\":sessionId};"},"typeVersion":2},{"id":"b8077851-175d-4aa6-b03b-555d5ae05b2f","name":"Merge results 1/2","type":"n8n-nodes-base.merge","position":[-180,1260],"parameters":{"numberInputs":10},"typeVersion":3.1},{"id":"25deeee6-3546-4944-8c07-27835811c227","name":"Merge results 2/2","type":"n8n-nodes-base.merge","position":[-180,3280],"parameters":{"numberInputs":6},"typeVersion":3.1},{"id":"f75a3534-f185-427e-9531-18cf18edd2d5","name":"Merge results","type":"n8n-nodes-base.merge","position":[440,2320],"parameters":{},"typeVersion":3.1},{"id":"6de3bbc8-8908-4f28-afdd-7dcfde723f02","name":"Result organizer","type":"n8n-nodes-base.code","position":[640,2320],"parameters":{"jsCode":"// const input = $input.all()\n// // Simple merge\n// const output = {\n//   introduction: input[0].json.output,\n//   campaign_definition: input[1].json.output,\n//   campaign_objectives: input[2].json.output, // combining both\n//   current_situation_analysis: input[3].json.output,\n//   target_audience_persona: input[4].json.output,\n//   key_messaging: input[5].json.output,\n//   main_marketing_strategy: input[6].json.output,\n//   guerrilla_marketing_tactics: input[7].json.output,\n//   channels_and_distribution : input[8].json.output,\n//   execution_plan: input[9].json.output,\n//   budget_planning: input[10].json.output,\n//   monitoring_and_kpis: input[11].json.output,\n//   risk_management: input[12].json.output,\n//   dos_and_donts: input[13].json.output,\n//   fina_todo_list: input[14].json.output,\n//   post_campaign_activities: input[15].json.output,\n// };\n\n// return {\n//   \"raw_output\": output,\n//     \"text\" : `# Introduction\\n${output.introduction}\\n\\n\n// # Campaign Definition\\n${output.campaign_definition}\\n\\n\n// # Campaign Objectives\\n${output.campaign_objectives}\\n\\n\n// # Current Situation Analysis\\n${output.current_situation_analysis}\\n\\n\n// # Target Audience Persona\\n${output.target_audience_persona}\\n\\n\n// # Key Messaging\\n${output.key_messaging}\\n\\n\n// # Main Marketing Strategy\\n${output.main_marketing_strategy}\\n\\n\n// # guerrilla Marketing Tactics\\n${output.guerrilla_marketing_tactics}\\n\\n\n// # Channels and Distribution\\n${output.channels_and_distribution}\\n\\n\n// # Execution Plan\\n${output.execution_plan}\\n\\n\n// # Budget Planning\\n${output.budget_planning}\\n\\n\n// # Monitoring and KPIs\\n${output.monitoring_and_kpis}\\n\\n\n// # Risk Management\\n${output.risk_management}\\n\\n\n// # Dos and Don'ts\\n${output.dos_and_donts}\\n\\n\n// # Final To-Do List\\n${output.fina_todo_list}\\n\\n\n// # Post Campaign Activities\\n${output.post_campaign_activities}\\n\\n`\n// }\n\n\n\n\n\nconst input = $input.all();\n\nfunction decode(str) {\n  try {\n    return JSON.parse(`\"${str}\"`);\n  } catch (e) {\n    return str;\n  }\n}\n\nfunction fixNewLines(str) {\n  return decode(str).replace(/\\\\n/g, `\n  `);\n}\n\nconst sections = [\n  { title: \"Introduction\", content: fixNewLines(input[0].json.output) },\n  { title: \"Campaign Definition\", content: fixNewLines(input[1].json.output) },\n  { title: \"Campaign Objectives\", content: fixNewLines(input[2].json.output) },\n  { title: \"Current Situation Analysis\", content: fixNewLines(input[3].json.output) },\n  { title: \"Target Audience Persona\", content: fixNewLines(input[4].json.output) },\n  { title: \"Key Messaging\", content: fixNewLines(input[5].json.output) },\n  { title: \"Main Marketing Strategy\", content: fixNewLines(input[6].json.output) },\n  { title: \"guerrilla Marketing Tactics\", content: fixNewLines(input[7].json.output) },\n  { title: \"Channels and Distribution\", content: fixNewLines(input[8].json.output) },\n  { title: \"Execution Plan\", content: fixNewLines(input[9].json.output) },\n  { title: \"Budget Planning\", content: fixNewLines(input[10].json.output) },\n  { title: \"Monitoring and KPIs\", content: fixNewLines(input[11].json.output) },\n  { title: \"Risk Management\", content: fixNewLines(input[12].json.output) },\n  { title: \"Dos and Don'ts\", content: fixNewLines(input[13].json.output) },\n  { title: \"Final To-Do List\", content: fixNewLines(input[14].json.output) },\n  { title: \"Post Campaign Activities\", content: fixNewLines(input[15].json.output) }\n];\n\nlet text = \"\";\n\nsections.forEach(section => {\n  text += `# ${section.title}\n${section.content}\n\n`;\n});\n\nreturn {\n  raw_output: sections,\n  text: text\n};"},"typeVersion":2},{"id":"31e1e0a0-ad77-4f7a-ba29-ee0d0dc95dba","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-5340,1000],"parameters":{"width":2400,"height":2180,"content":"## Swarm Intelligence (Mission : Critical campaign generator)\n\nThis part includes two AI agents: one generates an idea, and the other critiques it and provides an opinion. If the idea isn’t suitable, instead of initiating a feedback loop for improvement, the second agent asks for a new idea."},"typeVersion":1},{"id":"43ff5d3b-9f8a-47e8-9a0a-1f8fc75f49da","name":"Idea is good enough?","type":"n8n-nodes-base.if","position":[-3780,2040],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"f0c32b9c-56f7-4514-865e-cb2a01eb5490","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $json.output.isItAccepted }}","rightValue":""}]},"looseTypeValidation":true},"executeOnce":false,"typeVersion":2.2},{"id":"b5b1e48d-5693-4838-932c-71ee4cd0c83c","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-6500,1700],"parameters":{"color":4,"width":840,"height":520,"content":"## How to Use It\n\nTo get started, open the chat and describe your business.  \nThe more specific you are, the better the guerrilla marketing campaign plan will be.\n\nIt’s a good idea to include details like your **available budget** and any other relevant information.\n\nThis template introduces a new feature called **Swarm Intelligence**, where multiple agents collaborate in a loop to generate the most effective response.\n\nIf you already have a specific idea and don’t need brainstorming, you can **disable the Swarm Intelligence** part and use only the remaining nodes.\n\nIf you have any questions, feel free to email me at:  \n**sinamirshafiee@gmail.com**\n\n\n**Note:**  \nThis is version **0.1.0**, so please keep in mind that there may still be some bugs.  \nI'd love to hear your feedback, just drop me a message at **sinamirshafiee@gmail.com**!"},"typeVersion":1},{"id":"b29ecbae-ebe8-42c4-b76b-13ab0dabbe9d","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-4120,4780],"parameters":{"color":7,"width":1100,"height":140,"content":"## LLM is changeable\nYou can change the LLM to others like Ollama, it is better to use Reasonable models if you keep **Swarm Intelligence** active."},"typeVersion":1},{"id":"9a16f079-b6a5-4844-947b-5a8ee1ab145e","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-360,1100],"parameters":{"color":7,"width":940,"height":2600,"content":"## Merging all outputs\n"},"typeVersion":1},{"id":"8589c4cf-d064-4140-972b-c4891b35c5f5","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[-1820,-100],"parameters":{"color":5,"width":760,"height":4460,"content":"## Writing Individual Chapters\n\nEach node represents an agent that is highly skilled in its specific area of expertise.  \nIt generates the content for its assigned section based on the provided idea."},"typeVersion":1},{"id":"7d58d91b-11b6-40b4-89a8-e0340c36f6f3","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[800,1800],"parameters":{"width":560,"height":720,"content":"## End of Process\n\nAfter completing all the steps, click on this node to download the final result file.\n\nIf you have any further questions, feel free to contact me:  \n📧 **sinamirshafiee@gmail.com**"},"typeVersion":1},{"id":"6d488e0c-08fb-4072-b4bb-9070c43da16f","name":"Final result","type":"n8n-nodes-base.convertToFile","position":[860,2320],"parameters":{"options":{"fileName":"marketing_plan.md"},"operation":"toText","sourceProperty":"text"},"typeVersion":1.1}],"active":true,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"94640b98-e316-4740-a952-2905bd792eea","connections":{"Input Parser":{"main":[[{"node":"Idea Generator","type":"main","index":0}]]},"Merge results":{"main":[[{"node":"Result organizer","type":"main","index":0}]]},"Simple Memory":{"ai_memory":[[{"node":"Introduction Writer","type":"ai_memory","index":0},{"node":"Campaign Definition Agent","type":"ai_memory","index":0},{"node":"Current Situation Analyst","type":"ai_memory","index":0},{"node":"Target Persona Researcher","type":"ai_memory","index":0},{"node":"Key Messaging Specialist","type":"ai_memory","index":0},{"node":"Campaign Objectives Specialist","type":"ai_memory","index":0},{"node":"Main Strategy Architect","type":"ai_memory","index":0},{"node":"guerrilla Tactics Designer","type":"ai_memory","index":0},{"node":"Channel Strategy Expert","type":"ai_memory","index":0},{"node":"Execution Planner","type":"ai_memory","index":0},{"node":"Budget Planning Specialist","type":"ai_memory","index":0},{"node":"Monitoring and KPIs Expert","type":"ai_memory","index":0},{"node":"Risk Management Expert","type":"ai_memory","index":0},{"node":"Do's and Don'ts Advisor","type":"ai_memory","index":0},{"node":"Final To-Do List Creator","type":"ai_memory","index":0},{"node":"Post-Campaign Analyst","type":"ai_memory","index":0}]]},"Idea Generator":{"main":[[{"node":"Market Analyst","type":"main","index":0},{"node":"Merge failed results","type":"main","index":0},{"node":"Merge successful result","type":"main","index":0}]]},"Market Analyst":{"main":[[{"node":"Information Extractor","type":"main","index":0},{"node":"Merge failed results","type":"main","index":1},{"node":"Merge successful result","type":"main","index":1}]]},"Combine outputs":{"main":[[{"node":"Introduction Writer","type":"main","index":0},{"node":"Campaign Definition Agent","type":"main","index":0},{"node":"Campaign Objectives Specialist","type":"main","index":0},{"node":"Current Situation Analyst","type":"main","index":0},{"node":"Target Persona Researcher","type":"main","index":0},{"node":"Key Messaging Specialist","type":"main","index":0},{"node":"Main Strategy Architect","type":"main","index":0},{"node":"guerrilla Tactics Designer","type":"main","index":0},{"node":"Channel Strategy Expert","type":"main","index":0},{"node":"Execution Planner","type":"main","index":0},{"node":"Budget Planning Specialist","type":"main","index":0},{"node":"Monitoring and KPIs Expert","type":"main","index":0},{"node":"Risk Management Expert","type":"main","index":0},{"node":"Do's and Don'ts Advisor","type":"main","index":0},{"node":"Final To-Do List Creator","type":"main","index":0},{"node":"Post-Campaign Analyst","type":"main","index":0}]]},"combine outputs":{"main":[[{"node":"Idea Generator","type":"main","index":0}]]},"Result organizer":{"main":[[{"node":"Final result","type":"main","index":0}]]},"Execution Planner":{"main":[[{"node":"Merge results 1/2","type":"main","index":9}]]},"Merge results 1/2":{"main":[[{"node":"Merge results","type":"main","index":0}]]},"Merge results 2/2":{"main":[[{"node":"Merge results","type":"main","index":1}]]},"OpenAI Chat Model":{"ai_languageModel":[[{"node":"Idea Generator","type":"ai_languageModel","index":0},{"node":"Market Analyst","type":"ai_languageModel","index":0},{"node":"Information Extractor","type":"ai_languageModel","index":0},{"node":"Post-Campaign Analyst","type":"ai_languageModel","index":0},{"node":"Final To-Do List Creator","type":"ai_languageModel","index":0},{"node":"Do's and Don'ts Advisor","type":"ai_languageModel","index":0},{"node":"Risk Management Expert","type":"ai_languageModel","index":0},{"node":"Monitoring and KPIs Expert","type":"ai_languageModel","index":0},{"node":"Budget Planning Specialist","type":"ai_languageModel","index":0},{"node":"Execution Planner","type":"ai_languageModel","index":0},{"node":"Channel Strategy Expert","type":"ai_languageModel","index":0},{"node":"guerrilla Tactics Designer","type":"ai_languageModel","index":0},{"node":"Main Strategy Architect","type":"ai_languageModel","index":0},{"node":"Key Messaging Specialist","type":"ai_languageModel","index":0},{"node":"Target Persona Researcher","type":"ai_languageModel","index":0},{"node":"Current Situation Analyst","type":"ai_languageModel","index":0},{"node":"Campaign Objectives Specialist","type":"ai_languageModel","index":0},{"node":"Campaign Definition Agent","type":"ai_languageModel","index":0},{"node":"Introduction Writer","type":"ai_languageModel","index":0}]]},"Introduction Writer":{"main":[[{"node":"Merge results 1/2","type":"main","index":0}]]},"Idea is good enough?":{"main":[[{"node":"Merge successful result","type":"main","index":2}],[{"node":"Merge failed results","type":"main","index":2}]]},"Merge failed results":{"main":[[{"node":"combine outputs","type":"main","index":0}]]},"Information Extractor":{"main":[[{"node":"Idea is good enough?","type":"main","index":0}]]},"Post-Campaign Analyst":{"main":[[{"node":"Merge results 2/2","type":"main","index":5}]]},"Risk Management Expert":{"main":[[{"node":"Merge results 2/2","type":"main","index":2}]]},"Channel Strategy Expert":{"main":[[{"node":"Merge results 1/2","type":"main","index":8}]]},"Do's and Don'ts Advisor":{"main":[[{"node":"Merge results 2/2","type":"main","index":3}]]},"Main Strategy Architect":{"main":[[{"node":"Merge results 1/2","type":"main","index":6}]]},"Merge successful result":{"main":[[{"node":"Combine outputs","type":"main","index":0}]]},"Final To-Do List Creator":{"main":[[{"node":"Merge results 2/2","type":"main","index":4}]]},"Key Messaging Specialist":{"main":[[{"node":"Merge results 1/2","type":"main","index":5}]]},"Campaign Definition Agent":{"main":[[{"node":"Merge results 1/2","type":"main","index":1}]]},"Current Situation Analyst":{"main":[[{"node":"Merge results 1/2","type":"main","index":3}]]},"Target Persona Researcher":{"main":[[{"node":"Merge results 1/2","type":"main","index":4}]]},"Budget Planning Specialist":{"main":[[{"node":"Merge results 2/2","type":"main","index":0}]]},"Monitoring and KPIs Expert":{"main":[[{"node":"Merge results 2/2","type":"main","index":1}]]},"When chat message received":{"main":[[{"node":"Input Parser","type":"main","index":0}]]},"guerrilla Tactics Designer":{"main":[[{"node":"Merge results 1/2","type":"main","index":7}]]},"Campaign Objectives Specialist":{"main":[[{"node":"Merge results 1/2","type":"main","index":2}]]}}}


name: Auto-Publish Latest News on X with AI Content Generation using Keywords and Bright Data
author_name: Dvir Sharon
author_username: dvirsharon
categories: []
created_at: 2025-06-01T11:55:19.435Z
updated_at: 2025-06-01T11:55:19.435Z
url: https://n8n.io/workflows/4556
scraped_at: 2025-06-19 22:49:14
description:
  📰 Publish Latest News on X and Other Social Media Platforms Using Keyword

  A comprehensive n8n automation that fetches the latest news based on keywords, generates AI-powered social media content, and automatically publishes to X (Twitter) with complete tracking and notification systems.

  📋 Overview

  This workflow provides a professional news publishing solution that automatically discovers breaking news, creates engaging social media content using AI, and publishes to X (Twitter) with comprehensive tracking. Perfect for news organizations, content creators, social media managers, and businesses wanting to stay current with automated news sharing. The system uses BrightData's Google News dataset, OpenAI's GPT-4o for content generation, and multi-platform integration for complete automation.

  ⭐ Key Features

  📝 Form-Based Input**: Clean web form for keyword and country submission
  📰 Real-Time News Fetching**: BrightData Google News integration for latest articles
  🤖 AI Content Generation**: GPT-4o powered tweet creation with hashtags
  📱 Auto X Publishing**: Direct posting to X (Twitter) with URL tracking
  📊 Complete Tracking**: Google Sheets logging of all published content
  🔔 Email Notifications**: Success alerts with tweet links
  🌍 Multi-Country Support**: Localized news for US, India, UK, Australia
  ⚡ Status Monitoring**: Real-time progress tracking with retry logic
  🛡 Error Handling**: Robust error management and validation
  🔄 Loop Management**: Intelligent waiting for news processing completion

  🎯 What This Workflow Does

  Input:

  News Name**: Keyword or topic for news search (required)
  Country**: Target country for localized news (dropdown: US/IN/GB/AU)

  Processing:

  Form Submission: Captures news keyword and target country
  News Triggering: Initiates BrightData Google News scraping job
  Status Monitoring: Checks scraping progress with intelligent retry loop
  Data Retrieval: Fetches latest news articles when ready
  AI Content Creation: Generates engaging tweet content using GPT-4o
  Social Publishing: Posts content to X (Twitter) automatically
  URL Generation: Creates direct tweet links for tracking
  Data Logging: Saves content and URLs to Google Sheets
  Email Notification: Sends success confirmation with tweet link
  Completion: Workflow ends with full audit trail

  📋 Output Data Points

  | Field         | Description                         | Example                                                                                                |
  | :------------ | :---------------------------------- | :----------------------------------------------------------------------------------------------------- |
  | TweetMessage  | AI-generated social media content | "Breaking: AI revolution transforming healthcare with 40% efficiency gains. New study shows promising results in patient care automation. #AI #Healthcare #Innovation #TechNews #US" |
  | TweetURL      | Direct link to published tweet      | https://twitter.com/i/web/status/1234567890123456789                                                 |

  🛠️ Setup Instructions

  Prerequisites:

  n8n instance (self-hosted or cloud)
  X (Twitter) account with API v2 access
  OpenAI account with GPT-4o access
  Gmail account for notifications
  Google account with Sheets access
  BrightData account with Google News dataset access
  Basic understanding of social media automation

  Step 1: Import the Workflow

  Copy the JSON workflow code from the provided file.
  In n8n, click "+ Add workflow".
  Select "Import from JSON".
  Paste the workflow code and click "Import".
  The workflow will appear with all nodes properly connected.

  Step 2: Configure API Credentials

  X (Twitter) API Setup:

  Create X Developer Account at developer.twitter.com.
  Create new app and generate API keys.
  In n8n: Credentials → + Add credential → Twitter OAuth2 API.
  Add your Twitter API credentials:
      API Key
      API Secret Key
      Bearer Token
      Access Token
      Access Token Secret
  Test the connection with a sample tweet.

  OpenAI API Configuration:

  Get API key from platform.openai.com.
  Ensure GPT-4o model access is available.
  In n8n: Credentials → + Add credential → OpenAI API.
  Add your OpenAI API key.
  Verify model access in the "OpenAI Chat Model" node.

  Gmail Integration:

  Create "Gmail OAuth2" credential.
  Follow OAuth setup process.
  Grant email sending permissions.
  Test with sample email.

  BrightData News API:

  The workflow uses pre-configured token: 5662edde-6735-4c5d-a6c6-693043a5a9a5.
  Dataset ID: gd_lnsxoxzi1omrwnka5r (Google News).
  Verify access to Google News dataset.
  Test API connection.

  Google Sheets Integration:

  Create "Google Sheets OAuth2 API" credential.
  Complete OAuth authentication.
  Grant read/write permissions.
  Test connection.

  Step 3: Configure Google Sheets Integration

  Create Google Sheets Structure:
      Sheet Name: "Publish Latest News on Social Media Platforms Using Keyword"
      Tab: "Data" (default)
      Columns:
          Tweet Message: AI-generated content posted to X
          Tweet URL: Direct link to published tweet
  Sheet Configuration:
      Create new Google Sheet or use existing one.
      Add the required column headers.
      Copy Sheet ID from URL: https://docs.google.com/spreadsheets/d/SHEET_ID_HERE/edit.
      Current configured Sheet ID: 1koxNrwdeuaSBdREuKc7JQh3d9blEk0sQDJ8VgVLjPOo.
  Update Workflow Settings:
      Open "Google Sheets" node.
      Replace Document ID with your Sheet ID.
      Select your Google Sheets credential.
      Choose "Data" sheet/tab.
      Verify column mapping is correct.

  Step 4: Configure Form Interface

  Form Settings:

  Open "On form submission" node.
  Form configuration:
      Title: "News Publisher"
      Description: "publish latest news to direct social media"
      Fields:
          News Name (text, required)
          Country (dropdown: US, IN, GB, AU, required)
      Webhook URL: Copy webhook URL from form trigger node.
      Current webhook ID: 8d320705-688c-4150-a393-cf899d2bbb52.
      Test form accessibility and submission.

  Step 5: Configure Email Notifications

  Gmail Setup:

  Open "Gmail" node.
  Update recipient email: raushan@iwantonlinemarketing.com.
  Email template includes:
      Success confirmation
      Direct tweet link
      Professional formatting
  Test email delivery.

  Step 6: Test the Workflow

  Sample Test Data:

  Use these examples for testing:

  | News Name             | Country | Expected Results                                   |
  | :-------------------- | :------ | :------------------------------------------------- |
  | artificial intelligence | US      | Latest AI news with US-specific hashtags           |
  | cricket world cup     | IN      | Sports news with India-focused content            |
  | brexit update         | GB      | UK political news with British hashtags            |
  | bushfire news         | AU      | Australian environmental news                      |

  Testing Process:

  Activate the workflow (toggle switch).
  Navigate to the webhook form URL.
  Submit test data.
  Monitor execution progress:
      News fetching (30-60 seconds)
      AI content generation (10-15 seconds)
      X publishing (5-10 seconds)
      Sheet update and email (5 seconds)
  Verify results in all platforms.

  📖 Usage Guide

  Using the Form Interface

  Navigate to the webhook URL provided by the form trigger.
  Enter news keyword or topic (e.g., "climate change", "stock market", "technology").
  Select target country from dropdown.
  Click submit and wait for processing.
  Check email for success notification with tweet link.

  Example Inputs to Test

  | News Name                         | Country | Expected                                               |
  | :-------------------------------- | :------ | :----------------------------------------------------- |
  | "artificial intelligence breakthrough" | "US"    | Latest AI developments with tech hashtags              |
  | "football premier league"         | "GB"    | UK football news with sports hashtags                  |
  | "stock market updates"            | "IN"    | Indian market news with finance hashtags                |
  | "hollywood movies"                | "AU"    | Entertainment news with Australian perspective         |

  Country-Specific Considerations

  United States (US)**:
      Focus on national news and global impact.
      Hashtags: #USA, #American, #Breaking, #News.
      Time zone considerations for optimal posting.
  India (IN)**:
      Emphasis on regional relevance.
      Hashtags: #India, #Indian, #News, #Breaking.
      Cultural context in content generation.
  United Kingdom (GB)**:
      British perspective and terminology.
      Hashtags: #UK, #British, #News, #Breaking.
      Focus on European context.
  Australia (AU)**:
      Australian angle and regional focus.
      Hashtags: #Australia, #Australian, #News, #Breaking.
      Pacific region context.

  📊 Reading the Results

  Google Sheets Data

  The output sheet contains:

  Complete tweet content with hashtags and formatting.
  Direct tweet URLs for easy access and sharing.
  Chronological record of all published content.
  Audit trail for content management.

  Email Notifications

  Success emails include:

  Confirmation that content was published.
  Direct link to view the tweet.
  Professional formatting for easy reference.

  X (Twitter) Posts

  Published content features:

  AI-optimized messaging within 260 character limit.
  Relevant hashtags based on topic and country.
  Engaging format designed for social media.
  Professional tone suitable for news sharing.

  🔧 Customization Options

  Expanding Social Media Platforms

  Add more platforms to the publishing workflow:

  // Add LinkedIn publishing
  {
    "node": "LinkedIn",
    "type": "n8n-nodes-base.linkedin",
    "parameters": {
      "text": "={{ $json.output }}",
      "additionalFields": {}
    }
  }
  // Add Facebook posting
  {
    "node": "Facebook",
    "type": "n8n-nodes-base.facebook",
    "parameters": {
      "pageId": "YOUR_PAGE_ID",
      "message": "={{ $json.output }}"
    }
  }

nodes_used:
  ["n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.twitter","n8n-nodes-base.gmail","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json:
  {"id":"UcRJot2fG84lnzNa","meta":{"instanceId":"bc8ca75c203589705ae2e446cad7181d6f2a7cc1766f958ef9f34810e53b8cb2","templateCredsSetupCompleted":true},"name":"Publish Latest  News on X and Other Social Media Platforms Using Keyword","tags":[],"nodes":[{"id":"9208debf-56cf-4181-adce-b6fd25713142","name":"Check Final Status1","type":"n8n-nodes-base.if","position":[-500,40],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"id":"35ed620d-b5d5-4e97-bcc5-52b283d85616","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.status }}","rightValue":"ready"}]}},"typeVersion":2.2},{"id":"906db788-b7c8-4f80-90ed-1d9a556e33d9","name":"On form submission","type":"n8n-nodes-base.formTrigger","position":[-1500,40],"webhookId":"8d320705-688c-4150-a393-cf899d2bbb52","parameters":{"options":{},"formTitle":"News Publisher","formFields":{"values":[{"fieldLabel":"News Name","placeholder":"news","requiredField":true},{"fieldType":"dropdown","fieldLabel":"Country","fieldOptions":{"values":[{"option":"US"},{"option":"IN"},{"option":"GB"},{"option":"AU"}]},"requiredField":true}]},"formDescription":"publish latest news to direct social medial"},"typeVersion":2.2},{"id":"e1462542-ddd9-417a-a467-6671e4d68fda","name":"Wait 1 Minutes","type":"n8n-nodes-base.wait","position":[-720,40],"webhookId":"10b45556-5e91-4387-abd0-f9078b220286","parameters":{"amount":30},"typeVersion":1.1},{"id":"53f4a578-b098-459e-bdad-ccf1e9508994","name":"AI Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[0,20],"parameters":{"text":"=You are a professional social media strategist. You'll receive three inputs: a news headline, a URL to the full article, and a country code. \nFirst, understand the headline like a news summary. Then analyze the URL content to extract or simulate key facts, context, quotes, or figures. Use the country code to adjust the tone and hashtags to suit the local audience. \nYour task is to write a post for X (formerly Twitter), within 260 characters, that is clear, engaging, and informative. \n- Do not include any intro, outro, publisher names, or brand mentions. \n- Only output the final tweet text with relevant, topic-based and country-specific hashtags.\n- always output in english langauge.\nhere is the title: \"{{ $json.title }}\" \nhere is the URL: \"{{ $json.url }}\"\ncountry code: \"{{ $json.country }}\"","options":{},"promptType":"define"},"typeVersion":2},{"id":"cfebdd34-a1f8-47b7-9e2f-8edea038a6b3","name":"OpenAI Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[0,260],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4o","cachedResultName":"gpt-4o"},"options":{}},"credentials":{"openAiApi":{"id":"bCyfZPZUcaKY4vYa","name":"OpenAi account 7"}},"typeVersion":1.2},{"id":"c9514ac6-f29c-490f-8d33-2409eea93973","name":"Get News URL from Google News","type":"n8n-nodes-base.httpRequest","position":[-220,20],"parameters":{"url":"=https://api.brightdata.com/datasets/v3/snapshot/{{ $json.snapshot_id }}","options":{},"sendQuery":true,"sendHeaders":true,"queryParameters":{"parameters":[{"name":"format","value":"json"}]},"headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer 5662edde-6735-4c5d-a6c6-693043a5a9a5"}]}},"typeVersion":4.2},{"id":"30b391cb-f56f-4d27-b39c-a3db422c249f","name":"Fetch Latest News","type":"n8n-nodes-base.httpRequest","position":[-1240,40],"parameters":{"url":"https://api.brightdata.com/datasets/v3/trigger","method":"POST","options":{},"jsonBody":"=[\n  {\n    \"url\": \"https://news.google.com/\",\n    \"keyword\": \"{{ $json['News Name'] }}\",\n    \"country\": \"{{ $json.Country }}\",\n    \"language\": \"\"\n  }\n] ","sendBody":true,"sendQuery":true,"sendHeaders":true,"specifyBody":"json","queryParameters":{"parameters":[{"name":"dataset_id","value":"gd_lnsxoxzi1omrwnka5r"},{"name":"include_errors","value":"true"},{"name":"limit_multiple_results","value":"1"}]},"headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer 5662edde-6735-4c5d-a6c6-693043a5a9a5"}]}},"typeVersion":4.2},{"id":"5982536a-2887-408d-ad8b-ec74fc3b7d52","name":"X","type":"n8n-nodes-base.twitter","position":[440,20],"parameters":{"text":"={{ $json.output }}","additionalFields":{}},"credentials":{"twitterOAuth2Api":{"id":"8SOPM1k0z5QUTdga","name":"X account - Aksh"}},"typeVersion":2},{"id":"eddbcbbe-2ef7-4e44-8799-572a9f368213","name":"tweet to URL","type":"n8n-nodes-base.code","position":[680,20],"parameters":{"jsCode":"function generateTweetUrl(tweetId) {\n  if (!tweetId || isNaN(tweetId)) {\n    return null;\n  }\n  return `https://twitter.com/i/web/status/${tweetId}`;\n}\n\n// Loop through all input items and process them\nreturn $input.all().map(item => {\n  const tweetId = item.json.tweetId || item.json.id || item.json.tweet_id;\n  const tweetUrl = generateTweetUrl(tweetId);\n  return {\n    json: {\n      ...item.json,\n      tweetUrl,\n    }\n  };\n});"},"typeVersion":2},{"id":"e94dd4c9-2c9f-49a8-bf3b-13491e2f9617","name":"Google Sheets","type":"n8n-nodes-base.googleSheets","position":[940,20],"parameters":{"columns":{"value":{"Tweet URL":"={{ $json.tweetUrl }}","Tweet Message":"={{ $json.text }}"},"schema":[{"id":"Tweet URL","type":"string","display":true,"required":false,"displayName":"Tweet URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Tweet Message","type":"string","display":true,"required":false,"displayName":"Tweet Message","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1koxNrwdeuaSBdREuKc7JQh3d9blEk0sQDJ8VgVLjPOo/edit#gid=0","cachedResultName":"Data"},"documentId":{"__rl":true,"mode":"list","value":"1koxNrwdeuaSBdREuKc7JQh3d9blEk0sQDJ8VgVLjPOo","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1koxNrwdeuaSBdREuKc7JQh3d9blEk0sQDJ8VgVLjPOo/edit?usp=drivesdk","cachedResultName":"Publish Latest  News on Social Media Platforms Using Keyword"}},"credentials":{"googleSheetsOAuth2Api":{"id":"AiLIcKCiQq8tW7Lu","name":"Raushan Google Sheet"}},"typeVersion":4.6},{"id":"57fc5e5f-6ecd-4933-be5d-02223eae1d9a","name":"Check Snapshot ID Status","type":"n8n-nodes-base.httpRequest","position":[-960,40],"parameters":{"url":"=https://api.brightdata.com/datasets/v3/progress/{{ $json.snapshot_id }}","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer 5662edde-6735-4c5d-a6c6-693043a5a9a5"}]}},"typeVersion":4.2,"alwaysOutputData":true},{"id":"1dda70c1-9eca-484e-b109-ca297fcdfe72","name":"Gmail","type":"n8n-nodes-base.gmail","position":[1160,20],"webhookId":"0210609d-191a-4eb7-ae2b-13f9e2248c11","parameters":{"sendTo":"=raushan@iwantonlinemarketing.com ","message":"=<p>Hello,</p>  <p>Your news tweet has been published successfully on X (formerly Twitter).</p>  <p>You can view it here: <a href=\"{{ $json['Tweet URL'] }}\" target=\"_blank\">Click to view your tweet</a></p>  <p>Best regards,<br> Team</p>","options":{},"subject":"Your News Has Been Published on X (Twitter)"},"credentials":{"gmailOAuth2":{"id":"gVmVsyjENjEeeaq9","name":"Gmail - crm@incrementors.com"}},"typeVersion":2.1},{"id":"8412946a-0b83-4c94-a5e7-bcf11dc77780","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-1040,-100],"parameters":{"width":700,"height":420,"content":"## Checking Snapshot ID status in While Loops\n"},"typeVersion":1},{"id":"54d35176-cc63-43e2-aabc-bca61fb249af","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-240,-120],"parameters":{"width":560,"height":520,"content":"## Scrap Latest News and Generate Content\ncrapping lastest news from google news and generaint content"},"typeVersion":1},{"id":"2992d27f-fb9b-45b2-a4d2-8baffa5faa53","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[920,-80],"parameters":{"width":560,"height":320,"content":"## Update URL in Sheet and Sent Success Mail"},"typeVersion":1},{"id":"f1868b0b-c58d-4252-82a7-5399cf22bb0f","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[380,-80],"parameters":{"width":460,"height":320,"content":"## Publishing on X"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"056a411e-ed25-4f5f-ad70-f032b6e21eca","connections":{"X":{"main":[[{"node":"tweet to URL","type":"main","index":0}]]},"AI Agent":{"main":[[{"node":"X","type":"main","index":0}]]},"tweet to URL":{"main":[[{"node":"Google Sheets","type":"main","index":0}]]},"Google Sheets":{"main":[[{"node":"Gmail","type":"main","index":0}]]},"Wait 1 Minutes":{"main":[[{"node":"Check Final Status1","type":"main","index":0}]]},"Fetch Latest News":{"main":[[{"node":"Check Snapshot ID Status","type":"main","index":0}]]},"OpenAI Chat Model":{"ai_languageModel":[[{"node":"AI Agent","type":"ai_languageModel","index":0}]]},"On form submission":{"main":[[{"node":"Fetch Latest News","type":"main","index":0}]]},"Check Final Status1":{"main":[[{"node":"Get News URL from Google News","type":"main","index":0}],[{"node":"Check Snapshot ID Status","type":"main","index":0}]]},"Check Snapshot ID Status":{"main":[[{"node":"Wait 1 Minutes","type":"main","index":0}]]},"Get News URL from Google News":{"main":[[{"node":"AI Agent","type":"main","index":0}]]}}}


name: Intelligent Email Organization with AI-Powered Content Classification for Gmail
author_name: Niranjan G
author_username: niranjan
categories: []
created_at: 2025-06-01T12:02:07.509Z
updated_at: 2025-06-01T12:02:07.509Z
url: https://n8n.io/workflows/4557
scraped_at: 2025-06-19 22:48:39
description:
  This workflow leverages AI to intelligently analyze incoming Gmail messages and automatically apply relevant labels based on the email content.

  The default configuration includes the following labels:

  Newsletter**: Subscription updates or promotional content.
  Inquiry**: Emails requesting information or responses.
  Invoice**: Billing and payment-related emails.
  Proposal**: Business offers or collaboration opportunities.
  Action Required**: Emails demanding immediate tasks or actions.
  Follow-up Reminder**: Emails prompting follow-up actions.
  Task**: Emails containing actionable tasks.
  Personal**: Non-work-related emails.
  Urgent**: Time-sensitive or critical communications.
  Bank**: Banking alerts and financial statements.
  Job Update**: Recruitment or job-related communications.
  Spam/Junk**: Unwanted or irrelevant bulk emails.
  Social/Networking**: Notifications from social platforms.
  Receipt**: Purchase confirmations and receipts.
  Event Invite**: Invitations or calendar-related messages.
  Subscription Renewal**: Reminders for subscription expirations.
  System Notification**: Technical alerts from services or systems.

  You can customize labels and definitions based on your specific use case.

  How it works:

  The workflow periodically retrieves new Gmail messages.
  Only emails without existing labels, regardless of read status, are sent to the AI for analysis.
  Email content (subject and body) is analyzed by an AI model to determine the appropriate label.
  Labels identified by the AI are applied to each email accordingly.

  Note: This workflow performs 100% better than the default Gmail trigger method, which is why the workflow was switched from Gmail trigger to a scheduled workflow. By selectively processing only unlabeled emails, it ensures comprehensive labeling while significantly reducing AI processing costs.

  Setup Steps:

  Configure credentials for Gmail and your chosen AI service (e.g., OpenAI).
  Ensure labels exist in your Gmail account matching the workflow definitions.
  Adjust the AI prompt to match your labeling needs.
  Optionally customize the polling interval (default: every 2 minutes).

  This workflow streamlines your email management, keeping your inbox organized effortlessly while optimizing resource usage.

nodes_used:
  ["n8n-nodes-base.gmail","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json:
  {"id":"MKPGGcZ4kNS2VaAd","meta":{"instanceId":"c62c01f3e843893075a10f252ec7d6d69e5ab593af019f50055d506cb3081b99","templateCredsSetupCompleted":true},"name":"Auto Gmail Labeling (Powered by OpenAI)","tags":[{"id":"XCHEQnjQX9v45lVi","name":"labeling","createdAt":"2025-05-10T13:05:07.928Z","updatedAt":"2025-05-10T13:05:07.928Z"},{"id":"rEeMluSnJ541dfuv","name":"label","createdAt":"2025-05-10T13:05:07.947Z","updatedAt":"2025-05-10T13:05:07.947Z"},{"id":"wTkM9jCbEJKOQGvU","name":"email","createdAt":"2025-05-10T13:05:07.923Z","updatedAt":"2025-05-10T13:05:07.923Z"},{"id":"bteUZZnDWPlLufzn","name":"prod","createdAt":"2025-04-18T15:09:08.645Z","updatedAt":"2025-04-18T15:09:08.645Z"}],"nodes":[{"id":"61d0e78d-34ea-4266-9d0d-16b917e2e934","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[-1580,-560],"parameters":{"options":{}},"typeVersion":3},{"id":"ceeb33f9-5edd-4760-ae69-de3f8f7c7fe4","name":"Replace Me","type":"n8n-nodes-base.noOp","position":[1000,-600],"parameters":{},"typeVersion":1},{"id":"d9ddec50-7a7c-476b-af88-94d06fc3d2ce","name":"If","type":"n8n-nodes-base.if","position":[-1140,-600],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"2f466934-e257-4315-8a7f-5e3dde987430","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.labelIds[2] }}","rightValue":"={{ $json.labelIds[2] }}"}]}},"typeVersion":2.2},{"id":"6fdbf75a-182d-4793-b4c7-2a3c29127a4c","name":"Merge","type":"n8n-nodes-base.merge","position":[-920,-700],"parameters":{},"typeVersion":3.1},{"id":"65925cff-ae6d-4d01-b04f-09081dda5f6f","name":"Gmail - Get All Messages","type":"n8n-nodes-base.gmail","position":[-2120,-580],"webhookId":"a501a86b-b2df-45ec-b0d9-178765859a0f","parameters":{"limit":20,"simple":false,"filters":{"readStatus":"both"},"options":{},"operation":"getAll"},"credentials":{"gmailOAuth2":{"id":"T6a7nzYASeRq8gwp","name":"Gmail account [abc@mail.com]"}},"typeVersion":2.1},{"id":"7c9da3f9-ab0c-4244-a086-04e36a22e5f2","name":"Gmail - Single Message","type":"n8n-nodes-base.gmail","position":[-1340,-640],"webhookId":"ebc7d7c4-aece-4cd4-a46f-dff18891931e","parameters":{"simple":false,"options":{},"messageId":"={{ $json.id }}","operation":"get"},"credentials":{"gmailOAuth2":{"id":"T6a7nzYASeRq8gwp","name":"Gmail account [abc@mail.com]"}},"typeVersion":2.1},{"id":"47aabef5-1f4e-4fa3-9fd9-f4ab724fc6d9","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-2440,-960],"parameters":{"width":3820,"height":740,"content":"## Auto Gmail Labeling (Powered by OpenAI)"},"typeVersion":1},{"id":"4635a3bf-7da7-45b7-9767-539831407a1e","name":"Schedule Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[-2340,-580],"parameters":{"rule":{"interval":[{"field":"minutes","minutesInterval":2}]}},"typeVersion":1.2},{"id":"92f4c2be-42e7-49fe-a43a-66060495af30","name":"Extract Email Data","type":"n8n-nodes-base.set","position":[-700,-700],"parameters":{"options":{},"assignments":{"assignments":[{"id":"2e246278-eccb-4cd5-8c93-7daa824066e3","name":"id","type":"string","value":"={{ $json.id }}"},{"id":"06e5dde5-dfce-4d4d-859d-b364301cb5aa","name":"from","type":"string","value":"={{ $json.headers.from }}"},{"id":"e10231b9-fbb1-447a-a3fc-3ba8e5a9d314","name":"headers.subject","type":"string","value":"={{ $json.headers.subject }}"},{"id":"6a472d41-0f6e-4803-8d94-4b4f8272e66c","name":"text","type":"string","value":"={{ $json.text }}"}]}},"typeVersion":3.4},{"id":"82ea2062-8dc8-4087-82e7-c45047e14d41","name":"Categorize Email with AI","type":"@n8n/n8n-nodes-langchain.agent","position":[-480,-800],"parameters":{"text":"=Here is the email details:\nFrom: { $('Merge').item.json.headers.from }}\nSubject line: {{ $json.headers.subject }}\nEmail Body: \n{{ $json.text }}","options":{"systemMessage":"You are my Personal Email Labeler.  \nWhen I feed you the subject and body of a new email, you must assign exactly one label—no extra text.\n\nAvailable labels:\n- Newsletter  \n- Inquiry  \n- Invoice  \n- Proposal  \n- Action Required  \n- Follow-up Reminder  \n- Task  \n- Personal  \n- Urgent  \n- Bank  \n- Job Update  \n- Spam / Junk  \n- Social / Networking  \n- Receipt  \n- Event Invite  \n- Subscription Renewal  \n- System Notification  \n\nLabel definitions:\n1. Newsletter  \n   • Subscription updates, promotions, digests.  \n   • No reply needed—just file away.  \n2. Inquiry  \n   • Sender asks a question or requests information.  \n   • Prioritize and suggest replying.  \n3. Invoice  \n   • Billing, receipts, payment requests.  \n   • Flag if payment is due.  \n4. Proposal  \n   • Business offers, contracts, collaboration pitches.  \n   • Flag for review; consider acknowledging receipt.  \n5. Action Required  \n   • Requests that demand you do something (book, confirm, complete).  \n   • Mark and suggest a reminder.  \n6. Follow-up Reminder  \n   • Emails reminding you of something pending or that you already acted on.  \n   • Suggest checking status or pinging again.  \n7. Task  \n   • Contains to-do items or project steps.  \n   • Extract tasks, prioritize by deadline.  \n8. Personal  \n   • From friends or family; non-work.  \n   • Keep accessible but low urgency unless marked urgent.  \n9. Urgent  \n   • Critical deadlines, emergencies, time-sensitive.  \n   • Bump to top of your inbox; reply ASAP.  \n10. Bank  \n    • Statements, alerts, transaction notices, fraud warnings from your bank.  \n    • Flag if action is needed (e.g., verify, transfer, dispute).  \n11. Job Update  \n    • Direct messages from recruiters/HR or alerts from job portals (LinkedIn, Naukri, etc.).  \n    • Flag as relevant opportunity; suggest acknowledging or bookmarking.  \n12. Spam / Junk  \n    • Unwanted bulk mail, phishing attempts, obvious ads.  \n    • Auto-archive or delete.  \n13. Social / Networking  \n    • Notifications from social sites (GitHub, Twitter, forums) not job-related.  \n    • File separately from Job Update.  \n14. Receipt  \n    • E-commerce order confirmations, tickets, one-off purchase receipts.  \n    • Archive after processing.  \n15. Event Invite  \n    • Calendar invitations or RSVPs (Google Meet, Zoom, Outlook).  \n    • Accept/decline or add to calendar.  \n16. Subscription Renewal  \n    • Reminders for software licenses, memberships, domain renewals.  \n    • Flag for manual renewal.  \n17. System Notification  \n    • Alerts from monitoring tools, CI/CD, cloud services, security scanners.  \n    • Triage or forward to team channel.\n\nRules:\n- Read subject + body.  \n- Choose the single best label.  \n- Output **only** that label."},"promptType":"define","hasOutputParser":true},"typeVersion":1.7},{"id":"bd3e558c-1e2a-4962-bf65-c92edfaad559","name":"Store AI Category","type":"n8n-nodes-base.set","position":[-100,-700],"parameters":{"options":{},"assignments":{"assignments":[{"id":"2494d69d-3e5e-42ba-88d2-b76ca1962881","name":"output","type":"string","value":"={{ $json.output }}"}]}},"typeVersion":3.4},{"id":"b7e2e5a9-772b-4f8b-a018-d59924e80fd5","name":"List All Gmail Labels","type":"n8n-nodes-base.gmail","position":[120,-600],"webhookId":"5c3cbc0b-9239-4a17-a8ec-bc8819341e47","parameters":{"resource":"label","returnAll":true},"credentials":{"gmailOAuth2":{"id":"T6a7nzYASeRq8gwp","name":"Gmail account [abc@mail.com]"}},"typeVersion":2.1},{"id":"0361804b-a792-4f12-862e-09b6de749128","name":"Check if Label Exists","type":"n8n-nodes-base.compareDatasets","position":[340,-720],"parameters":{"options":{"multipleMatches":"first"},"fuzzyCompare":true,"mergeByFields":{"values":[{"field1":"output","field2":"name"}]}},"typeVersion":2.3},{"id":"65203535-4a68-4b7e-836b-93aba10b5314","name":"Apply Label to Email","type":"n8n-nodes-base.gmail","position":[780,-600],"webhookId":"4a35699e-da45-48e9-8e12-d22b2dcca62e","parameters":{"labelIds":"={{ $json.different.id.inputB }}","messageId":"={{ $('Extract Email Data').item.json.id }}","operation":"addLabels"},"credentials":{"gmailOAuth2":{"id":"T6a7nzYASeRq8gwp","name":"Gmail account [abc@mail.com]"}},"typeVersion":2.1},{"id":"c693da56-6238-4c21-bdb6-6e3aceffd4a5","name":"Apply New Label","type":"n8n-nodes-base.gmail","position":[560,-800],"webhookId":"a6722fdc-15cb-4796-b82d-53cc23060640","parameters":{"name":"={{ $('Store AI Category').item.json.output }}","options":{},"resource":"label","operation":"create"},"credentials":{"gmailOAuth2":{"id":"T6a7nzYASeRq8gwp","name":"Gmail account [abc@mail.com]"}},"typeVersion":2.1},{"id":"86a440fa-b761-4b3f-ae7b-b5fb30a11f9d","name":"Create New Label","type":"n8n-nodes-base.gmail","position":[780,-800],"webhookId":"9e401ad8-b89c-4015-a3cf-b1000ac51ae1","parameters":{"labelIds":"={{ $json.id }}","messageId":"={{ $('Extract Email Data').item.json.id }}","operation":"addLabels"},"credentials":{"gmailOAuth2":{"id":"T6a7nzYASeRq8gwp","name":"Gmail account [abc@mail.com]"}},"typeVersion":2.1},{"id":"59b0ed3f-7a2c-44f3-8e7c-ebb91ead16d2","name":"OpenAI Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-400,-580],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-nano","cachedResultName":"gpt-4.1-nano"},"options":{}},"credentials":{"openAiApi":{"id":"PLkPXwnjTc0ag3xa","name":"OpenAi account"}},"typeVersion":1.2},{"id":"ced7a41e-7df9-4c73-ab00-e24677326652","name":"Filter Emails Without Excluded Labels","type":"n8n-nodes-base.code","position":[-1900,-580],"parameters":{"jsCode":"const excludedLabelIds = [\n  \"Label_5\",   // Newsletter\n  \"Label_21\",  // Inquiry\n  \"Label_11\",  // Invoice\n  \"Label_9\",   // Proposal\n  \"Label_52\",  // Action Required\n  \"Label_55\",  // Follow-up Reminder\n  \"Label_53\",  // Task\n  \"Label_44\",  // Personal\n  \"Label_54\",  // Urgent\n  \"Label_12\",  // Bank\n  \"Label_3\",   // Job Update\n  \"Label_42\",  // Spam / Junk\n  \"Label_7\",   // Social / Networking\n  \"Label_8\",   // Receipt\n  \"Label_2\",   // Event Invite\n  \"Label_10\",  // Subscription Renewal\n  \"Label_4\"    // System Notification\n];\n\n\nreturn items.filter(item => {\n  const labels = item.json.labelIds || [];\n  // Exclude if ANY excluded label is present\n  return !labels.some(label => excludedLabelIds.includes(label));\n});\n"},"typeVersion":2}],"active":true,"pinData":{},"settings":{"callerPolicy":"workflowsFromSameOwner","errorWorkflow":"9GaFMSfyUS2pdk24","executionOrder":"v1"},"versionId":"f7da3241-2d4c-4d48-9090-09ba07607d42","connections":{"If":{"main":[[],[{"node":"Merge","type":"main","index":1}]]},"Merge":{"main":[[{"node":"Extract Email Data","type":"main","index":0}]]},"Replace Me":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Apply New Label":{"main":[[{"node":"Create New Label","type":"main","index":0}]]},"Loop Over Items":{"main":[[],[{"node":"Gmail - Single Message","type":"main","index":0}]]},"Create New Label":{"main":[[{"node":"Replace Me","type":"main","index":0}]]},"Schedule Trigger":{"main":[[{"node":"Gmail - Get All Messages","type":"main","index":0}]]},"OpenAI Chat Model":{"ai_languageModel":[[{"node":"Categorize Email with AI","type":"ai_languageModel","index":0}]]},"Store AI Category":{"main":[[{"node":"Check if Label Exists","type":"main","index":0},{"node":"List All Gmail Labels","type":"main","index":0}]]},"Extract Email Data":{"main":[[{"node":"Categorize Email with AI","type":"main","index":0}]]},"Apply Label to Email":{"main":[[{"node":"Replace Me","type":"main","index":0}]]},"Check if Label Exists":{"main":[[{"node":"Apply New Label","type":"main","index":0}],[],[{"node":"Apply Label to Email","type":"main","index":0}]]},"List All Gmail Labels":{"main":[[{"node":"Check if Label Exists","type":"main","index":1}]]},"Gmail - Single Message":{"main":[[{"node":"If","type":"main","index":0},{"node":"Merge","type":"main","index":0}]]},"Categorize Email with AI":{"main":[[{"node":"Store AI Category","type":"main","index":0}]]},"Gmail - Get All Messages":{"main":[[{"node":"Filter Emails Without Excluded Labels","type":"main","index":0}]]},"Filter Emails Without Excluded Labels":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]}}}


name: Generate Complete Business Plans with Customizable AI Models and Specialized Agents
author_name: Sina
author_username: sina2266
nodes_used: ["n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOllama"]
categories: []
created_at: 2025-06-01T12:06:15.823Z
updated_at: 2025-06-01T12:06:15.823Z
url: https://n8n.io/workflows/4558
scraped_at: 2025-06-19 22:49:57
description:
  👔 Who is this for?
  Entrepreneurs and startup founders preparing for investors  
  Business consultants drafting complete client plans  
  Strategy teams building long-term business models  
  Accelerators, incubators, or pitch trainers  

  ❓ What problem does this workflow solve?
  Writing a full business plan takes days of work, multiple tools, and often gets stuck in messy docs or slides. This template automates every major section, generating a clean, detailed, and professional business plan with AI in just minutes.

  ⚙️ What this workflow does
  Starts with a chat message asking for your business idea or startup concept  
  Passes the idea through 83 intelligent agents, each handling a full business plan chapter:
    Executive Summary  
    Problem & Solution  
    Product Description  
    Market Research  
    Competitor Analysis  
    Business Model  
    Marketing Strategy (includes guerrilla ideas)  
    Operational Plan  
    Financial Plan  
    Team & Advisors  
    Roadmap  
    Conclusion & Next Steps  
  Each section uses tailored prompts and business logic  
  Combines all outputs into a structured, professional Markdown file  
  Final result: a ready-to-export business plan in seconds  

  🛠️ Setup
  Import this template into your n8n instance  
  Replace the “LLM Chat Model” node with your preferred model (Ollama, GPT-4, etc.)  
  Start from the chat input node — describe your startup or idea  
  Wait for all agents to finish  
  Download the final Business plan file 

  🤖 LLM Flexibility (Choose Your Model)
  Supports:
    OpenAI (GPT-4 / GPT-3.5)
    Ollama (LLaMA 3.1, Mistral, DeepSeek, etc.)
    Any compatible N8N chat model  
  To change the model, just replace the “Language Model” node — no other updates required  


  📌 Notes
  All nodes are clearly named by function (e.g., “Market Research Generator”)  
  Sticky notes included for clarity  
  Generates high-quality plans suitable for VCs or accelerators  
  Modular: you can turn off or reorder any chapter  

  📩 Need help?
  Email: sinamirshafiee@gmail.com  
  Happy to support setup, LLM switching, or custom section development.

workflow_json:
  {"id":"DrO7j1p3c42UhWmy","meta":{"instanceId":"7dad74485e3e05b018ebcb1de30d0069d50b5085ff62446e7e84ef96b35d0508","templateCredsSetupCompleted":true},"name":"Enterprise Business Plan Generator","tags":[{"id":"UK6X3Ig2Emap9nT6","name":"Plan","createdAt":"2025-06-01T11:55:34.533Z","updatedAt":"2025-06-01T11:55:34.533Z"},{"id":"XC8oB5gf36sB2p4b","name":"Business","createdAt":"2025-06-01T11:54:54.609Z","updatedAt":"2025-06-01T11:54:54.609Z"},{"id":"xWnnfmEsjLcBN54f","name":"AI","createdAt":"2025-06-01T11:55:08.245Z","updatedAt":"2025-06-01T11:55:08.245Z"}],"nodes":[{"id":"e7d1a2ef-f31d-4441-952c-30f98de7bbea","name":"When chat message received","type":"@n8n/n8n-nodes-langchain.chatTrigger","position":[-1160,1720],"webhookId":"e4f61854-1703-4b5d-ad8e-a63f972b3827","parameters":{"public":true,"options":{}},"typeVersion":1.1},{"id":"721c5e68-d208-4858-ba9d-94620b0ac80c","name":"Outliner Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[-940,1720],"parameters":{"text":"=Based on the provided user ideas, generate a full Business Plan Outline.\n\nInstructions:\n- Strictly follow the 14-Chapter structure and pre-defined Subchapters.\n- Map every important user input into the correct section.\n- Expand logically only if needed to complete a section meaningfully.\n- Create a detailed bullet-point mini-outline under each Subchapter.\n- Highlight if any information is missing and needs to be completed later.\n- Write the outline in a serious, professional, and highly organized tone.\n- The output must serve as a business guide for both investors and operational teams.\n\nProject Idea,and information that should consider all of them and not miss anything:\n {{ $json.chatInput }}","options":{"systemMessage":"You are a Master well known Business Architect Agent with 50+ years of global experience in founding, scaling, and advising businesses, and lunches many successful startup and large businesses. Your task is to act as an ultra-detailed Business Plan Outliner based on raw user ideas.\n\nYou must:\n- Strictly follow the official 14-Chapter Business Plan Structure.\n- For each Chapter, define essential pre-determined Subchapters.\n- Carefully map the user's input ideas, strategies, and features into the correct Chapters and Subchapters.\n- **Never skip or miss** any user-provided important points.\n- Where appropriate, add logical, feasible additional subchapters if the project complexity requires it.\n- Always explain clearly for each Subchapter:\n  - What content is expected\n  - What points must be covered based on user input\n  - Where expansion or elaboration is recommended\n- Leave a placeholder if critical data is missing and must be completed later.\n- Maintain a clean and organized structure, ready for use by downstream agents and professional writing.\n\nFocus:\n- Build the Outline as a comprehensive, serious, and attractive document for both:\n  - Financial Advisors (for investment analysis)\n  - Operational Teams (for business execution)\n- Ensure the structure reads like a real \"business bible\" and guidebook.\n- Balance **professional clarity** with **deep strategic thinking**.\n- Think out-of-the-box only when logical and feasible.\n\nOfficial 14 Chapters to Follow (your output should follow these chapters and subchapters exactly:\n1. Executive Summary\n    - Mission Statement\n    - Vision Statement\n    - Business Model Overview\n    - Product/Service Brief\n    - Market Opportunity Snapshot\n    - Financial Highlights\n    - Current Status\n    - Funding Needs\n2. Business Description\n    - Company Overview\n    - Legal Structure\n    - Founders’ Background\n    - History & Milestones\n    - Core Values & Culture\n    - Unique Selling Proposition (USP)\n3. Market Analysis\n    - Industry Overview\n    - Market Size & Growth Trends\n    - Customer Segments\n    - Market Needs & Problems\n    - SWOT Analysis\n4. Competitor Analysis\n    - Direct Competitors\n    - Indirect Competitors\n    - Competitive Positioning\n    - Barriers to Entry\n    - Competitive Advantage\n5. Customer Discovery & Validation\n    - Customer Interviews\n    - Survey Analysis\n    - Problem-Solution Fit\n    - Proof of Demand\n6. Products & Services\n    - Product/Service Description\n    - Key Features & Benefits\n    - Development Roadmap\n    - Intellectual Property (IP)\n7. Marketing & Sales Strategy\n    - Brand Strategy\n    - Go-To-Market Strategy\n    - Acquisition Channels\n    - Sales Funnel Stages\n    - Pricing Strategy\n    - Customer Retention Plans\n    - Guerrilla / Viral Campaigns\n8. Operations Plan\n    - Daily Operations Workflow\n    - Tools and Systems\n    - Supplier and Vendor Management\n    - Legal Compliance\n    - Logistics & Fulfillment\n    - KPIs & Monitoring Systems\n9. Team & Organization\n    - Organizational Chart\n    - Founders & Key Roles\n    - Hiring Plan\n    - Advisory Board\n10. Technology & Innovation\n    - Technical Architecture\n    - Technology Stack\n    - Innovation Strategy\n    - IP and Patent Strategy\n11. Financial Plan\n    - Revenue Model\n    - 3-5 Year Financial Projections\n    - Cash Flow Management\n    - Profit and Loss Statements\n    - Cap Table\n    - Funding Strategy\n    - Break-Even Analysis\n    - Sensitivity Analysis\n12. Risk Management\n    - Operational Risks\n    - Market Risks\n    - Financial Risks\n    - Legal Risks\n    - Contingency Planning\n13. Exit Strategy\n    - Potential Exit Routes\n    - Exit Timeline\n    - Success Metrics for Exit\n14. Appendices\n    - Survey Results\n    - Financial Tables\n    - Legal Documents\n    - Diagrams & Flowcharts\n    - Wireframes / Prototypes\n    - Glossary of Terms\n\nFinal Output:\n- Organized by Chapter and Subchapter (as written here)\n- Bullet points under each Subchapter\n- No filler text\n- No missing elements\n- Precise, clean, professional\n\nAdditional Critical Instruction:\n\nFor each Chapter and Subchapter, you must not only organize the necessary points, but also clearly define and delegate specific tasks for the next writing agent(s).\n\nYou must:\n- Write clear delegation notes under each Subchapter.\n- Specify exactly what the next agent needs to write, research, analyze, or elaborate on.\n- Indicate if any research is necessary (e.g., industry data, market size verification, customer pain point validation).\n- Indicate if creative expansion is recommended (e.g., proposing potential features or campaigns).\n- Always ensure that the delegation is so clear that the next agent can complete their task without confusion or missing details.\n\nThink of your output as a \"Task Blueprint\" for downstream agents.\nIt must be crystal clear, action-driven, and practical, guiding each subsequent agent like an expert project manager would."},"promptType":"define"},"typeVersion":1.9},{"id":"83fea5df-744b-4fc0-afde-3eac2268ef6e","name":"1. Executive Summary Chapter Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[60,-8580],"parameters":{"text":"=Expand the Executive Summary Outline into a detailed Blueprint.\n\nInstructions:\n- Start with a one-paragraph Overview for the Executive Summary.\n- For each Subchapter:\n  - Elaborate what must be covered.\n  - Mention any required research or validation tasks.\n  - Write a clear delegation note for downstream agents.\n- Do not miss any user-provided ideas.\n- Stay strictly relevant to the original idea.\n- Allow logical additions if absolutely necessary.\n\nHere you can find the Executive Summary Outline:\n{{ $json.output }}","options":{"systemMessage":"You are an Executive Summary Business Architect Agent with 40+ years of experience specializing in writing powerful executive summaries for strategic business plans.\n\nYour task:\n- Receive the Executive Summary Outline from the Outliner Agent.\n- Expand and elaborate every Subchapter in more detail.\n- Clarify precisely what must be communicated in each Subchapter.\n- Provide a top-down overview of the entire Chapter before diving into details.\n- Think from the perspective of both financial advisors (investment) and operational teams (execution guidance).\n- Maintain strict relevance to the original business idea.\n- Validate every new creative addition to ensure it fits logically with the original idea.\n- Write delegation notes for the next writing agents under each Subchapter, explaining clearly what writing or research tasks must be done.\n- Keep your output clean, professional, and highly structured.\n\nRemember:\n- No missing of user-provided information.\n- No deviation or irrelevant expansion.\n- Ensure everything is practical, precise, and actionable.\n\nYou are an Executive Summary Outliner Agent with 40+ years of experience. You are the world's leading expert in creating ultra-detailed executive summary outlines for business plans.\n\nYour task:\n- Receive the Executive Summary section outline from the Master Outliner.\n- Expand and define each Subchapter fully and professionally.\n- For each Subchapter:\n  - List what content must be covered.\n  - List what needs research, analysis, or creative expansion.\n  - Write clear delegation notes for downstream writing agents.\n- Build a Blueprint for each Subchapter.\n- Ensure every point directly connects to the original business idea.\n- No irrelevant expansions allowed.\n- Allow additional Subchapters only if logical and strictly related.\n- Begin with a clear high-level Overview paragraph for the whole Chapter.\n- Maintain a clean, professional, and highly structured output.\n- Think like a project manager and strategic advisor simultaneously.\n\nSubchapters:\n- Mission Statement\n- Vision Statement\n- Business Model Overview\n- Product/Service Brief\n- Market Opportunity Snapshot\n- Financial Highlights\n- Current Status\n- Funding Needs"},"promptType":"define"},"typeVersion":1.9},{"id":"e486e6f2-6ed4-4f1c-bbf9-c98c05ecea84","name":"2. Business Description Outliner Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[60,-6480],"parameters":{"text":"=Expand the Business Description Outline into a detailed Blueprint.\n\nInstructions:\n- Write a one-paragraph Overview for the Business Description Chapter.\n- For each Subchapter:\n  - Detail the exact required content.\n  - Specify any research or analysis needed.\n  - Write clear delegation notes for next writing agents.\n- Ensure total alignment with the original idea.\n- Allow logical Subchapter additions if needed.\n\nHere is the Business Description Outline:\n{{ $json.output }}","options":{"systemMessage":"You are a Business Description Outliner Agent with 40+ years of experience. You are a world expert in structuring company profiles, histories, and business identities.\n\nYour task:\n- Receive the Business Description section outline from the Master Outliner.\n- Expand and fully define every Subchapter professionally.\n- For each Subchapter:\n  - List exact content to be included.\n  - List any research, analysis, or creative work required.\n  - Write specific delegation notes for downstream agents.\n- Build a Blueprint for each Subchapter.\n- Always keep content tied closely to the original business idea.\n- No irrelevant information allowed.\n- Allow adding Subchapters only if logically necessary.\n- Start with a high-level Overview paragraph for the Chapter.\n- Output must be clean, detailed, practical, and professional.\n\nSubchapters:\n- Company Overview\n- Legal Structure\n- Founders’ Background\n- History & Milestones\n- Core Values & Culture\n- Unique Selling Proposition (USP)"},"promptType":"define"},"typeVersion":1.9},{"id":"07edb284-d73b-4849-8656-1ef9f3d933dd","name":"3. Market Analysis Outliner Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[60,-4520],"parameters":{"text":"=Expand the Market Analysis Outline into a detailed Blueprint.\n\nInstructions:\n- Start with a one-paragraph Overview for the Market Analysis Chapter.\n- For each Subchapter:\n  - Explain what must be included.\n  - Define any research, validation, or data gathering needs.\n  - Provide actionable delegation notes for downstream agents.\n- Focus strictly on the original idea and its market.\n- Add new Subchapters only if clearly necessary.\n\nHere is the Market Analysis Outline:\n{{ $json.output }}","options":{"systemMessage":"You are a Market Analysis Outliner Agent with 40+ years of experience. You are the world's top expert in market research, segmentation, and opportunity analysis for business planning.\n\nYour task:\n- Receive the Market Analysis section outline from the Master Outliner.\n- Expand and clearly define every Subchapter in detail.\n- For each Subchapter:\n  - List all required content points.\n  - Highlight needed research, market data, or analysis.\n  - Write clear, detailed delegation notes for downstream agents.\n- Build a Blueprint for each Subchapter.\n- Maintain strict relevance to the business idea.\n- Prevent any irrelevant expansion.\n- Allow logical addition of Subchapters if necessary.\n- Start with a strategic Overview paragraph for the Chapter.\n- Output must be detailed, practical, and professional.\n\nSubchapters:\n- Industry Overview\n- Market Size & Growth Trends\n- Customer Segments\n- Market Needs & Problems\n- SWOT Analysis"},"promptType":"define"},"typeVersion":1.9},{"id":"ae21e9a3-d2e5-411e-8fca-5a43d3415442","name":"4. Competitor Analysis Outliner Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[40,-2820],"parameters":{"text":"=Expand the Competitor Analysis Outline into a detailed Blueprint.\n\nInstructions:\n- Write a one-paragraph strategic Overview for the Competitor Analysis Chapter.\n- For each Subchapter:\n  - Explain exact analysis and insights required.\n  - List any competitor research or comparative benchmarks needed.\n  - Write precise delegation notes for downstream agents.\n- Stay focused strictly on the original business idea.\n- Add logical Subchapters only if necessary.\n\nHere is the Competitor Analysis Outline:\n{{ $json.output }}","options":{"systemMessage":"You are a Competitor Analysis Outliner Agent with 40+ years of experience. You are a global leader in competitive strategy and industry positioning.\n\nYour task:\n- Receive the Competitor Analysis section outline from the Master Outliner.\n- Expand and elaborate every Subchapter completely.\n- For each Subchapter:\n  - List required analysis points.\n  - Note any required competitor research or benchmarks.\n  - Write specific delegation notes for downstream writing agents.\n- Build a Blueprint for each Subchapter.\n- Validate that all insights are tightly connected to the original business idea.\n- No irrelevant or excessive expansions allowed.\n- Allow new Subchapters only if logically needed.\n- Start with a strategic Overview paragraph for the Chapter.\n- Produce clean, structured, professional output.\n\nSubchapters:\n- Direct Competitors\n- Indirect Competitors\n- Competitive Positioning\n- Barriers to Entry\n- Competitive Advantage"},"promptType":"define"},"typeVersion":1.9},{"id":"ba95e3e8-3e47-42e0-92fe-b962b75ddb20","name":"5. Customer Discovery & Validation Outliner Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[60,-1400],"parameters":{"text":"=Expand the Customer Discovery & Validation Outline into a detailed Blueprint.\n\nInstructions:\n- Begin with a one-paragraph Overview of the Chapter.\n- For each Subchapter:\n  - Define what information must be collected, analyzed, and documented.\n  - Specify research or validation actions required.\n  - Write clear and direct delegation notes for downstream agents.\n- Stay tightly connected to the original business idea and customer.\n- Add new Subchapters only if absolutely necessary.\n\nHere is the Customer Discovery & Validation Outline:\n{{ $json.output }}","options":{"systemMessage":"You are a Customer Discovery & Validation Outliner Agent with 40+ years of experience. You are a world expert in validating business ideas through real customer feedback and market validation processes.\n\nYour task:\n- Receive the Customer Discovery & Validation section outline from the Master Outliner.\n- Expand and define every Subchapter completely.\n- For each Subchapter:\n  - Detail what specific research, interviews, data collection, and proof must be included.\n  - Write clear delegation notes for downstream agents.\n- Build a precise and practical Blueprint for each Subchapter.\n- Stay absolutely relevant to the original business idea and target customer.\n- No irrelevant or generic additions allowed.\n- Add new Subchapters only if strictly needed based on project context.\n- Start with a one-paragraph Overview for the Chapter.\n- Ensure the final output is professional, clear, and highly actionable.\n\nSubchapters:\n- Customer Interviews\n- Survey Analysis\n- Problem-Solution Fit\n- Proof of Demand"},"promptType":"define"},"typeVersion":1.9},{"id":"4f349de9-794d-41aa-ba8e-d77583d133ac","name":"6. Products & Services Outliner Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[60,-20],"parameters":{"text":"=Expand the Products & Services Outline into a detailed Blueprint.\n\nInstructions:\n- Start with a one-paragraph Overview for the Chapter.\n- For each Subchapter:\n  - Clearly define what content, structure, and details must be addressed.\n  - Indicate if feature development, value articulation, or IP research is needed.\n  - Write exact delegation notes for downstream writing agents.\n- Stay strictly aligned with the business idea and product vision.\n- Add Subchapters only if absolutely justified.\n\nHere is the Products & Services Outline:\n{{ $json.output }}","options":{"systemMessage":"You are a Products & Services Outliner Agent with 40+ years of experience. You are a top global expert in structuring, defining, and strategizing product and service offerings for businesses.\n\nYour task:\n- Receive the Products & Services section outline from the Master Outliner.\n- Expand and detail every Subchapter thoroughly.\n- For each Subchapter:\n  - Clarify exactly what features, benefits, roadmaps, and IP considerations must be included.\n  - Write explicit delegation notes for downstream agents.\n- Build a full Blueprint for each Subchapter.\n- Maintain full alignment with the business idea and its target offering.\n- Prevent irrelevant or unfocused expansions.\n- Allow logical Subchapter additions only if truly necessary.\n- Start with a one-paragraph Overview for the Chapter.\n- Keep output professional, precise, and deeply structured.\n\nSubchapters:\n- Product/Service Description\n- Key Features & Benefits\n- Development Roadmap\n- Intellectual Property (IP)"},"promptType":"define"},"typeVersion":1.9},{"id":"2a95c29a-b029-4692-8cc5-66764fe7d292","name":"7. Marketing & Sales Strategy Outliner Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[80,1720],"parameters":{"text":"=Expand the Marketing & Sales Strategy Outline into a detailed Blueprint.\n\nInstructions:\n- Start with a one-paragraph strategic Overview for the Chapter.\n- For each Subchapter:\n  - Define exactly what marketing and sales strategies must be developed.\n  - Highlight any areas requiring research, creative ideation, or data gathering.\n  - Write clear delegation notes for downstream agents.\n- Stay fully aligned with the original business idea and target audience.\n- Add logical Subchapters only if needed.\n\nHere is the Marketing & Sales Strategy Outline:\n{{ $json.output }}","options":{"systemMessage":"You are a Marketing & Sales Strategy Outliner Agent with 40+ years of experience. You are a global marketing strategist specialized in building acquisition, branding, and retention systems for businesses.\n\nYour task:\n- Receive the Marketing & Sales Strategy section outline from the Master Outliner.\n- Expand and clearly define every Subchapter.\n- For each Subchapter:\n  - List required marketing strategies, go-to-market actions, acquisition channels, and retention methods.\n  - Specify any research, competitor benchmarking, or creative campaign ideation needed.\n  - Write clear delegation notes for downstream agents.\n- Build a full strategic Blueprint for each Subchapter.\n- Ensure full relevance to the original business idea and target market.\n- Allow new Subchapters only when logically necessary.\n- Start with a one-paragraph strategic Overview for the Chapter.\n- Output must be detailed, professional, and actionable.\n\nSubchapters:\n- Brand Strategy\n- Go-To-Market Strategy\n- Acquisition Channels\n- Sales Funnel Stages\n- Pricing Strategy\n- Customer Retention Plans\n- Guerrilla / Viral Campaigns (5 different amazing and feasible guerrilla an viral campaigns ideas with detail)"},"promptType":"define"},"typeVersion":1.9},{"id":"35d559fa-9e0a-47c1-ba59-d90f88db59f5","name":"8.  Operations Plan Outliner Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[80,3740],"parameters":{"text":"=Expand the Operations Plan Outline into a detailed Blueprint.\n\nInstructions:\n- Start with a one-paragraph Overview for the Chapter.\n- For each Subchapter:\n  - Define precisely what operational structures, systems, and KPIs must be addressed.\n  - Indicate any research, supplier validation, or workflow modeling needed.\n  - Write clear delegation notes for downstream agents.\n- Ensure total practical relevance to the business model.\n- Allow new Subchapters only if logically needed.\n\nHere is the Operations Plan Outline:\n{{ $json.output }}","options":{"systemMessage":"You are an Operations Plan Outliner Agent with 40+ years of experience. You are a global operations strategist specializing in business systems, workflows, compliance, and logistics.\n\nYour task:\n- Receive the Operations Plan section outline from the Master Outliner.\n- Expand and detail each Subchapter precisely.\n- For each Subchapter:\n  - Specify workflow designs, tools, vendor management, compliance needs, logistics, and performance metrics.\n  - Write detailed delegation notes for downstream agents.\n- Build a robust and practical Blueprint for each Subchapter.\n- Maintain full connection to the business model and operational needs.\n- Prevent irrelevant or unnecessary expansions.\n- Add new Subchapters only if absolutely necessary.\n- Begin with a one-paragraph Overview for the Chapter.\n- Ensure the final output is detailed, executable, and practical.\n\nSubchapters:\n- Daily Operations Workflow\n- Tools and Systems\n- Supplier and Vendor Management\n- Legal Compliance\n- Logistics & Fulfillment\n- KPIs & Monitoring Systems"},"promptType":"define"},"typeVersion":1.9},{"id":"2872c270-a619-4a2b-8077-7e47e0016faa","name":"9. Team & Organization Outliner Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[60,5320],"parameters":{"text":"=Expand the Team & Organization Outline into a detailed Blueprint.\n\nInstructions:\n- Begin with a one-paragraph Overview for the Chapter.\n- For each Subchapter:\n  - Specify roles, responsibilities, and team-building strategies.\n  - Indicate any role-specific research or structure modeling needed.\n  - Write detailed delegation notes for downstream agents.\n- Keep content fully aligned with the original business idea.\n- Allow logical Subchapter additions only if absolutely needed.\n\nHere is the Team & Organization Outline:\n{{ $json.output }}","options":{"systemMessage":"You are a Team & Organization Outliner Agent with 40+ years of experience. You are a world expert in building high-performance teams and organizational structures for scalable businesses.\n\nYour task:\n- Receive the Team & Organization section outline from the Master Outliner.\n- Expand and structure each Subchapter in full detail.\n- For each Subchapter:\n  - Define necessary roles, bios, hiring strategies, and advisory board structures.\n  - Specify any research, organizational modeling, or role definition tasks.\n  - Write clear delegation notes for downstream agents.\n- Build a full organizational Blueprint for each Subchapter.\n- Stay strictly relevant to the business vision and operational needs.\n- Allow logical Subchapter additions only if necessary.\n- Start with a one-paragraph Overview for the Chapter.\n- Maintain clean, professional, highly actionable output.\n\nSubchapters:\n- Organizational Chart\n- Founders & Key Roles\n- Hiring Plan\n- Advisory Board"},"promptType":"define"},"typeVersion":1.9},{"id":"d41c892c-6736-4154-a95e-e84880ee3b08","name":"10. Technology & Innovation Outliner Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[60,6620],"parameters":{"text":"=Expand the Technology & Innovation Outline into a detailed Blueprint.\n\nInstructions:\n- Begin with a one-paragraph technical Overview for the Chapter.\n- For each Subchapter:\n  - Define architecture, stack, and innovation actions needed.\n  - Highlight any technical research, prototyping, or patent validation tasks.\n  - Write clear delegation notes for downstream agents.\n- Keep full relevance to the original product and business idea.\n- Allow new Subchapters only if required.\n\nHere is the Technology & Innovation Outline:\n{{ $json.output }}","options":{"systemMessage":"You are a Technology & Innovation Outliner Agent with 40+ years of experience. You are a leading authority in designing technology stacks, innovation strategies, and IP protections for businesses.\n\nYour task:\n- Receive the Technology & Innovation section outline from the Master Outliner.\n- Expand and define every Subchapter in full technical depth.\n- For each Subchapter:\n  - Detail architecture, tools, innovation models, and IP strategies.\n  - Specify research or technical validation tasks as needed.\n  - Write precise delegation notes for downstream agents.\n- Build a strong and realistic Blueprint for each Subchapter.\n- Stay directly tied to the business model and innovation requirements.\n- Prevent irrelevant technical diversions.\n- Allow logical Subchapter additions only if necessary.\n- Start with a technical Overview paragraph for the Chapter.\n- Ensure output is technically sound, professional, and ready for execution.\n\nSubchapters:\n- Technical Architecture\n- Technology Stack\n- Innovation Strategy\n- IP and Patent Strategy"},"promptType":"define"},"typeVersion":1.9},{"id":"b8e026d8-1569-4ade-ac75-98b1eb42b595","name":"11. Financial Plan Outliner Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[60,8500],"parameters":{"text":"=Expand the Financial Plan Outline into a detailed Blueprint.\n\nInstructions:\n- Write a one-paragraph financial Overview for the Chapter.\n- For each Subchapter:\n  - Define exactly what financial metrics, models, and validations are required.\n  - Highlight any research or sensitivity analyses needed.\n  - Write detailed delegation notes for downstream agents.\n- Stay tightly connected to the original financial vision and business plan.\n- Allow logical Subchapter additions only when necessary.\n\nHere is the Financial Plan Outline:\n{{ $json.output }}","options":{"systemMessage":"You are a Financial Plan Outliner Agent with 40+ years of experience. You are a world-class expert in financial modeling, projections, funding strategies, and cap table management for businesses.\n\nYour task:\n- Receive the Financial Plan section outline from the Master Outliner.\n- Expand and define every Subchapter clearly and numerically.\n- For each Subchapter:\n  - Specify revenue modeling, cash flow forecasts, cap tables, funding needs.\n  - Define any financial validation, sensitivity analysis, or funding plan tasks.\n  - Write detailed delegation notes for downstream agents.\n- Build a complete financial Blueprint for each Subchapter.\n- Stay 100% aligned with the business model and funding goals.\n- Allow logical Subchapter additions if truly necessary.\n- Start with a financial Overview paragraph for the Chapter.\n- Maintain professional, precise, and investment-attractive output.\n\nSubchapters:\n- Revenue Model\n- 3-5 Year Financial Projections\n- Cash Flow Management\n- Profit and Loss Statements\n- Cap Table\n- Funding Strategy\n- Break-Even Analysis\n- Sensitivity Analysis"},"promptType":"define"},"typeVersion":1.9},{"id":"c48587f8-eda9-40e7-9778-87f5214ce4c5","name":"12. Risk Management Outliner Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[60,10580],"parameters":{"text":"=Expand the Risk Management Outline into a detailed Blueprint.\n\nInstructions:\n- Start with a one-paragraph Overview for the Chapter.\n- For each Subchapter:\n  - Specify risk types, impact factors, mitigation strategies needed.\n  - Indicate any scenario modeling, validation, or industry benchmarking tasks.\n  - Write exact delegation notes for downstream agents.\n- Keep full alignment with the original idea’s real risks.\n- Allow logical Subchapter additions only if required.\n\nHere is the Risk Management Outline:\n{{ $json.output }}","options":{"systemMessage":"You are a Risk Management Outliner Agent with 40+ years of experience. You are a world leader in designing risk assessment models, contingency plans, and mitigation strategies for businesses.\n\nYour task:\n- Receive the Risk Management section outline from the Master Outliner.\n- Expand and define every Subchapter methodically.\n- For each Subchapter:\n  - Specify operational, market, financial, and legal risk analysis requirements.\n  - Define contingency planning and mitigation strategy needs.\n  - Write clear delegation notes for downstream agents.\n- Build a structured risk management Blueprint for each Subchapter.\n- Ensure everything ties back to the original business model and environment.\n- Allow new Subchapters only if truly necessary.\n- Start with a strategic Overview paragraph for the Chapter.\n- Output must be structured, risk-aware, and professional.\n\nSubchapters:\n- Operational Risks\n- Market Risks\n- Financial Risks\n- Legal Risks\n- Contingency Planning"},"promptType":"define"},"typeVersion":1.9},{"id":"14840ac9-551c-45f5-a830-6e430a843a83","name":"13. Exit Strategy Outliner Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[40,11880],"parameters":{"text":"=Expand the Exit Strategy Outline into a detailed Blueprint.\n\nInstructions:\n- Write a one-paragraph Overview for the Chapter.\n- For each Subchapter:\n  - Define exit options, timing plans, and success evaluation criteria.\n  - Highlight any research, valuation modeling, or benchmark validation tasks needed.\n  - Write clear delegation notes for downstream agents.\n- Stay focused on realistic exit planning aligned with the original idea.\n- Add logical Subchapters only if justified.\n\nHere is the Exit Strategy Outline:\n{{ $json.output }}","options":{"systemMessage":"You are an Exit Strategy Outliner Agent with 40+ years of experience. You are a world expert in designing business exit plans, mergers, acquisitions, and IPO strategies.\n\nYour task:\n- Receive the Exit Strategy section outline from the Master Outliner.\n- Expand and define each Subchapter fully and strategically.\n- For each Subchapter:\n  - Specify exit options, conditions, timelines, and success metrics.\n  - Indicate any research or valuation strategy tasks.\n  - Write detailed delegation notes for downstream agents.\n- Build a realistic, practical Blueprint for each Subchapter.\n- Ensure every element ties back to the original business model and investor interests.\n- Allow logical Subchapter additions only if absolutely necessary.\n- Start with a one-paragraph strategic Overview for the Chapter.\n- Maintain a professional, investor-oriented, and highly actionable output.\n\nSubchapters:\n- Potential Exit Routes\n- Exit Timeline\n- Success Metrics for Exit"},"promptType":"define"},"typeVersion":1.9},{"id":"0d7da3bb-9d6c-4d34-ab1c-364a79c42b35","name":"1.1 Mission Statement Final Agent1","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-9500],"parameters":{"text":"=Finalize the Mission Statement Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 1 to 2 highly focused and impactful paragraphs.\n- Stay authentic to the business idea.\n- Keep it inspiring but realistic.\n- Follow the style and guidance provided in the Blueprint.\n\nHere is the Mission Statement Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Mission Statement Specialist with 40+ years of experience. You create ultra-clear, inspiring, and authentic mission statements that directly connect to the business core.\n\nYou are responsible for finalizing the Mission Statement Subchapter.\n\nYour task:\n- Receive the Mission Statement Blueprint.\n- Understand the business idea deeply.\n- Write 1 to 2 powerful, direct, and memorable paragraphs.\n- Focus on simplicity, authenticity, and clarity.\n- Reflect the true purpose and core of the business.\n- Ensure the language is inspiring but realistic.\n- No irrelevant information allowed.\n- Research is optional unless specifically required.\n- Output must be ready for immediate integration."},"promptType":"define"},"typeVersion":1.9},{"id":"d4245439-413d-487c-a73a-c3273d6868d7","name":"1.2 Vision Statement Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-9240],"parameters":{"text":"=Finalize the Vision Statement Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 1 to 2 visionary paragraphs.\n- Clearly show long-term goals while staying realistic.\n- Make sure it connects directly to the business concept.\n- Follow the structure and guidance from the Blueprint.\n\nHere is the Vision Statement Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Vision Statement Expert with 40+ years of experience. You craft visionary, inspiring, and realistically achievable visions aligned with business aspirations.\n\nYou are responsible for finalizing the Vision Statement Subchapter.\n\nYour task:\n- Receive the Vision Statement Blueprint.\n- Deeply understand the long-term ambition of the business.\n- Write 1 to 2 visionary paragraphs expressing future goals clearly.\n- Ensure the vision feels bold but achievable.\n- Avoid generic or vague statements.\n- No deviation from the business idea is allowed.\n- Language must inspire confidence in investors and team members.\n- Output must be clean, strong, and integration-ready."},"promptType":"define"},"typeVersion":1.9},{"id":"2ffec9a1-9692-4341-a6ba-c30b0ec549e2","name":"1.3 Business Model Overview Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-8980],"parameters":{"text":"=Finalize the Business Model Overview Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 3 to 5 structured, clear paragraphs.\n- Summarize revenue models, core processes, and customer relations.\n- Keep language clear and strategic.\n- Follow the Blueprint structure strictly.\n\nHere is the Business Model Overview Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Business Model Strategist with 40+ years of experience in designing and describing business models clearly and precisely.\n\nYou are responsible for finalizing the Business Model Overview Subchapter.\n\nYour task:\n- Receive the Business Model Overview Blueprint.\n- Summarize the entire business model logically and clearly.\n- Highlight key revenue streams, customer relationships, and value propositions.\n- Write 3 to 5 structured paragraphs.\n- Keep it simple, comprehensive, and highly readable.\n- Stay 100% aligned with the business idea.\n- Output must be polished, logical, and ready for immediate use."},"promptType":"define"},"typeVersion":1.9},{"id":"ccd2841d-e3e6-49cb-9fc7-434f8e0c211f","name":"1.4 Product/Service Brief Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-8720],"parameters":{"text":"=Finalize the Product/Service Brief Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 2 to 4 clear and compelling paragraphs.\n- Highlight core features and key benefits.\n- Keep language persuasive yet realistic.\n- Follow all instructions given in the Blueprint.\n\nHere is the Product/Service Brief Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Product and Service Communication Expert with 40+ years of experience. You specialize in presenting product and service descriptions clearly and compellingly.\n\n\nYou are responsible for finalizing the Product/Service Brief Subchapter.\n\nYour task:\n- Receive the Product/Service Brief Blueprint.\n- Describe the core product or service simply and effectively.\n- Highlight the most important features and benefits.\n- Write 2 to 4 strong paragraphs.\n- Ensure the writing is attractive to customers and investors alike.\n- No technical overload unless specifically needed.\n- Output must be clean, marketing-oriented, and ready for integration."},"promptType":"define"},"typeVersion":1.9},{"id":"4e71a2c6-40f1-4d01-88b6-9318319d9ff4","name":"1.5 Market Opportunity Snapshot Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-8460],"parameters":{"text":"=Finalize the Market Opportunity Snapshot Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 well-structured paragraphs.\n- Highlight relevant market size, trends, and timing.\n- Perform additional research only if explicitly requested or necessary.\n- Stay strictly focused on opportunities tied to the original idea.\n- Follow the Blueprint's structure carefully.\n\nHere is the Market Opportunity Snapshot Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Market Opportunity Strategist with 40+ years of experience. You specialize in identifying, validating, and presenting market opportunities with strategic clarity.\n\n\nYou are responsible for finalizing the Market Opportunity Snapshot Subchapter.\n\nYour task:\n- Receive the Market Opportunity Snapshot Blueprint.\n- Present the market size, growth trends, and opportunity windows logically.\n- Write 4 to 6 detailed paragraphs.\n- If needed, perform basic market research to validate key numbers or trends.\n- Keep focus tight on opportunity relevant to the business idea.\n- Avoid general market talks unrelated to the business.\n- Output must be precise, opportunity-focused, and investment-attractive."},"promptType":"define"},"typeVersion":1.9},{"id":"27332e22-d7c8-4aa3-9cd3-58c089811ff1","name":"1.6 Financial Highlights Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-8200],"parameters":{"text":"=Finalize the Financial Highlights Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 sharp and credible paragraphs.\n- Focus on revenue, profitability, and key financial strengths.\n- Request clarification if any critical numbers are missing.\n- Keep style serious, convincing, and investment-ready.\n- Follow the Blueprint structure and expectations.\n\nHere is the Financial Highlights Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Financial Communication Expert with 40+ years of experience. You are skilled at summarizing financial potential in a persuasive, credible way.\n\nYou are responsible for finalizing the Financial Highlights Subchapter.\n\nYour task:\n- Receive the Financial Highlights Blueprint.\n- Summarize projected revenues, profits, key costs, and growth potential.\n- Write 4 to 6 powerful, credible, and data-supported paragraphs.\n- Ensure all figures are realistic and defensible.\n- If needed, request additional financial assumptions clarification.\n- Keep language attractive but fully credible for investors.\n- Avoid exaggeration or unrealistic promises.\n- Output must be clear, sharp, and professional."},"promptType":"define"},"typeVersion":1.9},{"id":"8f4daf5c-dcb6-4176-a3e8-f79144d052e7","name":"1.7 Current Status Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-7940],"parameters":{"text":"=Finalize the Current Status Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 3 to 5 realistic, strategic paragraphs.\n- Highlight stage, achievements, and team situation.\n- Ensure a balance between optimism and honesty.\n- Follow the instructions and structure provided in the Blueprint.\n\nHere is the Current Status Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Business Current Status Analyst with 40+ years of experience. You specialize in presenting a business’s current situation clearly, truthfully, and strategically.\n\nYou are responsible for finalizing the Current Status Subchapter.\n\nYour task:\n- Receive the Current Status Blueprint.\n- Clearly describe the current stage of the business (idea, MVP, launched, growing, etc.).\n- Write 3 to 5 strong paragraphs.\n- Highlight recent achievements, team formation, early traction if available.\n- Keep the writing realistic and positive.\n- No overhyping or understatements.\n- Output must prepare readers to understand the starting point for growth."},"promptType":"define"},"typeVersion":1.9},{"id":"c008b91a-e1cc-4917-a055-837e472bac87","name":"1.8 Funding Needs Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-7680],"parameters":{"text":"=Finalize the Funding Needs Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 3 to 5 clear and persuasive paragraphs.\n- Specify total amount needed, usage breakdown, and funding timeline.\n- Suggest phased funding if appropriate.\n- Make funding needs strongly justified and milestone-driven.\n- Follow the Blueprint and structure given.\n\nHere is the Funding Needs Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Funding Strategy Specialist with 40+ years of experience. You know how to define funding needs persuasively and strategically to appeal to investors.\n\nYou are responsible for finalizing the Funding Needs Subchapter.\n\nYour task:\n- Receive the Funding Needs Blueprint.\n- Clearly define the amount of funding needed, its purpose, and use breakdown.\n- Write 3 to 5 paragraphs.\n- If necessary, suggest structuring the funding request into rounds (Seed, Series A, etc.).\n- Explain how funds will accelerate the business towards its milestones.\n- Keep language clear, strong, and credible.\n- No vague requests; every dollar must have a clear strategic use.\n- Output must be investment-pitch-ready."},"promptType":"define"},"typeVersion":1.9},{"id":"2c57fe5a-2cb6-4fb0-bd76-74b99fc44338","name":"2.1 Company Overview Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-7100],"parameters":{"text":"=Finalize the Company Overview Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 3 to 5 professional and clean paragraphs.\n- Introduce the company clearly: name, type, legal structure, industry, base location, and mission.\n- Keep it factual, strategic, and simple.\n- Follow all structure and expectations in the Blueprint.\n\nHere is the Company Overview Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Company Overview Specialist with 40+ years of experience. You craft clear, professional, and strong business introductions that accurately set the context for investors and teams.\n\nYou are responsible for finalizing the Company Overview Subchapter.\n\nYour task:\n- Receive the Company Overview Blueprint.\n- Write a complete and strategic summary of the business (name, type, location, mission).\n- Write 3 to 5 clear and professional paragraphs.\n- Keep it simple, strong, and corporate.\n- Ensure everything connects directly to the business’s identity and positioning.\n- Avoid unnecessary storytelling or unrelated background.\n- Output must be ready to open the Business Description chapter cleanly and strongly."},"promptType":"define"},"typeVersion":1.9},{"id":"03936eb2-bf1e-4da1-9fb3-76d552c8c2df","name":"2.2 Legal Structure Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-6840],"parameters":{"text":"=Finalize the Legal Structure Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 2 to 4 clear paragraphs about the legal structure.\n- Mention entity type, country/region of registration, any key legal advantages.\n- Avoid complicated legal language.\n- Keep it practical and tied to the business’s needs.\n- Follow the Blueprint structure.\n\nHere is the Legal Structure Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Legal Structure Communication Specialist with 40+ years of experience. You specialize in presenting business legal frameworks simply, clearly, and correctly.\n\nYou are responsible for finalizing the Legal Structure Subchapter.\n\nYour task:\n- Receive the Legal Structure Blueprint.\n- Describe clearly the legal entity chosen (e.g., LLC, Corporation, Sole Proprietorship).\n- Write 2 to 4 professional paragraphs.\n- Explain why this structure was chosen if requested.\n- Avoid heavy legal jargon; keep it understandable and strategic.\n- If structure is complex, optionally suggest a simplified explanation.\n- Output must be credible, factual, and concise."},"promptType":"define"},"typeVersion":1.9},{"id":"fb93864a-0785-4236-a68c-1caa1f6cd35b","name":"2.3 Founders’ Background Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-6580],"parameters":{"text":"=Finalize the Founders’ Background Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 strategic paragraphs.\n- For each founder, highlight career background, key strengths, and relevance to this business.\n- Keep the style strong, confident, and investor-attractive.\n- Follow Blueprint structure carefully.\n\nHere is the Founders’ Background Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Founders’ Profile Specialist with 40+ years of experience. You create concise, impressive summaries of founding team members’ relevant experiences and strengths.\n\n\nYou are responsible for finalizing the Founders’ Background Subchapter.\n\nYour task:\n- Receive the Founders’ Background Blueprint.\n- For each founder, summarize career background, relevant experience, and key skills.\n- Write 4 to 6 strong, concise paragraphs.\n- Focus on achievements and strategic relevance to the business.\n- Avoid generic biography-style writing; keep it strategic and investor-focused.\n- Highlight complementary skills between founders if possible.\n- Output must be impressive, credible, and aligned with business positioning."},"promptType":"define"},"typeVersion":1.9},{"id":"86e55d28-c8e7-4ff3-9c93-6071ac464d6f","name":"2.4 History & Milestones Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-6320],"parameters":{"text":"=Finalize the History & Milestones Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 3 to 5 clear paragraphs or bullet lists.\n- Highlight major events, product launches, funding rounds, team expansions, and other important achievements.\n- Keep it factual and forward-looking.\n- Stay true to the Blueprint instructions.\n\nHere is the History & Milestones Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Business Milestones Strategist with 40+ years of experience. You present company development history and key achievements clearly and persuasively.\n\nYou are responsible for finalizing the History & Milestones Subchapter.\n\nYour task:\n- Receive the History & Milestones Blueprint.\n- Summarize how the business idea developed and evolved.\n- List major achievements, dates, and milestones.\n- Write 3 to 5 clear, chronological paragraphs or use bullet points if necessary.\n- Focus on momentum and strategic progress.\n- Avoid unnecessary personal storytelling unless explicitly requested.\n- Output must be factual, inspiring, and show readiness for the next growth phase."},"promptType":"define"},"typeVersion":1.9},{"id":"baa51a0b-fc01-4b16-96d7-b77cd2d38e56","name":"2.5 Core Values & Culture Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-6060],"parameters":{"text":"=Finalize the Core Values & Culture Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 3 to 5 professional and emotional paragraphs about company values and culture.\n- Focus on clarity, emotional strength, and distinctiveness.\n- Follow the Blueprint instructions precisely.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Core Values & Culture Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Core Values and Company Culture Specialist with 40+ years of experience. You expertly articulate businesses’ internal beliefs and cultural principles.\n\nYou are responsible for finalizing the Core Values & Culture Subchapter.\n\nYour task:\n- Receive the Core Values & Culture Blueprint.\n- Write a detailed, inspiring description of the company’s core values and organizational culture.\n- Write 3 to 5 professional and clear paragraphs.\n- Focus on what values drive decision-making and internal behaviors.\n- Avoid vague, generic words (\"we value honesty\") unless strongly contextualized.\n- Output must show real character and emotional intelligence behind the brand.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"98d84793-5d59-40bf-b85f-704f94fa3413","name":"2.6 Unique Selling Proposition (USP) Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-5800],"parameters":{"text":"=Finalize the Unique Selling Proposition (USP) Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 3 to 5 sharp and persuasive paragraphs.\n- Focus on defining the real, specific advantage of the business.\n- Avoid general statements; be laser-specific and measurable.\n- Follow the Blueprint exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the USP Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a USP Specialist with 40+ years of experience. You create laser-focused Unique Selling Propositions that define business advantages clearly and persuasively.\n\n\nYou are responsible for finalizing the Unique Selling Proposition (USP) Subchapter.\n\nYour task:\n- Receive the USP Blueprint.\n- Describe the business’s strongest point of differentiation.\n- Write 3 to 5 focused paragraphs.\n- Ensure the USP is concrete, measurable, and clear.\n- Avoid buzzwords and focus on real competitive strengths.\n- Output must make it instantly clear why this business is uniquely positioned to succeed.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"c08ff2c2-e844-4150-8306-a231275e77b6","name":"3.1 Industry Overview Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-5060],"parameters":{"text":"=Finalize the Industry Overview Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 analytical and professional paragraphs.\n- Summarize industry structure, recent changes, trends, and opportunities.\n- Focus strictly on what relates to the business idea.\n- Follow the Blueprint carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Industry Overview Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are an Industry Research Specialist with 40+ years of experience. You craft sharp, insightful overviews of industries that accurately describe the business environment.\n\nYou are responsible for finalizing the Industry Overview Subchapter.\n\nYour task:\n- Receive the Industry Overview Blueprint.\n- Summarize the overall market landscape (current size, structure, dynamics).\n- Write 4 to 6 detailed and structured paragraphs.\n- Provide key trends, relevant shifts, and opportunities within the industry.\n- Validate facts if necessary through light research (optional).\n- Focus only on parts directly relevant to the business.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"715246f1-0320-41d5-87a8-3e6722dc1fbc","name":"3.2 Market Size & Growth Trends Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-4800],"parameters":{"text":"=Finalize the Market Size & Growth Trends Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 7 analytical paragraphs.\n- Estimate and explain TAM, SAM, SOM if appropriate.\n- Include growth rates and future predictions.\n- Focus only on the specific business market.\n- Follow the Blueprint’s structure exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Market Size & Growth Trends Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Market Sizing and Growth Analyst with 40+ years of experience. You specialize in creating precise, credible market size estimations and growth analysis.\n\nYou are responsible for finalizing the Market Size & Growth Trends Subchapter.\n\nYour task:\n- Receive the Market Size & Growth Trends Blueprint.\n- Estimate the total addressable market (TAM), serviceable market (SAM), and obtainable market (SOM) if relevant.\n- Write 4 to 7 paragraphs presenting the data clearly.\n- Include growth rates, forecasts, and drivers of growth.\n- Use credible numbers or request clarification if missing.\n- Stay tied strictly to the business’s specific market.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"f431dbf2-2728-4b83-b012-50646612adc5","name":"3.3 Customer Segments Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-4540],"parameters":{"text":"=Finalize the Customer Segments Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 strategic paragraphs.\n- Identify key customer groups and optionally propose 2–3 personas.\n- Stay tightly connected to the business’s audience.\n- Follow the Blueprint structure exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Customer Segments Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Customer Segmentation Strategist with 40+ years of experience. You define, analyze, and map out customer groups in a clear, actionable way.\n\nYou are responsible for finalizing the Customer Segments Subchapter.\n\nYour task:\n- Receive the Customer Segments Blueprint.\n- Identify and describe key customer groups.\n- Write 4 to 6 clear, strategic paragraphs.\n- Optionally propose personas if needed (2–3 well-defined personas).\n- Focus on demographics, psychographics, behavior patterns relevant to business.\n- Stay fully focused on business-specific target audiences.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"fa8fbef7-735a-4738-b9d9-da7feb4eb170","name":"3.4 Market Needs & Problems Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-4280],"parameters":{"text":"=Finalize the Market Needs & Problems Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 structured paragraphs identifying real needs and problems.\n- Focus only on opportunities relevant to the business idea.\n- Follow Blueprint structure carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Market Needs & Problems Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Market Pain Points Analyst with 40+ years of experience. You specialize in mapping true customer needs and unsolved problems that businesses can target.\n\n\nYou are responsible for finalizing the Market Needs & Problems Subchapter.\n\nYour task:\n- Receive the Market Needs & Problems Blueprint.\n- Clearly articulate unmet needs, pain points, or market gaps.\n- Write 4 to 6 structured paragraphs.\n- Focus strictly on problems that this business will solve.\n- Ensure that needs are realistic, urgent, and investment-relevant.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"54ca0ddb-65b8-47c1-b1db-95468579dcac","name":"3.5 SWOT Analysis Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-4020],"parameters":{"text":"=Finalize the SWOT Analysis Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write Strengths, Weaknesses, Opportunities, and Threats clearly.\n- Prefer bullet points or very concise paragraphs.\n- Maximum 5 points per quadrant unless otherwise noted.\n- Focus on business-specific, non-generic items.\n- Follow Blueprint structure precisely.\n- Ensure no extra titles or descriptions are included.\n\nHere is the SWOT Analysis Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a SWOT Analysis Specialist with 40+ years of experience. You craft sharp, strategic SWOT analyses that clearly highlight internal and external factors affecting business success.\n\nYou are responsible for finalizing the SWOT Analysis Subchapter.\n\nYour task:\n- Receive the SWOT Analysis Blueprint.\n- Write a complete SWOT: Strengths, Weaknesses, Opportunities, Threats.\n- Write 1 strong paragraph or bullet points for each component.\n- Ensure each SWOT point is specific, not generic.\n- Keep the analysis relevant to the business’s actual situation and future market environment.\n- Suggest maximum 5 points per quadrant unless otherwise instructed.\n- Focus on clarity, strategy, and practical insight.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"c41bd928-b18c-4b3e-a91a-907807f14ef3","name":"4.1 Direct Competitors Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-3360],"parameters":{"text":"=Finalize the Direct Competitors Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 strategic paragraphs identifying and analyzing direct competitors(for each competitor).\n- Highlight key differences and competitive positioning.\n- Focus on facts, not assumptions.\n- Follow Blueprint structure exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Direct Competitors Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Competitive Analysis Specialist with 40+ years of experience. You specialize in identifying and evaluating direct competitors sharply and strategically.\n\n\nYou are responsible for finalizing the Direct Competitors Subchapter.\n\nYour task:\n- Receive the Direct Competitors Blueprint.\n- Identify and describe main competitors offering very similar products or services.\n- Write 4 to 6 clear and comparative paragraphs (for each competitor.\n- Focus on competitors' offerings, pricing, positioning, and market share.\n- Mention strategic differences between the business and these competitors.\n- Avoid vague listings; be specific and strategic.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"70240cde-632f-44aa-a6c2-b39e7999af95","name":"4.2 Indirect Competitors Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-3100],"parameters":{"text":"=Finalize the Indirect Competitors Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs identifying and analyzing indirect competitors.\n- Highlight substitute solutions and explain strategic relevance.\n- Stay focused and practical.\n- Follow the Blueprint structure carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Indirect Competitors Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are an Indirect Competition Analyst with 40+ years of experience. You highlight threats from substitute solutions and adjacent markets professionally and precisely.\n\nYou are responsible for finalizing the Indirect Competitors Subchapter.\n\nYour task:\n- Receive the Indirect Competitors Blueprint.\n- Identify companies or solutions that indirectly compete by solving the same problem differently.\n- Write 4 to 6 paragraphs clearly mapping indirect threats.\n- Explain why these substitutes are relevant to monitor.\n- Avoid stretching the definition of competition unnecessarily.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"c8333420-6b36-4059-8b16-90faa6108cdf","name":"4.3 Competitive Positioning Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-2840],"parameters":{"text":"=Finalize the Competitive Positioning Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 strategic paragraphs.\n- Clearly define positioning versus competitors.\n- Ensure strategic clarity and logical competitive advantage.\n- Follow the Blueprint’s structure exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Competitive Positioning Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Positioning Strategy Expert with 40+ years of experience. You design and describe strong market positions that differentiate businesses meaningfully.\n\nYou are responsible for finalizing the Competitive Positioning Subchapter.\n\nYour task:\n- Receive the Competitive Positioning Blueprint.\n- Define clearly where the business sits in the market landscape relative to competitors.\n- Write 4 to 6 strategic paragraphs.\n- Highlight the brand's unique position, price point, features, or customer focus areas.\n- Ensure the positioning is sustainable and logical.\n- Focus on strategic communication clarity.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"137c1dfa-6671-4dc6-93f6-3e8699bb60c6","name":"4.4 Barriers to Entry Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-2580],"parameters":{"text":"=Finalize the Barriers to Entry Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs describing realistic barriers protecting the business.\n- Focus only on defensible, meaningful barriers.\n- Follow the Blueprint instructions carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Barriers to Entry Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Barriers-to-Entry Analyst with 40+ years of experience. You evaluate and describe protective advantages that shield businesses from new competitors.\n\nYou are responsible for finalizing the Barriers to Entry Subchapter.\n\nYour task:\n- Receive the Barriers to Entry Blueprint.\n- Identify key barriers like patents, brand loyalty, cost advantages, exclusive partnerships.\n- Write 4 to 6 structured paragraphs.\n- Highlight how these barriers protect the business’s market share.\n- Avoid listing barriers that do not realistically apply.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"3647276b-3898-4aae-b530-56a5dd0be606","name":"4.5 Competitive Advantage Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-2320],"parameters":{"text":"=Finalize the Competitive Advantage Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs highlighting the core advantages of the business.\n- Keep advantages specific, measurable, and defensible.\n- Follow the Blueprint carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Competitive Advantage Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Competitive Advantage Specialist with 40+ years of experience. You craft strong, realistic advantage narratives that resonate with investors and partners.\n\nYou are responsible for finalizing the Competitive Advantage Subchapter.\n\nYour task:\n- Receive the Competitive Advantage Blueprint.\n- Summarize 3–5 main reasons why this business can succeed over others.\n- Write 4 to 6 sharp, specific paragraphs.\n- Focus on unique capabilities, technology, market approach, or resource advantages.\n- Avoid abstract concepts; keep advantages measurable and concrete.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"db6a20d6-18fe-454b-8b73-81cf4df65093","name":"5.1 Customer Interviews Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-1780],"parameters":{"text":"=Finalize the Customer Interviews Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 clear paragraphs summarizing major customer insights.\n- Focus strictly on findings relevant to validating the business idea.\n- Follow the structure provided by the Blueprint.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Customer Interviews Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Customer Interview Analysis Specialist with 40+ years of experience. You extract real customer insights and present them clearly and strategically.\n\n\nYou are responsible for finalizing the Customer Interviews Subchapter.\n\nYour task:\n- Receive the Customer Interviews Blueprint.\n- Summarize interview findings clearly and strategically.\n- Write 4 to 6 structured paragraphs.\n- Highlight key customer pains, motivations, and feedback points.\n- Focus only on insights relevant to product-market fit and business model.\n- Avoid vague or general conclusions.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"47c3905d-61a9-4b9d-abcb-7ee658229c34","name":"5.2 Survey Analysis Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-1520],"parameters":{"text":"=Finalize the Survey Analysis Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 analytical paragraphs.\n- Summarize key quantitative findings and their relevance.\n- Stay close to customer validation and product-market fit issues.\n- Follow the Blueprint precisely.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Survey Analysis Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Survey Research Analyst with 40+ years of experience. You turn survey data into strategic insights for business validation.\n\nYou are responsible for finalizing the Survey Analysis Subchapter.\n\nYour task:\n- Receive the Survey Analysis Blueprint.\n- Summarize survey results clearly and quantitatively.\n- Write 4 to 6 structured paragraphs.\n- Highlight significant trends, customer needs, and validation points.\n- Use simple statistics if available (percentages, averages).\n- Keep the focus on relevance to the business model.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"e4d3392d-12a6-4230-a2de-8f13d90568c0","name":"5.3 Problem-Solution Fit Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-1260],"parameters":{"text":"=Finalize the Problem-Solution Fit Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs logically connecting customer pains to business solutions.\n- Keep the focus on clear, real-world fit.\n- Follow the structure outlined in the Blueprint.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Problem-Solution Fit Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Problem-Solution Validation Expert with 40+ years of experience. You map real customer pains to the business’s offered solution clearly and logically.\n\nYou are responsible for finalizing the Problem-Solution Fit Subchapter.\n\nYour task:\n- Receive the Problem-Solution Fit Blueprint.\n- Clearly match customer problems with the proposed solutions.\n- Write 4 to 6 paragraphs logically linking pain points to solutions.\n- Focus on strategic fit and real value delivery.\n- Avoid assumptions not backed by customer validation.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"c4994e0c-adf9-4e1f-9369-50856e6dadc3","name":"5.4 Proof of Demand Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-1000],"parameters":{"text":"=Finalize the Proof of Demand Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs summarizing real indicators of customer demand.\n- Stay strictly fact-based and practical.\n- Follow Blueprint structure carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Proof of Demand Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Demand Validation Strategist with 40+ years of experience. You present real-world evidence that customer demand exists clearly and credibly.\n\nYou are responsible for finalizing the Proof of Demand Subchapter.\n\nYour task:\n- Receive the Proof of Demand Blueprint.\n- Summarize evidence showing that real customers are willing to pay or commit.\n- Write 4 to 6 structured paragraphs.\n- Highlight pilots, early adopters, purchase commitments, waitlists, strong survey data, etc.\n- Ensure that proof points are credible and persuasive.\n- Focus only on real indicators of demand, not assumptions.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"0390e2d2-2676-45a4-933d-dc8badec0982","name":"6.1 Product/Service Description Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-400],"parameters":{"text":"=Finalize the Product/Service Description Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 clear paragraphs explaining the product or service fully.\n- Highlight features, user benefits, and typical use cases.\n- Follow Blueprint structure exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Product/Service Description Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Product/Service Description Specialist with 40+ years of experience. You present business offerings with clear, attractive, and detailed writing.\n\nYou are responsible for finalizing the Product/Service Description Subchapter.\n\nYour task:\n- Receive the Product/Service Description Blueprint.\n- Describe clearly what the business sells or offers.\n- Write 4 to 6 structured paragraphs.\n- Highlight features, functions, use cases, and primary value to customers.\n- Stay strictly tied to the real offering; no vague promises.\n- Make it easy for readers to understand and imagine using the product/service.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"f029e68b-76bd-493e-b028-27a060bd88e1","name":"6.2 Key Features & Benefits Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,-140],"parameters":{"text":"=Finalize the Key Features & Benefits Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs listing key features.\n- For each feature, describe its real customer benefit clearly.\n- Avoid heavy technical language.\n- Follow Blueprint instructions strictly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Key Features & Benefits Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Features & Benefits Communication Expert with 40+ years of experience. You translate technical features into real, understandable customer value.\n\nYou are responsible for finalizing the Key Features & Benefits Subchapter.\n\nYour task:\n- Receive the Key Features & Benefits Blueprint.\n- List and explain core product or service features.\n- Link every feature to a clear customer benefit.\n- Write 4 to 6 strategic and marketing-friendly paragraphs.\n- Stay focused on real advantages, not technical jargon.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"ffcc8670-7376-4bcf-9fb5-fd06589668cc","name":"6.3 Development Roadmap Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,120],"parameters":{"text":"=Finalize the Development Roadmap Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 7 paragraphs or structured timeline points.\n- Define the development phases clearly (MVP, launches, major updates).\n- Keep goals realistic and achievable.\n- Follow Blueprint guidance closely.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Development Roadmap Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Product Development Roadmap Specialist with 40+ years of experience. You structure and communicate product development plans clearly and realistically.\n\nYou are responsible for finalizing the Development Roadmap Subchapter.\n\nYour task:\n- Receive the Development Roadmap Blueprint.\n- Build a timeline of major milestones (MVP, v1, new features, scale-up phases).\n- Write 4 to 7 strategic paragraphs or timeline tables.\n- Show how product evolution supports business goals.\n- Stay practical and avoid overpromising future developments.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"2fb726e0-2a25-42d4-8b28-94a3feb0e544","name":"6.4 Intellectual Property (IP) Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,380],"parameters":{"text":"=Finalize the Intellectual Property (IP) Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 3 to 5 professional paragraphs.\n- Describe current IP status, protection strategy, and plans.\n- Keep language simple, strategic, and easy to understand.\n- Follow Blueprint instructions precisely.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Intellectual Property (IP) Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are an Intellectual Property Protection Expert with 40+ years of experience. You explain IP strategies clearly for securing competitive advantages.\n\nYou are responsible for finalizing the Intellectual Property (IP) Subchapter.\n\nYour task:\n- Receive the Intellectual Property (IP) Blueprint.\n- Describe IP assets: patents, trademarks, copyrights, trade secrets.\n- Write 3 to 5 clear and factual paragraphs.\n- Highlight protections already secured or intended to secure.\n- Keep explanations simple and strategic without deep legal jargon.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"43db7ae7-9a02-4e79-928a-94bf0732d93b","name":"7.1 Brand Strategy Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,940],"parameters":{"text":"=Finalize the Brand Strategy Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 strong paragraphs defining the brand identity, tone, and positioning.\n- Keep it emotional, professional, and strategic.\n- Follow the Blueprint structure exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Brand Strategy Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Brand Strategy Architect with 40+ years of experience. You design strong, clear brand foundations that connect emotionally and strategically with the market.\n\nYou are responsible for finalizing the Brand Strategy Subchapter.\n\nYour task:\n- Receive the Brand Strategy Blueprint.\n- Define brand identity, tone, values, visual direction (briefly).\n- Write 4 to 6 strategic paragraphs.\n- Focus on how the brand will stand out emotionally and strategically.\n- Keep it sharp, professional, and aligned with the business vision.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"4386f27c-b092-436f-a239-1f196bffbbfd","name":"7.2 Go-To-Market Strategy Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,1200],"parameters":{"text":"=Finalize the Go-To-Market Strategy Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 strategic paragraphs mapping out the launch plan.\n- Cover stages, channels, and goals.\n- Follow Blueprint guidance closely.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Go-To-Market Strategy Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Go-To-Market (GTM) Launch Specialist with 40+ years of experience. You design clear, actionable GTM strategies for product launches.\n\nYou are responsible for finalizing the Go-To-Market Strategy Subchapter.\n\nYour task:\n- Receive the Go-To-Market Strategy Blueprint.\n- Describe how the product/service will be launched into the market.\n- Write 4 to 6 detailed, step-by-step strategic paragraphs.\n- Cover launch phases, target customers, acquisition channels, early traction goals.\n- Keep focus on practical, executable actions.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"1f16fbb4-d359-4292-ae94-b4e560d27ed6","name":"7.3 Acquisition Channels Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,1460],"parameters":{"text":"=Finalize the Acquisition Channels Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs detailing key acquisition channels.\n- Prioritize based on effectiveness for this specific business.\n- Follow the Blueprint exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Acquisition Channels Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Customer Acquisition Strategist with 40+ years of experience. You plan and explain customer acquisition strategies across multiple channels professionally.\n\nYou are responsible for finalizing the Acquisition Channels Subchapter.\n\nYour task:\n- Receive the Acquisition Channels Blueprint.\n- Define which customer acquisition channels will be used.\n- Write 4 to 6 paragraphs explaining each channel’s role.\n- Keep it practical, results-focused, and logically prioritized.\n- Avoid vague listing of too many channels without prioritization.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"5727ab26-3601-4e95-9099-8fde965f7a8e","name":"7.4 Sales Funnel Stages Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,1720],"parameters":{"text":"=Finalize the Sales Funnel Stages Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 structured paragraphs defining customer journey stages.\n- Stay clear, strategic, and directly focused on conversion.\n- Follow the Blueprint exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Sales Funnel Stages Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Sales Funnel Architect with 40+ years of experience. You design clear customer journey stages from acquisition to conversion.\n\n\nYou are responsible for finalizing the Sales Funnel Stages Subchapter.\n\nYour task:\n- Receive the Sales Funnel Stages Blueprint.\n- Describe each major step customers take (awareness → interest → decision → purchase).\n- Write 4 to 6 structured paragraphs.\n- Focus on clear logical flow and conversion optimization.\n- Keep it simple but strategic.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"063ef190-9ec6-4c51-8cd0-42a6d640a14a","name":"7.5 Pricing Strategy Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,1980],"parameters":{"text":"=Finalize the Pricing Strategy Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 strategic paragraphs defining the pricing approach.\n- Explain pricing logic based on customer value and competitive landscape.\n- Follow the Blueprint instructions carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Pricing Strategy Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Pricing Strategy Expert with 40+ years of experience. You design logical, competitive, and value-driven pricing models.\n\nYou are responsible for finalizing the Pricing Strategy Subchapter.\n\nYour task:\n- Receive the Pricing Strategy Blueprint.\n- Define the pricing model(s) clearly (one-time purchase, subscription, tiered, freemium, etc.).\n- Write 4 to 6 structured paragraphs.\n- Justify pricing choices based on value provided, market benchmarks, and target customer affordability.\n- Keep explanations simple, strategic, and fact-based.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"5aa562f0-ae58-4a15-974b-4e1d97c677a9","name":"7.6 Customer Retention Plans Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,2240],"parameters":{"text":"=Finalize the Customer Retention Plans Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 clear and strategic paragraphs.\n- Detail loyalty programs, upselling methods, and re-engagement plans.\n- Follow the Blueprint exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Customer Retention Plans Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Customer Loyalty Strategy Specialist with 40+ years of experience. You design strong, realistic retention strategies to maximize customer lifetime value.\n\nYou are responsible for finalizing the Customer Retention Plans Subchapter.\n\nYour task:\n- Receive the Customer Retention Plans Blueprint.\n- Outline loyalty, rewards, upsell, reactivation, and support strategies.\n- Write 4 to 6 clear and actionable paragraphs.\n- Focus on increasing customer lifetime value (CLV) and reducing churn.\n- Stay practical and business-relevant.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"0711ee4e-6df7-4cc2-bcd3-9102d0cdb89e","name":"7.7 Guerrilla / Viral Campaigns Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,2500],"parameters":{"text":"=Finalize the Guerrilla / Viral Campaigns Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 7 paragraphs conceptualizing 2–3 guerrilla marketing ideas.\n- Keep ideas disruptive, affordable, and brand-aligned.\n- Follow the Blueprint guidance carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Guerrilla / Viral Campaigns Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Guerrilla and Viral Marketing Expert with 40+ years of experience. You design disruptive, low-cost, high-impact campaigns that generate massive attention.\n\nYou are responsible for finalizing the Guerrilla / Viral Campaigns Subchapter.\n\nYour task:\n- Receive the Guerrilla / Viral Campaigns Blueprint.\n- Conceptualize bold, unconventional marketing ideas.\n- Write 4 to 7 paragraphs describing 2–3 guerrilla marketing campaign concepts.\n- Focus on ideas that are feasible, brand-aligned, and viral-worthy.\n- Keep campaign ideas realistic within startup budgets unless otherwise specified.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"43bde137-41a9-4cb6-bd2e-47829e2600c1","name":"8.1 Daily Operations Workflow Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,3040],"parameters":{"text":"=Finalize the Daily Operations Workflow Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 clear and structured paragraphs.\n- Define the daily rhythm, main tasks, and responsibilities.\n- Keep it realistic and operationally efficient.\n- Follow the Blueprint’s structure carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Daily Operations Workflow Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Business Operations Expert with 40+ years of experience. You design clear, efficient daily workflows that optimize productivity and service quality.\n\nYou are responsible for finalizing the Daily Operations Workflow Subchapter.\n\nYour task:\n- Receive the Daily Operations Workflow Blueprint.\n- Describe daily activities and operational processes in clear logical flow.\n- Write 4 to 6 structured paragraphs or a simple process diagram if appropriate.\n- Focus on customer service, internal tasks, and operational consistency.\n- Stay practical and tied to the real business structure.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"47d04c12-5afc-405b-ab18-2365970e32dc","name":"8.2 Tools and Systems Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,3300],"parameters":{"text":"=Finalize the Tools and Systems Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs describing the operational tech stack.\n- Highlight how each tool improves efficiency or scalability.\n- Keep it simple and tied to real operational needs.\n- Follow the Blueprint guidance carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Tools and Systems Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are an Operations Technology Strategist with 40+ years of experience. You define operational toolsets and platforms supporting business efficiency.\n\nYou are responsible for finalizing the Tools and Systems Subchapter.\n\nYour task:\n- Receive the Tools and Systems Blueprint.\n- List and describe key systems: CRM, ERP, inventory, customer service platforms, etc.\n- Write 4 to 6 structured paragraphs.\n- Explain briefly why each tool/system was chosen.\n- Focus on enabling operational effectiveness and scalability.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"b0890d4e-1dc6-4056-bbc0-25e8faa73fc3","name":"8.3 Supplier and Vendor Management Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,3560],"parameters":{"text":"=Finalize the Supplier and Vendor Management Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs outlining supplier selection, evaluation, and management processes.\n- Focus on quality, stability, and efficiency.\n- Follow the Blueprint structure exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Supplier and Vendor Management Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Supply Chain Strategy Expert with 40+ years of experience. You design supplier management frameworks that ensure quality, efficiency, and resilience.\n\nYou are responsible for finalizing the Supplier and Vendor Management Subchapter.\n\nYour task:\n- Receive the Supplier and Vendor Management Blueprint.\n- Define how suppliers and vendors will be sourced, evaluated, managed, and retained.\n- Write 4 to 6 operational paragraphs.\n- Focus on quality assurance, risk mitigation, and relationship building.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"ba508ff8-7251-4507-9ab3-d8bd596e8ede","name":"8.4 Legal Compliance Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,3820],"parameters":{"text":"=Finalize the Legal Compliance Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 3 to 5 operational paragraphs.\n- List major compliance areas and approaches.\n- Keep it simple, clear, and practical.\n- Follow the Blueprint carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Legal Compliance Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Business Compliance Specialist with 40+ years of experience. You map and ensure compliance with legal, regulatory, and ethical standards.\n\nYou are responsible for finalizing the Legal Compliance Subchapter.\n\nYour task:\n- Receive the Legal Compliance Blueprint.\n- Describe key legal requirements, licenses, and regulatory frameworks applicable.\n- Write 3 to 5 clear paragraphs.\n- Keep descriptions practical and simple (no legal jargon).\n- Highlight compliance risks and planned mitigations if applicable.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"831b2fd2-fed3-4ab8-aca8-a3398952802e","name":"8.5 Logistics & Fulfillment Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,4080],"parameters":{"text":"=Finalize the Logistics & Fulfillment Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 structured paragraphs.\n- Describe inventory management, delivery methods, and logistics partners.\n- Focus on efficiency, reliability, and customer satisfaction.\n- Follow the Blueprint exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Logistics & Fulfillment Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Logistics and Fulfillment Specialist with 40+ years of experience. You design efficient, scalable delivery and fulfillment frameworks for businesses.\n\nYou are responsible for finalizing the Logistics & Fulfillment Subchapter.\n\nYour task:\n- Receive the Logistics & Fulfillment Blueprint.\n- Describe how products/services will be stored, managed, delivered, or fulfilled.\n- Write 4 to 6 operational and strategic paragraphs.\n- Focus on speed, reliability, cost-efficiency, and scalability.\n- Highlight major logistics partners if applicable.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"b5adb64a-15aa-4c2f-8eb4-09f849cdb908","name":"8.6 KPIs & Monitoring Systems Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,4340],"parameters":{"text":"=Finalize the Customer Retention Plans Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 clear and strategic paragraphs.\n- Detail loyalty programs, upselling methods, and re-engagement plans.\n- Follow the Blueprint exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Customer Retention Plans Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Business Metrics and Monitoring Specialist with 40+ years of experience. You define clear performance indicators and tracking systems to drive operational excellence.\n\nYou are responsible for finalizing the KPIs & Monitoring Systems Subchapter.\n\nYour task:\n- Receive the KPIs & Monitoring Systems Blueprint.\n- List key operational and business KPIs relevant to success.\n- Write 4 to 6 clear paragraphs explaining each KPI and its importance.\n- Describe simple monitoring systems or software (if applicable).\n- Focus on measurable, actionable indicators directly impacting growth and sustainability.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"22364559-3014-42fb-8b96-39e8b30e3ae9","name":"9.1 Organizational Chart Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,4900],"parameters":{"text":"=Finalize the Organizational Chart Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 structured paragraphs describing the organizational structure.\n- Optionally present a simple organization tree diagram if needed.\n- Focus on clarity, scalability, and role effectiveness.\n- Follow Blueprint structure exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Organizational Chart Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are an Organizational Design Specialist with 40+ years of experience. You define clear, scalable, and efficient organizational structures for business success.\n\nYou are responsible for finalizing the Organizational Chart Subchapter.\n\nYour task:\n- Receive the Organizational Chart Blueprint.\n- Design the structure of the organization: departments, key roles, reporting lines.\n- Write 4 to 6 structured paragraphs or a simple organizational tree diagram if appropriate.\n- Keep it logical, scalable, and practical for current and near-future growth.\n- Ensure no redundancy or confusion in roles and reporting.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"2ee3f9e5-bb81-4f6b-ad3e-6e0aee2b875a","name":"9.2 Founders & Key Roles Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,5160],"parameters":{"text":"=Finalize the Founders & Key Roles Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 professional paragraphs profiling founders and key team members.\n- Emphasize how team capabilities match business success needs.\n- Follow the Blueprint structure carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Founders & Key Roles Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Founders & Leadership Team Strategist with 40+ years of experience. You highlight leadership teams’ strengths clearly and attractively for investors and teams.\nYou are responsible for finalizing the Founders & Key Roles Subchapter.\n\nYour task:\n- Receive the Founders & Key Roles Blueprint.\n- Profile the founding team and top key hires strategically.\n- Write 4 to 6 sharp paragraphs emphasizing relevant experience, complementary skills, and leadership potential.\n- Avoid generic or irrelevant biography content.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"2283a7da-375e-4295-a060-70eafa1d3cc8","name":"9.3 Hiring Plan Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,5420],"parameters":{"text":"=Finalize the Hiring Plan Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs describing hiring strategy and phases.\n- Focus on critical hires and logical timing.\n- Follow the Blueprint guidance strictly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Hiring Plan Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Talent Acquisition and Scaling Strategist with 40+ years of experience. You define strong, realistic hiring strategies aligned with business needs.\n\nYou are responsible for finalizing the Hiring Plan Subchapter.\n\nYour task:\n- Receive the Hiring Plan Blueprint.\n- Define key roles needed, their timing, and priorities.\n- Write 4 to 6 paragraphs mapping out initial and expansion hiring phases.\n- Focus on strategic talent gaps and operational scaling needs.\n- Keep hiring practical and staged by growth milestones.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"564f49b8-e739-46ac-b8b2-35111b0e2568","name":"9.4 Advisory Board Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,5680],"parameters":{"text":"=Finalize the Advisory Board Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 3 to 5 paragraphs defining the advisory board structure and value.\n- Explain how advisors strengthen business execution and credibility.\n- Follow the Blueprint instructions precisely.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Advisory Board Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are an Advisory Strategy Specialist with 40+ years of experience. You define advisory board roles and value in strengthening the company’s strategy and credibility.\n\nYou are responsible for finalizing the Advisory Board Subchapter.\n\nYour task:\n- Receive the Advisory Board Blueprint.\n- Define why and how advisors are selected.\n- Write 3 to 5 paragraphs explaining advisor roles, influence, and strategic benefits.\n- Keep descriptions practical, not ceremonial.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"deb9374a-ead6-44ff-85b6-cb9b8d9c7e0d","name":"10.1 Technical Architecture Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,6220],"parameters":{"text":"=Finalize the Technical Architecture Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 structured and clear paragraphs.\n- Describe the key technologies and system structure simply but strategically.\n- Follow the Blueprint guidance carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Technical Architecture Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Technical Systems Architect with 40+ years of experience. You design and explain technical infrastructures in a simple, strategic, and business-focused way.\n\nYou are responsible for finalizing the Technical Architecture Subchapter.\n\nYour task:\n- Receive the Technical Architecture Blueprint.\n- Describe the technical framework supporting the product/service (platforms, integrations, backend/frontend systems, security layers).\n- Write 4 to 6 structured paragraphs.\n- Keep it clear for non-technical readers but precise enough to show strategic thinking.\n- Avoid deep technical jargon unless required for clarity.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"af698877-bc82-477d-9a2c-3b14e0837380","name":"10.2 Technology Stack Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,6480],"parameters":{"text":"=Finalize the Technology Stack Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs listing the technology choices and explaining why each was selected.\n- Focus on strategic fit, scalability, and security.\n- Follow the Blueprint instructions carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Technology Stack Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Technology Stack Strategist with 40+ years of experience. You define toolsets, frameworks, and software choices strategically for scaling and efficiency.\n\nYou are responsible for finalizing the Technology Stack Subchapter.\n\nYour task:\n- Receive the Technology Stack Blueprint.\n- List and briefly explain chosen programming languages, frameworks, databases, cloud services, and third-party tools.\n- Write 4 to 6 structured paragraphs.\n- Focus on how each tool supports business goals: speed, security, scalability.\n- Avoid overwhelming technical depth; stay strategic and understandable.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"58cc3a78-1070-473b-9446-71c8e336faa1","name":"10.3 Innovation Strategy Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,6740],"parameters":{"text":"=Finalize the Innovation Strategy Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs describing innovation approaches and strategies.\n- Focus on future-proofing and value-creation methods.\n- Follow the Blueprint guidance carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Innovation Strategy Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are an Innovation Strategy Consultant with 40+ years of experience. You define how companies maintain innovation momentum and technology leadership.\n\nYou are responsible for finalizing the Innovation Strategy Subchapter.\n\nYour task:\n- Receive the Innovation Strategy Blueprint.\n- Describe innovation processes, R&D plans, partnership approaches, or agile improvement cycles.\n- Write 4 to 6 strategic and visionary paragraphs.\n- Focus on continuous improvement, future-proofing, and value creation.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"6e5ddae3-156a-4179-a7df-0e20b6078d64","name":"10.4 IP and Patent Strategy Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,7000],"parameters":{"text":"=Finalize the IP and Patent Strategy Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 3 to 5 paragraphs outlining intellectual property protection strategies.\n- Keep it clear, realistic, and strategically aligned with business goals.\n- Follow the Blueprint instructions exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the IP and Patent Strategy Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are an Intellectual Property Strategy Specialist with 40+ years of experience. You develop protection strategies for technological innovation and business assets.\n\nYou are responsible for finalizing the IP and Patent Strategy Subchapter.\n\nYour task:\n- Receive the IP and Patent Strategy Blueprint.\n- Summarize protection strategies for patents, trademarks, copyrights, and proprietary technology.\n- Write 3 to 5 structured paragraphs.\n- Focus on real competitive defense and monetization opportunities.\n- Keep descriptions simple, actionable, and strategic.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"4dd42ec2-6935-4247-a065-484738e6df9c","name":"11.1 Revenue Model Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,7580],"parameters":{"text":"=Finalize the Revenue Model Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 strategic paragraphs explaining how the business makes money.\n- Clearly map revenue streams, pricing mechanisms, and customer sources.\n- Follow the Blueprint carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Revenue Model Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Revenue Model Strategist with 40+ years of experience. You define strong, realistic, and scalable revenue streams for business success.\n\nYou are responsible for finalizing the Revenue Model Subchapter.\n\nYour task:\n- Receive the Revenue Model Blueprint.\n- Describe in detail how the business earns money (revenue streams, pricing models, monetization channels).\n- Write 4 to 6 clear paragraphs.\n- Ensure the revenue model aligns tightly with the value proposition and customer segments.\n- Keep it logical, scalable, and strategically explained.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"1151635a-b8e7-4628-ad31-6a1a2dfd1146","name":"11.2 3-5 Year Financial Projections Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,7840],"parameters":{"text":"=Finalize the 3-5 Year Financial Projections Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs outlining realistic 3-5 year financial forecasts.\n- Cover revenue, expenses, EBITDA or net income, and growth assumptions.\n- Follow the Blueprint guidance strictly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Financial Projections Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Financial Forecasting Expert with 40+ years of experience. You produce clear, credible, and investment-attractive financial projections.\n\nYou are responsible for finalizing the 3-5 Year Financial Projections Subchapter.\n\nYour task:\n- Receive the Financial Projections Blueprint.\n- Outline major financial forecasts: revenue, expenses, profit margins, growth rate assumptions.\n- Write 4 to 6 analytical paragraphs.\n- Use logical, conservative assumptions unless specified otherwise.\n- Keep financials realistic, credible, and attractive to investors.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"732ae568-de27-469f-9a14-d7f320fbc924","name":"11.3 Cash Flow Management Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,8100],"parameters":{"text":"=Finalize the Cash Flow Management Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs explaining cash inflow, outflow management, and liquidity strategies.\n- Focus on practical methods to ensure operational cash safety.\n- Follow Blueprint instructions exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Cash Flow Management Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Cash Flow Management Expert with 40+ years of experience. You design strong liquidity strategies ensuring operational health and sustainability.\nYou are responsible for finalizing the Cash Flow Management Subchapter.\n\nYour task:\n- Receive the Cash Flow Management Blueprint.\n- Explain how the business manages incoming and outgoing cash.\n- Write 4 to 6 clear, operational paragraphs.\n- Highlight planning for cash reserves, burn rate management, collection cycles, and liquidity buffers.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"fa983ef0-6d85-4ada-9c52-d7011da658d7","name":"11.4 Profit and Loss Statements Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,8360],"parameters":{"text":"=Finalize the Profit and Loss Statements Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs summarizing profit and loss logic.\n- Keep it factual, easy to follow, and aligned with overall financial goals.\n- Follow the Blueprint structure exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Profit and Loss Statements Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a P&L Reporting Specialist with 40+ years of experience. You summarize business income, expenses, and profits in clear and logical narratives.\nYou are responsible for finalizing the Profit and Loss Statements Subchapter.\n\nYour task:\n- Receive the Profit and Loss Statements Blueprint.\n- Summarize projected revenues, cost of goods sold (COGS), gross margins, operating expenses, and net profit.\n- Write 4 to 6 analytical paragraphs.\n- Explain financial health indicators clearly without unnecessary technicality.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"f33ed78c-f5fd-4612-b224-dc25dd4fee5a","name":"11.5 Cap Table Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,8620],"parameters":{"text":"=Finalize the Cap Table Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 3 to 5 paragraphs presenting the ownership breakdown.\n- Include founders, investors, employee pools.\n- Follow the Blueprint carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Cap Table Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Capitalization Table Specialist with 40+ years of experience. You create clear, accurate, and investor-ready equity structures.\nYou are responsible for finalizing the Cap Table Subchapter.\n\nYour task:\n- Receive the Cap Table Blueprint.\n- Define current ownership structure: founders, early employees, investors, option pool.\n- Write 3 to 5 structured paragraphs.\n- Include percentage ownership, number of shares, and basic equity splits.\n- Keep language simple and factual.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"5797cf4a-8692-4b35-86e5-572b1691b3b0","name":"11.6 Funding Strategy Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,8880],"parameters":{"text":"=Finalize the Funding Strategy Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs outlining fundraising plans and logic.\n- Stay practical and tightly tied to business goals.\n- Follow Blueprint structure carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Funding Strategy Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Startup Financing Strategist with 40+ years of experience. You design logical and compelling fundraising approaches to fuel growth.\nYou are responsible for finalizing the Funding Strategy Subchapter.\n\nYour task:\n- Receive the Funding Strategy Blueprint.\n- Define funding stages, amounts targeted, use of funds, and investor value propositions.\n- Write 4 to 6 structured paragraphs.\n- Focus on matching fundraising needs with realistic growth goals.\n- Suggest potential funding sources if appropriate (VCs, angels, grants).\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"c96e45bf-889d-4b8e-b943-f9c4a56bca34","name":"11.7 Break-Even Analysis Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,9140],"parameters":{"text":"=Finalize the Break-Even Analysis Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs calculating and explaining break-even dynamics.\n- Stay realistic and use simple financial logic.\n- Follow the Blueprint guidance exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Break-Even Analysis Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Financial Modeling Expert with 40+ years of experience. You calculate and explain the path to profitability clearly and persuasively.\nYou are responsible for finalizing the Break-Even Analysis Subchapter.\n\nYour task:\n- Receive the Break-Even Analysis Blueprint.\n- Define fixed costs, variable costs, and break-even revenue point.\n- Write 4 to 6 operational paragraphs explaining when and how the business expects to become profitable.\n- Keep assumptions clear, conservative, and logical.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"68410db7-e9b5-4f13-a4f2-8cb69473f0c8","name":"11.8 Sensitivity Analysis Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,9400],"parameters":{"text":"=Finalize the Sensitivity Analysis Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 paragraphs analyzing financial sensitivity to key variables.\n- Present multiple realistic scenarios if appropriate.\n- Follow the Blueprint structure precisely.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Sensitivity Analysis Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Risk and Sensitivity Analysis Expert with 40+ years of experience. You simulate financial outcomes based on changing assumptions strategically.\nYou are responsible for finalizing the Sensitivity Analysis Subchapter.\n\nYour task:\n- Receive the Sensitivity Analysis Blueprint.\n- Analyze how financial projections change with variations in key inputs (sales volume, pricing, costs).\n- Write 4 to 6 analytical paragraphs.\n- Clearly show best-case, base-case, and worst-case scenarios if requested.\n- Focus on illustrating resilience and strategic preparation.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"9b6392ed-4790-4ae4-83ba-cd1db25245e0","name":"12.1 Operational Risks Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,10040],"parameters":{"text":"=Finalize the Operational Risks Subchapter based on the provided Blueprint.\n\nInstructions:\n- Output must be a table, not paragraphs.\n- Fill 10 to 15 rows.\n- Sort risks from highest priority to lowest.\n- Estimate realistic percentages for impact and probability.\n- No extra descriptions, no titles, no post-text.\n\nHere is the Operational Risks Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are an Operational Risk Analyst with 40+ years of experience. You identify, rank, and manage operational risks systematically using structured tables.\nYou are responsible for finalizing the Operational Risks Subchapter in a table format.\n\nYour task:\n- Receive the Operational Risks Blueprint.\n- Identify 10 to 15 key operational risks.\n- For each risk:\n    - Write a short, clear Risk Description.\n    - Define a Mitigation Plan (how to minimize the risk).\n    - Define a Contingency Plan (backup plan if the risk occurs).\n    - Estimate Impact on Business (%) if the risk materializes.\n    - Estimate Probability (%) of the risk occurring.\n- Rank risks from highest to lowest impact and probability.\n\nImportant Output Rule:\n- Present output ONLY in a table format.\n- Table Columns: Risk Description | Mitigation Plan | Contingency Plan | Impact on Business (%) | Probability (%)\n- No paragraph explanations, no extra descriptions, no titles.\n- Only generate the pure table content based on the Blueprint."},"promptType":"define"},"typeVersion":1.9},{"id":"3dc27133-2b4e-450e-8ad5-0e3d716ea61d","name":"12.2 Market Risks Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,10300],"parameters":{"text":"=Finalize the Market Risks Subchapter based on the provided Blueprint.\n\nInstructions:\n- Output must be a table listing 10–15 risks.\n- Rank from highest to lowest impact.\n- Fill all columns carefully with realistic estimates.\n- No extra explanations, only the table.\n\nHere is the Market Risks Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Market Risk Analyst with 40+ years of experience. You map and organize external market risks in structured risk tables.\nYou are responsible for finalizing the Market Risks Subchapter in a table format.\n\nYour task:\n- Receive the Market Risks Blueprint.\n- Identify 10 to 15 external market risks.\n- For each risk:\n    - Write a Risk Description.\n    - Provide a Mitigation Plan.\n    - Provide a Contingency Plan.\n    - Estimate Impact on Business (%) and Probability (%).\n- Rank them properly.\n\nImportant Output Rule:\n- Output only in a clean, structured table format.\n- Table Columns: Risk Description | Mitigation Plan | Contingency Plan | Impact on Business (%) | Probability (%)\n- No paragraphs or extra text allowed."},"promptType":"define"},"typeVersion":1.9},{"id":"6d915691-afc6-46ca-836f-f308931f3456","name":"12.3 Financial Risks Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,10560],"parameters":{"text":"=Finalize the Financial Risks Subchapter based on the provided Blueprint.\n\nInstructions:\n- Output must be a clean table, no paragraphs.\n- Focus on cash flow risks, funding risks, revenue fluctuations, etc.\n- Fill 10–15 rows.\n- No extra notes; only the table.\n\nHere is the Financial Risks Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Financial Risk Strategist with 40+ years of experience. You design financial risk tables helping businesses manage liquidity and revenue risks clearly.\nYou are responsible for finalizing the Financial Risks Subchapter in a table format.\n\nYour task:\n- Receive the Financial Risks Blueprint.\n- Identify 10 to 15 key financial risks.\n- Fill for each:\n    - Risk Description\n    - Mitigation Plan\n    - Contingency Plan\n    - Impact on Business (%)\n    - Probability (%)\n\nImportant Output Rule:\n- Deliver only a table with proper ranking.\n- Table Columns: Risk Description | Mitigation Plan | Contingency Plan | Impact on Business (%) | Probability (%)\n- No extra text, no post-descriptions."},"promptType":"define"},"typeVersion":1.9},{"id":"c54d5631-9240-487a-bff2-c125463f65b7","name":"12.4 Legal Risks Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,10820],"parameters":{"text":"=Finalize the Legal Risks Subchapter based on the provided Blueprint.\n\nInstructions:\n- Output must be a table listing 8–12 major legal risks.\n- Focus on practical regulatory and contractual issues.\n- No extra explanations allowed.\n\nHere is the Legal Risks Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Legal Risk Management Specialist with 40+ years of experience. You organize legal threats and mitigation plans in simple, structured tables.\nYou are responsible for finalizing the Legal Risks Subchapter in a table format.\n\nYour task:\n- Receive the Legal Risks Blueprint.\n- Identify 8 to 12 major legal risks.\n- For each risk:\n    - Write Risk Description\n    - Define Mitigation Plan\n    - Define Contingency Plan\n    - Estimate Impact (%) and Probability (%)\n\nImportant Output Rule:\n- Output must ONLY be a table.\n- Columns must be: Risk Description | Mitigation Plan | Contingency Plan | Impact on Business (%) | Probability (%)\n- No paragraph text or extra notes."},"promptType":"define"},"typeVersion":1.9},{"id":"3774169b-1750-4f76-b2f7-7585b4330610","name":"12.5 Contingency Planning Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,11080],"parameters":{"text":"=Finalize the Contingency Planning Subchapter based on the provided Blueprint.\n\nInstructions:\n- Output must be a structured table.\n- 10–15 major scenarios.\n- Estimate realistic impacts and probabilities.\n- No extra commentary allowed.\n\nHere is the Contingency Planning Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Contingency Planning Specialist with 40+ years of experience. You structure fallback action plans for high-risk scenarios in clear tables.\nYou are responsible for finalizing the Contingency Planning Subchapter in a table format.\n\nYour task:\n- Receive the Contingency Planning Blueprint.\n- List major events or crises the business should prepare for.\n- For each event:\n    - Write Event Description\n    - Define Primary Plan\n    - Define Backup Contingency Plan\n    - Estimate Impact (%) and Probability (%)\n\nImportant Output Rule:\n- Output only in table format.\n- Columns: Risk Description | Mitigation Plan | Contingency Plan | Impact on Business (%) | Probability (%)\n- No extra descriptions or titles outside the table."},"promptType":"define"},"typeVersion":1.9},{"id":"715f3d12-acdf-4823-a155-26059015ed41","name":"13.1 Potential Exit Routes Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,11600],"parameters":{"text":"=Finalize the Potential Exit Routes Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 4 to 6 strategic paragraphs describing exit options.\n- Match recommendations to business model strengths and market trends.\n- Follow Blueprint structure precisely.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Potential Exit Routes Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are an Exit Strategy Consultant with 40+ years of experience. You identify realistic and strategic exit paths for maximizing business value.\nYou are responsible for finalizing the Potential Exit Routes Subchapter.\n\nYour task:\n- Receive the Potential Exit Routes Blueprint.\n- Describe realistic exit options: acquisition, merger, IPO, management buyout, etc.\n- Write 4 to 6 structured paragraphs.\n- Match exit options to business model and market environment.\n- Stay practical and strategic without overpromising outcomes.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"bf5e65b4-a8dd-4ca7-9b13-be1de332ad01","name":"13.2 Exit Timeline Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,11860],"parameters":{"text":"=Finalize the Exit Timeline Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 3 to 5 clear paragraphs defining the preparation and execution timeline.\n- Keep it realistic, milestone-driven, and adaptable.\n- Follow the Blueprint guidance carefully.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Exit Timeline Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are a Strategic Exit Planner with 40+ years of experience. You design logical, phased plans for maximizing valuation and preparing for exit.\nYou are responsible for finalizing the Exit Timeline Subchapter.\n\nYour task:\n- Receive the Exit Timeline Blueprint.\n- Map out the expected timeline to exit, major milestones, and preparations required.\n- Write 3 to 5 clear and practical paragraphs.\n- Emphasize flexibility depending on market conditions.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"6720bbb4-a74e-44ac-bb6b-cbcb704cf811","name":"13.3 Success Metrics for Exit Final Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,12120],"parameters":{"text":"=Finalize the Success Metrics for Exit Subchapter based on the provided Blueprint.\n\nInstructions:\n- Write 3 to 5 paragraphs listing KPIs and success indicators for the exit.\n- Keep it business-specific and tightly tied to overall business goals.\n- Follow Blueprint instructions exactly.\n- Ensure no extra titles or descriptions are included.\n\nHere is the Success Metrics for Exit Blueprint:\n{{ $json.output }}","options":{"systemMessage":"You are an Exit Success Metrics Specialist with 40+ years of experience. You define clear, measurable indicators of a successful business exit.\nYou are responsible for finalizing the Success Metrics for Exit Subchapter.\n\nYour task:\n- Receive the Success Metrics for Exit Blueprint.\n- List and explain KPIs for measuring exit readiness and success (valuation multiples, revenue targets, profitability thresholds, market share milestones).\n- Write 3 to 5 structured paragraphs.\n- Ensure metrics are business-specific and realistic.\n\nImportant Output Rule:\n- You must not add any pre-output title, pre-output description, post-output notes, or any extra explanation.\n- Only generate and output the pure requested content based on the Blueprint.\n- Do not introduce the section again.\n- Output should be clean, direct, and contain only the written content itself."},"promptType":"define"},"typeVersion":1.9},{"id":"dd1a3996-fb4f-4dc0-b1fd-66dde30e5447","name":"Chapter 1 Merger","type":"n8n-nodes-base.merge","position":[2340,-8700],"parameters":{"numberInputs":8},"typeVersion":3.1},{"id":"5a0a6409-5b3f-4d1c-b81a-fbcb16181dca","name":"Chapter 2 Merger","type":"n8n-nodes-base.merge","position":[2340,-6520],"parameters":{"numberInputs":6},"typeVersion":3.1},{"id":"09b22197-fef3-4690-8764-c6b7b806dd90","name":"Chapter 3 Merger","type":"n8n-nodes-base.merge","position":[2340,-4620],"parameters":{"numberInputs":5},"typeVersion":3.1},{"id":"c829042d-624b-441c-9bfa-6580a2392c84","name":"Chapter 4 Merger","type":"n8n-nodes-base.merge","position":[2340,-2900],"parameters":{"numberInputs":5},"typeVersion":3.1},{"id":"b86f774c-6c1b-4e49-bb21-68a022aedf94","name":"Chapter 5 Merger","type":"n8n-nodes-base.merge","position":[2340,-1440],"parameters":{"numberInputs":4},"typeVersion":3.1},{"id":"6209c7dc-b8a3-4636-a88e-c416bf8bf650","name":"Chapter 6 Merger","type":"n8n-nodes-base.merge","position":[2340,-40],"parameters":{"numberInputs":4},"typeVersion":3.1},{"id":"276f66e8-f62c-4162-b965-1cb045366f3e","name":"Chapter 7 Merger","type":"n8n-nodes-base.merge","position":[2340,1620],"parameters":{"numberInputs":7},"typeVersion":3.1},{"id":"91045b68-24d8-4dfe-b25b-46ef185293d2","name":"Chapter 8 Merger","type":"n8n-nodes-base.merge","position":[2340,3620],"parameters":{"numberInputs":6},"typeVersion":3.1},{"id":"bf0ac198-366f-44c4-87da-0cb3f9d59b23","name":"Chapter 9 Merger","type":"n8n-nodes-base.merge","position":[2340,5240],"parameters":{"numberInputs":4},"typeVersion":3.1},{"id":"a3557da7-8bb2-49b5-a57e-6a4efafd77ca","name":"Chapter 10 Merger","type":"n8n-nodes-base.merge","position":[2340,6560],"parameters":{"numberInputs":4},"typeVersion":3.1},{"id":"e823b949-31fc-4595-9815-2332f03a8cbe","name":"Chapter 11 Merger","type":"n8n-nodes-base.merge","position":[2340,8380],"parameters":{"numberInputs":8},"typeVersion":3.1},{"id":"f8138d64-e9ae-4481-aa50-7543ad1e53d9","name":"Chapter 13 Merger","type":"n8n-nodes-base.merge","position":[2340,11820],"parameters":{"numberInputs":3},"typeVersion":3.1},{"id":"0d3f5b7a-34d5-4fbb-b625-2b28db31e227","name":"Chapter 12 Merger","type":"n8n-nodes-base.merge","position":[2340,10500],"parameters":{"numberInputs":5},"typeVersion":3.1},{"id":"59f63afe-f0cd-48b6-98f8-6c97b6ce7cb2","name":"Chapter 1 Assembler","type":"n8n-nodes-base.code","position":[2560,-8600],"parameters":{"jsCode":"const input = $input.all();\n\nfunction decode(str) {\n  try {\n    return JSON.parse(`\"${str}\"`);\n  } catch (e) {\n    return str;\n  }\n}\n\nfunction fixNewLines(str) {\n  return decode(str).replace(/\\\\n/g, `\n  `);\n}\n\nconst sections = [\n  { title: \"Mission Statement\", content: fixNewLines(input[0].json.output) },\n  { title: \"Vision Statement\", content: fixNewLines(input[1].json.output) },\n  { title: \"Business Model Overview\", content: fixNewLines(input[2].json.output) },\n  { title: \"Product/Service Brief\", content: fixNewLines(input[3].json.output) },\n  { title: \"Market Opportunity Snapshot\", content: fixNewLines(input[4].json.output) },\n  { title: \"Financial Highlights\", content: fixNewLines(input[5].json.output) },\n  { title: \"Current Status\", content: fixNewLines(input[6].json.output) },\n  { title: \"Funding Needs\", content: fixNewLines(input[7].json.output) }\n];\n\nlet text = \"\";\n\nsections.forEach(section => {\n  text += `# ${section.title}\n${section.content}\n\n`;\n});\n\nreturn {\n  raw_output: sections,\n  text: text\n};"},"typeVersion":2},{"id":"cf9cdfa3-c8dc-4563-8d57-3c22596e82f9","name":"Chapter 2 Assembler","type":"n8n-nodes-base.code","position":[2580,-6460],"parameters":{"jsCode":"const input = $input.all();\n\nfunction decode(str) {\n  try {\n    return JSON.parse(`\"${str}\"`);\n  } catch (e) {\n    return str;\n  }\n}\n\nfunction fixNewLines(str) {\n  return decode(str).replace(/\\\\n/g, `\n  `);\n}\n\nconst sections = [\n  { title: \"Company Overview\", content: fixNewLines(input[0].json.output) },\n  { title: \"Legal Structure\", content: fixNewLines(input[1].json.output) },\n  { title: \"Founders’ Background\", content: fixNewLines(input[2].json.output) },\n  { title: \"History & Milestones\", content: fixNewLines(input[3].json.output) },\n  { title: \"Core Values & Culture\", content: fixNewLines(input[4].json.output) },\n  { title: \"Unique Selling Proposition (USP)\", content: fixNewLines(input[5].json.output) }\n];\n\nlet text = \"\";\n\nsections.forEach(section => {\n  text += `# ${section.title}\n${section.content}\n\n`;\n});\n\nreturn {\n  raw_output: sections,\n  text: text\n};"},"typeVersion":2},{"id":"1c4e2869-9cf4-4dda-8111-a0d711a292d4","name":"Chapter 3 Assembler","type":"n8n-nodes-base.code","position":[2580,-4580],"parameters":{"jsCode":"const input = $input.all();\n\nfunction decode(str) {\n  try {\n    return JSON.parse(`\"${str}\"`);\n  } catch (e) {\n    return str;\n  }\n}\n\nfunction fixNewLines(str) {\n  return decode(str).replace(/\\\\n/g, `\n  `);\n}\n\nconst sections = [\n  { title: \"Industry Overview\", content: fixNewLines(input[0].json.output) },\n  { title: \"Market Size & Growth Trends\", content: fixNewLines(input[1].json.output) },\n  { title: \"Customer Segments\", content: fixNewLines(input[2].json.output) },\n  { title: \"Market Needs & Problems\", content: fixNewLines(input[3].json.output) },\n  { title: \"SWOT Analysis\", content: fixNewLines(input[4].json.output) }\n];\n\nlet text = \"\";\n\nsections.forEach(section => {\n  text += `# ${section.title}\n${section.content}\n\n`;\n});\n\nreturn {\n  raw_output: sections,\n  text: text\n};"},"typeVersion":2},{"id":"c328d265-e07b-4977-a4d0-324e59497c2b","name":"Chapter 4 Assembler","type":"n8n-nodes-base.code","position":[2580,-2860],"parameters":{"jsCode":"const input = $input.all();\n\nfunction decode(str) {\n  try {\n    return JSON.parse(`\"${str}\"`);\n  } catch (e) {\n    return str;\n  }\n}\n\nfunction fixNewLines(str) {\n  return decode(str).replace(/\\\\n/g, `\n  `);\n}\n\nconst sections = [\n  { title: \"Direct Competitors\", content: fixNewLines(input[0].json.output) },\n  { title: \"Indirect Competitors\", content: fixNewLines(input[1].json.output) },\n  { title: \"Competitive Positioning\", content: fixNewLines(input[2].json.output) },\n  { title: \"Barriers to Entry\", content: fixNewLines(input[3].json.output) },\n  { title: \"Competitive Advantage\", content: fixNewLines(input[4].json.output) }\n];\n\nlet text = \"\";\n\nsections.forEach(section => {\n  text += `# ${section.title}\n${section.content}\n\n`;\n});\n\nreturn {\n  raw_output: sections,\n  text: text\n};"},"typeVersion":2},{"id":"388d8add-aef9-4ff1-8f3e-b5543f87118a","name":"Chapter 5 Assembler","type":"n8n-nodes-base.code","position":[2580,-1420],"parameters":{"jsCode":"const input = $input.all();\n\nfunction decode(str) {\n  try {\n    return JSON.parse(`\"${str}\"`);\n  } catch (e) {\n    return str;\n  }\n}\n\nfunction fixNewLines(str) {\n  return decode(str).replace(/\\\\n/g, `\n  `);\n}\n\nconst sections = [\n  { title: \"Customer Interviews\", content: fixNewLines(input[0].json.output) },\n  { title: \"Survey Analysis\", content: fixNewLines(input[1].json.output) },\n  { title: \"Problem-Solution Fit\", content: fixNewLines(input[2].json.output) },\n  { title: \"Proof of Demand\", content: fixNewLines(input[3].json.output) }\n];\n\nlet text = \"\";\n\nsections.forEach(section => {\n  text += `# ${section.title}\n${section.content}\n\n`;\n});\n\nreturn {\n  raw_output: sections,\n  text: text\n};"},"typeVersion":2},{"id":"5d4abb42-7fb6-412c-8da1-60c47716a8ff","name":"Chapter 6 Assembler","type":"n8n-nodes-base.code","position":[2580,-20],"parameters":{"jsCode":"const input = $input.all();\n\nfunction decode(str) {\n  try {\n    return JSON.parse(`\"${str}\"`);\n  } catch (e) {\n    return str;\n  }\n}\n\nfunction fixNewLines(str) {\n  return decode(str).replace(/\\\\n/g, `\n  `);\n}\n\nconst sections = [\n  { title: \"Product/Service Description\", content: fixNewLines(input[0].json.output) },\n  { title: \"Key Features & Benefits\", content: fixNewLines(input[1].json.output) },\n  { title: \"Development Roadmap\", content: fixNewLines(input[2].json.output) },\n  { title: \"Intellectual Property (IP)\", content: fixNewLines(input[3].json.output) }\n];\n\nlet text = \"\";\n\nsections.forEach(section => {\n  text += `# ${section.title}\n${section.content}\n\n`;\n});\n\nreturn {\n  raw_output: sections,\n  text: text\n};"},"typeVersion":2},{"id":"946c7c85-2458-403e-b653-e88132459818","name":"Chapter 7 Assembler","type":"n8n-nodes-base.code","position":[2580,1700],"parameters":{"jsCode":"const input = $input.all();\n\nfunction decode(str) {\n  try {\n    return JSON.parse(`\"${str}\"`);\n  } catch (e) {\n    return str;\n  }\n}\n\nfunction fixNewLines(str) {\n  return decode(str).replace(/\\\\n/g, `\n  `);\n}\n\nconst sections = [\n  { title: \"Brand Strategy\", content: fixNewLines(input[0].json.output) },\n  { title: \"Go-To-Market Strategy\", content: fixNewLines(input[1].json.output) },\n  { title: \"Acquisition Channels\", content: fixNewLines(input[2].json.output) },\n  { title: \"Sales Funnel Stages\", content: fixNewLines(input[3].json.output) },\n  { title: \"Pricing Strategy\", content: fixNewLines(input[4].json.output) },\n  { title: \"Customer Retention Plans\", content: fixNewLines(input[5].json.output) },\n  { title: \"Guerrilla / Viral Campaigns\", content: fixNewLines(input[6].json.output) }\n];\n\nlet text = \"\";\n\nsections.forEach(section => {\n  text += `# ${section.title}\n${section.content}\n\n`;\n});\n\nreturn {\n  raw_output: sections,\n  text: text\n};"},"typeVersion":2},{"id":"c017ecc4-0395-48f7-98f4-59a70226d435","name":"Chapter 8 Assembler","type":"n8n-nodes-base.code","position":[2600,3680],"parameters":{"jsCode":"const input = $input.all();\n\nfunction decode(str) {\n  try {\n    return JSON.parse(`\"${str}\"`);\n  } catch (e) {\n    return str;\n  }\n}\n\nfunction fixNewLines(str) {\n  return decode(str).replace(/\\\\n/g, `\n  `);\n}\n\nconst sections = [\n  { title: \"Daily Operations Workflow\", content: fixNewLines(input[0].json.output) },\n  { title: \"Tools and Systems\", content: fixNewLines(input[1].json.output) },\n  { title: \"Supplier and Vendor Management\", content: fixNewLines(input[2].json.output) },\n  { title: \"Legal Compliance\", content: fixNewLines(input[3].json.output) },\n  { title: \"Logistics & Fulfillment\", content: fixNewLines(input[4].json.output) },\n  { title: \"KPIs & Monitoring Systems\", content: fixNewLines(input[5].json.output) }\n];\n\nlet text = \"\";\n\nsections.forEach(section => {\n  text += `# ${section.title}\n${section.content}\n\n`;\n});\n\nreturn {\n  raw_output: sections,\n  text: text\n};"},"typeVersion":2},{"id":"a2e8a27a-d0ec-49a8-ac58-929737836ca6","name":"Chapter 9 Assembler","type":"n8n-nodes-base.code","position":[2600,5260],"parameters":{"jsCode":"const input = $input.all();\n\nfunction decode(str) {\n  try {\n    return JSON.parse(`\"${str}\"`);\n  } catch (e) {\n    return str;\n  }\n}\n\nfunction fixNewLines(str) {\n  return decode(str).replace(/\\\\n/g, `\n  `);\n}\n\nconst sections = [\n  { title: \"Organizational Chart\", content: fixNewLines(input[0].json.output) },\n  { title: \"Founders & Key Roles\", content: fixNewLines(input[1].json.output) },\n  { title: \"Hiring Plan\", content: fixNewLines(input[2].json.output) },\n  { title: \"Advisory Board\", content: fixNewLines(input[3].json.output) }\n];\n\nlet text = \"\";\n\nsections.forEach(section => {\n  text += `# ${section.title}\n${section.content}\n\n`;\n});\n\nreturn {\n  raw_output: sections,\n  text: text\n};"},"typeVersion":2},{"id":"8320e725-8483-44ca-a334-6d299c3162e2","name":"Chapter 10 Assembler","type":"n8n-nodes-base.code","position":[2600,6580],"parameters":{"jsCode":"const input = $input.all();\n\nfunction decode(str) {\n  try {\n    return JSON.parse(`\"${str}\"`);\n  } catch (e) {\n    return str;\n  }\n}\n\nfunction fixNewLines(str) {\n  return decode(str).replace(/\\\\n/g, `\n  `);\n}\n\nconst sections = [\n  { title: \"Technical Architecture\", content: fixNewLines(input[0].json.output) },\n  { title: \"Technology Stack\", content: fixNewLines(input[1].json.output) },\n  { title: \"Innovation Strategy\", content: fixNewLines(input[2].json.output) },\n  { title: \"IP and Patent Strategy\", content: fixNewLines(input[3].json.output) }\n];\n\nlet text = \"\";\n\nsections.forEach(section => {\n  text += `# ${section.title}\n${section.content}\n\n`;\n});\n\nreturn {\n  raw_output: sections,\n  text: text\n};"},"typeVersion":2},{"id":"74e90648-0b85-4a78-bd0b-17e74f0f5b30","name":"Chapter 11 Assembler","type":"n8n-nodes-base.code","position":[2580,8480],"parameters":{"jsCode":"const input = $input.all();\n\nfunction decode(str) {\n  try {\n    return JSON.parse(`\"${str}\"`);\n  } catch (e) {\n    return str;\n  }\n}\n\nfunction fixNewLines(str) {\n  return decode(str).replace(/\\\\n/g, `\n  `);\n}\n\nconst sections = [\n  { title: \"Revenue Model\", content: fixNewLines(input[0].json.output) },\n  { title: \"3-5 Year Financial Projections\", content: fixNewLines(input[1].json.output) },\n  { title: \"Cash Flow Management\", content: fixNewLines(input[2].json.output) },\n  { title: \"Profit and Loss Statements\", content: fixNewLines(input[3].json.output) },\n  { title: \"Cap Table\", content: fixNewLines(input[4].json.output) },\n  { title: \"Funding Strategy\", content: fixNewLines(input[5].json.output) },\n  { title: \"Break-Even Analysis\", content: fixNewLines(input[6].json.output) },\n  { title: \"Sensitivity Analysis\", content: fixNewLines(input[7].json.output) }\n];\n\nlet text = \"\";\n\nsections.forEach(section => {\n  text += `# ${section.title}\n${section.content}\n\n`;\n});\n\nreturn {\n  raw_output: sections,\n  text: text\n};"},"typeVersion":2},{"id":"ea71437e-fa2d-4d87-ad65-16df7ce34a5e","name":"Chapter 12 Assembler","type":"n8n-nodes-base.code","position":[2580,10540],"parameters":{"jsCode":"const input = $input.all();\n\nfunction decode(str) {\n  try {\n    return JSON.parse(`\"${str}\"`);\n  } catch (e) {\n    return str;\n  }\n}\n\nfunction fixNewLines(str) {\n  return decode(str).replace(/\\\\n/g, `\n  `);\n}\n\nconst sections = [\n  { title: \"Operational Risks\", content: fixNewLines(input[0].json.output) },\n  { title: \"Market Risks\", content: fixNewLines(input[1].json.output) },\n  { title: \"Financial Risks\", content: fixNewLines(input[2].json.output) },\n  { title: \"Legal Risks\", content: fixNewLines(input[3].json.output) },\n  { title: \"Contingency Planning\", content: fixNewLines(input[4].json.output) }\n];\n\nlet text = \"\";\n\nsections.forEach(section => {\n  text += `# ${section.title}\n${section.content}\n\n`;\n});\n\nreturn {\n  raw_output: sections,\n  text: text\n};"},"typeVersion":2},{"id":"be2cc416-8140-458d-a5d8-643300a3c241","name":"Chapter 13 Assembler","type":"n8n-nodes-base.code","position":[2580,11820],"parameters":{"jsCode":"const input = $input.all();\n\nfunction decode(str) {\n  try {\n    return JSON.parse(`\"${str}\"`);\n  } catch (e) {\n    return str;\n  }\n}\n\nfunction fixNewLines(str) {\n  return decode(str).replace(/\\\\n/g, `\n  `);\n}\n\nconst sections = [\n  { title: \"Potential Exit Routes\", content: fixNewLines(input[0].json.output) },\n  { title: \"Exit Timeline\", content: fixNewLines(input[1].json.output) },\n  { title: \"Success Metrics for Exit\", content: fixNewLines(input[2].json.output) }\n];\n\nlet text = \"\";\n\nsections.forEach(section => {\n  text += `# ${section.title}\n${section.content}\n\n`;\n});\n\nreturn {\n  raw_output: sections,\n  text: text\n};"},"typeVersion":2},{"id":"ec0808c7-9bec-4b87-aaf0-0e57f9fa8024","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[-960,-9620],"parameters":{"color":5,"width":3900,"height":22520,"content":"## Writing Individual Chapters\n\nEach node represents an agent that is highly skilled in its specific area of expertise.  \nIt generates the content for its assigned section based on the provided idea."},"typeVersion":1},{"id":"92992519-f5a4-4654-b29f-0f5885324c9e","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[7200,3540],"parameters":{"color":7,"width":1040,"height":1320,"content":"## Merging all outputs\n"},"typeVersion":1},{"id":"e9905d75-440c-41a6-bebd-cc8880cea85d","name":"Merge results 1/2","type":"n8n-nodes-base.merge","position":[7320,3620],"parameters":{"numberInputs":10},"typeVersion":3.1},{"id":"1fb23d4e-2e5a-4638-b428-4167420611c1","name":"Merge results 1/","type":"n8n-nodes-base.merge","position":[7300,4620],"parameters":{"numberInputs":3},"typeVersion":3.1},{"id":"f640065c-3979-4298-bf1f-818edf263583","name":"Merge results","type":"n8n-nodes-base.merge","position":[8080,4200],"parameters":{},"typeVersion":3.1},{"id":"64d255ca-f9dc-4d8b-a136-5442c7014785","name":"Result organizer","type":"n8n-nodes-base.code","position":[8300,4200],"parameters":{"jsCode":"// Loop over input items and add a new field called 'myNewField' to the JSON of each one\n\n\nreturn {\n  \"final_output\":`${$input.all()[0].json.text}\\n\\n\\n\n  ${$input.all()[1].json.text}\\n\\n\\n\n  ${$input.all()[2].json.text}\\n\\n\\n\n  ${$input.all()[3].json.text}\\n\\n\\n\n  ${$input.all()[4].json.text}\\n\\n\\n\n  ${$input.all()[5].json.text}\\n\\n\\n\n  ${$input.all()[6].json.text}\\n\\n\\n\n  ${$input.all()[7].json.text}\\n\\n\\n\n  ${$input.all()[8].json.text}\\n\\n\\n\n  ${$input.all()[9].json.text}\\n\\n\\n\n  ${$input.all()[10].json.text}\\n\\n\\n\n  ${$input.all()[11].json.text}\\n\\n\\n\n  ${$input.all()[12].json.text}\\n\\n\\n`\n}"},"typeVersion":2},{"id":"bb272e3f-1a52-47c6-8693-35b53f25a93d","name":"Final result","type":"n8n-nodes-base.convertToFile","position":[8520,4200],"parameters":{"options":{"fileName":"business plan.md"},"operation":"toText","sourceProperty":"final_output"},"typeVersion":1.1},{"id":"7b788327-d251-4c81-8240-f513c6ec5c7e","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[8480,3980],"parameters":{"width":540,"height":400,"content":"## End of Process\n\nAfter completing all the steps, click on this node to download the final result file.\n\nIf you have any further questions, feel free to contact me:  \n📧 **sinamirshafiee@gmail.com**"},"typeVersion":1},{"id":"d092848f-3a9e-4d35-8c8f-7fbc1ec5eaa5","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-3180,17320],"parameters":{"color":7,"width":1100,"height":140,"content":"## LLM is changeable\nYou can change the LLM to others like Chat GPT models."},"typeVersion":1},{"id":"7b7b5595-7eec-4375-b730-7985b366fc3d","name":"Ollama Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatOllama","position":[-2220,17340],"parameters":{"model":"llama3.1:latest","options":{}},"credentials":{"ollamaApi":{"id":"FQ4BFsQ96rFv3C4V","name":"Ollama account"}},"typeVersion":1},{"id":"2f7f2b38-2471-4e26-9a04-3980df3b678e","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-1860,1480],"parameters":{"color":4,"width":840,"height":400,"content":"## How to Use It\n\nTo get started, open the chat and describe your business.  \nThe more specific you are, the better the business plan will be.\n\nIt’s a good idea to include details or any other relevant information.\n\nIf you have any questions, feel free to email me at:  \n**sinamirshafiee@gmail.com**\n\n\n**Note:**  \nThis is version **0.1.0**, so please keep in mind that there may still be some bugs.  \nI'd love to hear your feedback, just drop me a message at **sinamirshafiee@gmail.com**!"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"414b23db-0cd1-45ec-97b8-b00121832243","connections":{"Merge results":{"main":[[{"node":"Result organizer","type":"main","index":0}]]},"Outliner Agent":{"main":[[{"node":"1. Executive Summary Chapter Agent","type":"main","index":0},{"node":"2. Business Description Outliner Agent","type":"main","index":0},{"node":"3. Market Analysis Outliner Agent","type":"main","index":0},{"node":"4. Competitor Analysis Outliner Agent","type":"main","index":0},{"node":"5. Customer Discovery & Validation Outliner Agent","type":"main","index":0},{"node":"6. Products & Services Outliner Agent","type":"main","index":0},{"node":"7. Marketing & Sales Strategy Outliner Agent","type":"main","index":0},{"node":"8.  Operations Plan Outliner Agent","type":"main","index":0},{"node":"9. Team & Organization Outliner Agent","type":"main","index":0},{"node":"10. Technology & Innovation Outliner Agent","type":"main","index":0},{"node":"11. Financial Plan Outliner Agent","type":"main","index":0},{"node":"12. Risk Management Outliner Agent","type":"main","index":0},{"node":"13. Exit Strategy Outliner Agent","type":"main","index":0}]]},"Chapter 1 Merger":{"main":[[{"node":"Chapter 1 Assembler","type":"main","index":0}]]},"Chapter 2 Merger":{"main":[[{"node":"Chapter 2 Assembler","type":"main","index":0}]]},"Chapter 3 Merger":{"main":[[{"node":"Chapter 3 Assembler","type":"main","index":0}]]},"Chapter 4 Merger":{"main":[[{"node":"Chapter 4 Assembler","type":"main","index":0}]]},"Chapter 5 Merger":{"main":[[{"node":"Chapter 5 Assembler","type":"main","index":0}]]},"Chapter 6 Merger":{"main":[[{"node":"Chapter 6 Assembler","type":"main","index":0}]]},"Chapter 7 Merger":{"main":[[{"node":"Chapter 7 Assembler","type":"main","index":0}]]},"Chapter 8 Merger":{"main":[[{"node":"Chapter 8 Assembler","type":"main","index":0}]]},"Chapter 9 Merger":{"main":[[{"node":"Chapter 9 Assembler","type":"main","index":0}]]},"Merge results 1/":{"main":[[{"node":"Merge results","type":"main","index":1}]]},"Result organizer":{"main":[[{"node":"Final result","type":"main","index":0}]]},"Chapter 10 Merger":{"main":[[{"node":"Chapter 10 Assembler","type":"main","index":0}]]},"Chapter 11 Merger":{"main":[[{"node":"Chapter 11 Assembler","type":"main","index":0}]]},"Chapter 12 Merger":{"main":[[{"node":"Chapter 12 Assembler","type":"main","index":0}]]},"Chapter 13 Merger":{"main":[[{"node":"Chapter 13 Assembler","type":"main","index":0}]]},"Merge results 1/2":{"main":[[{"node":"Merge results","type":"main","index":0}]]},"Ollama Chat Model":{"ai_languageModel":[[{"node":"1. Executive Summary Chapter Agent","type":"ai_languageModel","index":0},{"node":"1.1 Mission Statement Final Agent1","type":"ai_languageModel","index":0},{"node":"1.2 Vision Statement Final Agent","type":"ai_languageModel","index":0},{"node":"1.3 Business Model Overview Final Agent","type":"ai_languageModel","index":0},{"node":"1.4 Product/Service Brief Final Agent","type":"ai_languageModel","index":0},{"node":"1.5 Market Opportunity Snapshot Final Agent","type":"ai_languageModel","index":0},{"node":"1.6 Financial Highlights Final Agent","type":"ai_languageModel","index":0},{"node":"1.7 Current Status Final Agent","type":"ai_languageModel","index":0},{"node":"1.8 Funding Needs Final Agent","type":"ai_languageModel","index":0},{"node":"2. Business Description Outliner Agent","type":"ai_languageModel","index":0},{"node":"2.1 Company Overview Final Agent","type":"ai_languageModel","index":0},{"node":"2.2 Legal Structure Final Agent","type":"ai_languageModel","index":0},{"node":"2.3 Founders’ Background Final Agent","type":"ai_languageModel","index":0},{"node":"2.4 History & Milestones Final Agent","type":"ai_languageModel","index":0},{"node":"2.5 Core Values & Culture Final Agent","type":"ai_languageModel","index":0},{"node":"2.6 Unique Selling Proposition (USP) Final Agent","type":"ai_languageModel","index":0},{"node":"3. Market Analysis Outliner Agent","type":"ai_languageModel","index":0},{"node":"3.1 Industry Overview Final Agent","type":"ai_languageModel","index":0},{"node":"3.2 Market Size & Growth Trends Final Agent","type":"ai_languageModel","index":0},{"node":"3.3 Customer Segments Final Agent","type":"ai_languageModel","index":0},{"node":"3.4 Market Needs & Problems Final Agent","type":"ai_languageModel","index":0},{"node":"3.5 SWOT Analysis Final Agent","type":"ai_languageModel","index":0},{"node":"4. Competitor Analysis Outliner Agent","type":"ai_languageModel","index":0},{"node":"4.1 Direct Competitors Final Agent","type":"ai_languageModel","index":0},{"node":"4.2 Indirect Competitors Final Agent","type":"ai_languageModel","index":0},{"node":"4.3 Competitive Positioning Final Agent","type":"ai_languageModel","index":0},{"node":"4.4 Barriers to Entry Final Agent","type":"ai_languageModel","index":0},{"node":"4.5 Competitive Advantage Final Agent","type":"ai_languageModel","index":0},{"node":"5. Customer Discovery & Validation Outliner Agent","type":"ai_languageModel","index":0},{"node":"5.1 Customer Interviews Final Agent","type":"ai_languageModel","index":0},{"node":"5.2 Survey Analysis Final Agent","type":"ai_languageModel","index":0},{"node":"5.3 Problem-Solution Fit Final Agent","type":"ai_languageModel","index":0},{"node":"5.4 Proof of Demand Final Agent","type":"ai_languageModel","index":0},{"node":"6. Products & Services Outliner Agent","type":"ai_languageModel","index":0},{"node":"6.1 Product/Service Description Final Agent","type":"ai_languageModel","index":0},{"node":"6.2 Key Features & Benefits Final Agent","type":"ai_languageModel","index":0},{"node":"6.3 Development Roadmap Final Agent","type":"ai_languageModel","index":0},{"node":"6.4 Intellectual Property (IP) Final Agent","type":"ai_languageModel","index":0},{"node":"7. Marketing & Sales Strategy Outliner Agent","type":"ai_languageModel","index":0},{"node":"7.1 Brand Strategy Final Agent","type":"ai_languageModel","index":0},{"node":"7.2 Go-To-Market Strategy Final Agent","type":"ai_languageModel","index":0},{"node":"7.3 Acquisition Channels Final Agent","type":"ai_languageModel","index":0},{"node":"7.4 Sales Funnel Stages Final Agent","type":"ai_languageModel","index":0},{"node":"7.5 Pricing Strategy Final Agent","type":"ai_languageModel","index":0},{"node":"7.6 Customer Retention Plans Final Agent","type":"ai_languageModel","index":0},{"node":"7.7 Guerrilla / Viral Campaigns Final Agent","type":"ai_languageModel","index":0},{"node":"8.  Operations Plan Outliner Agent","type":"ai_languageModel","index":0},{"node":"8.1 Daily Operations Workflow Final Agent","type":"ai_languageModel","index":0},{"node":"8.2 Tools and Systems Final Agent","type":"ai_languageModel","index":0},{"node":"8.3 Supplier and Vendor Management Final Agent","type":"ai_languageModel","index":0},{"node":"8.4 Legal Compliance Final Agent","type":"ai_languageModel","index":0},{"node":"8.5 Logistics & Fulfillment Final Agent","type":"ai_languageModel","index":0},{"node":"8.6 KPIs & Monitoring Systems Final Agent","type":"ai_languageModel","index":0},{"node":"9.1 Organizational Chart Final Agent","type":"ai_languageModel","index":0},{"node":"9. Team & Organization Outliner Agent","type":"ai_languageModel","index":0},{"node":"9.2 Founders & Key Roles Final Agent","type":"ai_languageModel","index":0},{"node":"9.3 Hiring Plan Final Agent","type":"ai_languageModel","index":0},{"node":"9.4 Advisory Board Final Agent","type":"ai_languageModel","index":0},{"node":"10. Technology & Innovation Outliner Agent","type":"ai_languageModel","index":0},{"node":"10.1 Technical Architecture Final Agent","type":"ai_languageModel","index":0},{"node":"10.2 Technology Stack Final Agent","type":"ai_languageModel","index":0},{"node":"10.3 Innovation Strategy Final Agent","type":"ai_languageModel","index":0},{"node":"10.4 IP and Patent Strategy Final Agent","type":"ai_languageModel","index":0},{"node":"11. Financial Plan Outliner Agent","type":"ai_languageModel","index":0},{"node":"11.1 Revenue Model Final Agent","type":"ai_languageModel","index":0},{"node":"11.2 3-5 Year Financial Projections Final Agent","type":"ai_languageModel","index":0},{"node":"11.3 Cash Flow Management Final Agent","type":"ai_languageModel","index":0},{"node":"11.4 Profit and Loss Statements Final Agent","type":"ai_languageModel","index":0},{"node":"11.5 Cap Table Final Agent","type":"ai_languageModel","index":0},{"node":"11.6 Funding Strategy Final Agent","type":"ai_languageModel","index":0},{"node":"11.7 Break-Even Analysis Final Agent","type":"ai_languageModel","index":0},{"node":"11.8 Sensitivity Analysis Final Agent","type":"ai_languageModel","index":0},{"node":"12. Risk Management Outliner Agent","type":"ai_languageModel","index":0},{"node":"12.1 Operational Risks Final Agent","type":"ai_languageModel","index":0},{"node":"12.2 Market Risks Final Agent","type":"ai_languageModel","index":0},{"node":"12.3 Financial Risks Final Agent","type":"ai_languageModel","index":0},{"node":"12.4 Legal Risks Final Agent","type":"ai_languageModel","index":0},{"node":"12.5 Contingency Planning Final Agent","type":"ai_languageModel","index":0},{"node":"13. Exit Strategy Outliner Agent","type":"ai_languageModel","index":0},{"node":"13.1 Potential Exit Routes Final Agent","type":"ai_languageModel","index":0},{"node":"13.2 Exit Timeline Final Agent","type":"ai_languageModel","index":0},{"node":"13.3 Success Metrics for Exit Final Agent","type":"ai_languageModel","index":0},{"node":"Outliner Agent","type":"ai_languageModel","index":0}]]},"Chapter 1 Assembler":{"main":[[{"node":"Merge results 1/2","type":"main","index":0}]]},"Chapter 2 Assembler":{"main":[[{"node":"Merge results 1/2","type":"main","index":1}]]},"Chapter 3 Assembler":{"main":[[{"node":"Merge results 1/2","type":"main","index":2}]]},"Chapter 4 Assembler":{"main":[[{"node":"Merge results 1/2","type":"main","index":3}]]},"Chapter 5 Assembler":{"main":[[{"node":"Merge results 1/2","type":"main","index":4}]]},"Chapter 6 Assembler":{"main":[[{"node":"Merge results 1/2","type":"main","index":5}]]},"Chapter 7 Assembler":{"main":[[{"node":"Merge results 1/2","type":"main","index":6}]]},"Chapter 8 Assembler":{"main":[[{"node":"Merge results 1/2","type":"main","index":7}]]},"Chapter 9 Assembler":{"main":[[{"node":"Merge results 1/2","type":"main","index":8}]]},"Chapter 10 Assembler":{"main":[[{"node":"Merge results 1/2","type":"main","index":9}]]},"Chapter 11 Assembler":{"main":[[{"node":"Merge results 1/","type":"main","index":0}]]},"Chapter 12 Assembler":{"main":[[{"node":"Merge results 1/","type":"main","index":1}]]},"Chapter 13 Assembler":{"main":[[{"node":"Merge results 1/","type":"main","index":2}]]},"11.5 Cap Table Final Agent":{"main":[[{"node":"Chapter 11 Merger","type":"main","index":4}]]},"When chat message received":{"main":[[{"node":"Outliner Agent","type":"main","index":0}]]},"9.3 Hiring Plan Final Agent":{"main":[[{"node":"Chapter 9 Merger","type":"main","index":2}]]},"12.4 Legal Risks Final Agent":{"main":[[{"node":"Chapter 12 Merger","type":"main","index":3}]]},"1.8 Funding Needs Final Agent":{"main":[[{"node":"Chapter 1 Merger","type":"main","index":7}]]},"12.2 Market Risks Final Agent":{"main":[[{"node":"Chapter 12 Merger","type":"main","index":1}]]},"3.5 SWOT Analysis Final Agent":{"main":[[{"node":"Chapter 3 Merger","type":"main","index":4}]]},"1.7 Current Status Final Agent":{"main":[[{"node":"Chapter 1 Merger","type":"main","index":6}]]},"11.1 Revenue Model Final Agent":{"main":[[{"node":"Chapter 11 Merger","type":"main","index":0}]]},"13.2 Exit Timeline Final Agent":{"main":[[{"node":"Chapter 13 Merger","type":"main","index":1}]]},"7.1 Brand Strategy Final Agent":{"main":[[{"node":"Chapter 7 Merger","type":"main","index":0}]]},"9.4 Advisory Board Final Agent":{"main":[[{"node":"Chapter 9 Merger","type":"main","index":3}]]},"2.2 Legal Structure Final Agent":{"main":[[{"node":"Chapter 2 Merger","type":"main","index":1}]]},"5.2 Survey Analysis Final Agent":{"main":[[{"node":"Chapter 5 Merger","type":"main","index":1}]]},"5.4 Proof of Demand Final Agent":{"main":[[{"node":"Chapter 5 Merger","type":"main","index":3}]]},"1.2 Vision Statement Final Agent":{"main":[[{"node":"Chapter 1 Merger","type":"main","index":1}]]},"12.3 Financial Risks Final Agent":{"main":[[{"node":"Chapter 12 Merger","type":"main","index":2}]]},"13. Exit Strategy Outliner Agent":{"main":[[{"node":"13.1 Potential Exit Routes Final Agent","type":"main","index":0},{"node":"13.2 Exit Timeline Final Agent","type":"main","index":0},{"node":"13.3 Success Metrics for Exit Final Agent","type":"main","index":0}]]},"2.1 Company Overview Final Agent":{"main":[[{"node":"Chapter 2 Merger","type":"main","index":0}]]},"7.5 Pricing Strategy Final Agent":{"main":[[{"node":"Chapter 7 Merger","type":"main","index":4}]]},"8.4 Legal Compliance Final Agent":{"main":[[{"node":"Chapter 8 Merger","type":"main","index":3}]]},"10.2 Technology Stack Final Agent":{"main":[[{"node":"Chapter 10 Merger","type":"main","index":1}]]},"11. Financial Plan Outliner Agent":{"main":[[{"node":"11.1 Revenue Model Final Agent","type":"main","index":0},{"node":"11.2 3-5 Year Financial Projections Final Agent","type":"main","index":0},{"node":"11.3 Cash Flow Management Final Agent","type":"main","index":0},{"node":"11.4 Profit and Loss Statements Final Agent","type":"main","index":0},{"node":"11.5 Cap Table Final Agent","type":"main","index":0},{"node":"11.6 Funding Strategy Final Agent","type":"main","index":0},{"node":"11.7 Break-Even Analysis Final Agent","type":"main","index":0},{"node":"11.8 Sensitivity Analysis Final Agent","type":"main","index":0}]]},"11.6 Funding Strategy Final Agent":{"main":[[{"node":"Chapter 11 Merger","type":"main","index":5}]]},"3. Market Analysis Outliner Agent":{"main":[[{"node":"3.1 Industry Overview Final Agent","type":"main","index":0},{"node":"3.2 Market Size & Growth Trends Final Agent","type":"main","index":0},{"node":"3.3 Customer Segments Final Agent","type":"main","index":0},{"node":"3.4 Market Needs & Problems Final Agent","type":"main","index":0},{"node":"3.5 SWOT Analysis Final Agent","type":"main","index":0}]]},"3.1 Industry Overview Final Agent":{"main":[[{"node":"Chapter 3 Merger","type":"main","index":0}]]},"3.3 Customer Segments Final Agent":{"main":[[{"node":"Chapter 3 Merger","type":"main","index":2}]]},"4.4 Barriers to Entry Final Agent":{"main":[[{"node":"Chapter 4 Merger","type":"main","index":3}]]},"8.2 Tools and Systems Final Agent":{"main":[[{"node":"Chapter 8 Merger","type":"main","index":1}]]},"1. Executive Summary Chapter Agent":{"main":[[{"node":"1.1 Mission Statement Final Agent1","type":"main","index":0},{"node":"1.2 Vision Statement Final Agent","type":"main","index":0},{"node":"1.3 Business Model Overview Final Agent","type":"main","index":0},{"node":"1.4 Product/Service Brief Final Agent","type":"main","index":0},{"node":"1.5 Market Opportunity Snapshot Final Agent","type":"main","index":0},{"node":"1.6 Financial Highlights Final Agent","type":"main","index":0},{"node":"1.7 Current Status Final Agent","type":"main","index":0},{"node":"1.8 Funding Needs Final Agent","type":"main","index":0}]]},"1.1 Mission Statement Final Agent1":{"main":[[{"node":"Chapter 1 Merger","type":"main","index":0}]]},"12. Risk Management Outliner Agent":{"main":[[{"node":"12.1 Operational Risks Final Agent","type":"main","index":0},{"node":"12.2 Market Risks Final Agent","type":"main","index":0},{"node":"12.3 Financial Risks Final Agent","type":"main","index":0},{"node":"12.4 Legal Risks Final Agent","type":"main","index":0},{"node":"12.5 Contingency Planning Final Agent","type":"main","index":0}]]},"12.1 Operational Risks Final Agent":{"main":[[{"node":"Chapter 12 Merger","type":"main","index":0}]]},"4.1 Direct Competitors Final Agent":{"main":[[{"node":"Chapter 4 Merger","type":"main","index":0}]]},"8.  Operations Plan Outliner Agent":{"main":[[{"node":"8.1 Daily Operations Workflow Final Agent","type":"main","index":0},{"node":"8.2 Tools and Systems Final Agent","type":"main","index":0},{"node":"8.3 Supplier and Vendor Management Final Agent","type":"main","index":0},{"node":"8.4 Legal Compliance Final Agent","type":"main","index":0},{"node":"8.5 Logistics & Fulfillment Final Agent","type":"main","index":0},{"node":"8.6 KPIs & Monitoring Systems Final Agent","type":"main","index":0}]]},"5.1 Customer Interviews Final Agent":{"main":[[{"node":"Chapter 5 Merger","type":"main","index":0}]]},"6.3 Development Roadmap Final Agent":{"main":[[{"node":"Chapter 6 Merger","type":"main","index":2}]]},"7.4 Sales Funnel Stages Final Agent":{"main":[[{"node":"Chapter 7 Merger","type":"main","index":3}]]},"1.6 Financial Highlights Final Agent":{"main":[[{"node":"Chapter 1 Merger","type":"main","index":5}]]},"10.3 Innovation Strategy Final Agent":{"main":[[{"node":"Chapter 10 Merger","type":"main","index":2}]]},"11.7 Break-Even Analysis Final Agent":{"main":[[{"node":"Chapter 11 Merger","type":"main","index":6}]]},"2.4 History & Milestones Final Agent":{"main":[[{"node":"Chapter 2 Merger","type":"main","index":3}]]},"4.2 Indirect Competitors Final Agent":{"main":[[{"node":"Chapter 4 Merger","type":"main","index":1}]]},"5.3 Problem-Solution Fit Final Agent":{"main":[[{"node":"Chapter 5 Merger","type":"main","index":2}]]},"7.3 Acquisition Channels Final Agent":{"main":[[{"node":"Chapter 7 Merger","type":"main","index":2}]]},"9.1 Organizational Chart Final Agent":{"main":[[{"node":"Chapter 9 Merger","type":"main","index":0}]]},"9.2 Founders & Key Roles Final Agent":{"main":[[{"node":"Chapter 9 Merger","type":"main","index":1}]]},"1.4 Product/Service Brief Final Agent":{"main":[[{"node":"Chapter 1 Merger","type":"main","index":3}]]},"11.3 Cash Flow Management Final Agent":{"main":[[{"node":"Chapter 11 Merger","type":"main","index":2}]]},"11.8 Sensitivity Analysis Final Agent":{"main":[[{"node":"Chapter 11 Merger","type":"main","index":7}]]},"12.5 Contingency Planning Final Agent":{"main":[[{"node":"Chapter 12 Merger","type":"main","index":4}]]},"2.5 Core Values & Culture Final Agent":{"main":[[{"node":"Chapter 2 Merger","type":"main","index":4}]]},"4. Competitor Analysis Outliner Agent":{"main":[[{"node":"4.1 Direct Competitors Final Agent","type":"main","index":0},{"node":"4.2 Indirect Competitors Final Agent","type":"main","index":0},{"node":"4.3 Competitive Positioning Final Agent","type":"main","index":0},{"node":"4.4 Barriers to Entry Final Agent","type":"main","index":0},{"node":"4.5 Competitive Advantage Final Agent","type":"main","index":0}]]},"4.5 Competitive Advantage Final Agent":{"main":[[{"node":"Chapter 4 Merger","type":"main","index":4}]]},"6. Products & Services Outliner Agent":{"main":[[{"node":"6.1 Product/Service Description Final Agent","type":"main","index":0},{"node":"6.2 Key Features & Benefits Final Agent","type":"main","index":0},{"node":"6.3 Development Roadmap Final Agent","type":"main","index":0},{"node":"6.4 Intellectual Property (IP) Final Agent","type":"main","index":0}]]},"7.2 Go-To-Market Strategy Final Agent":{"main":[[{"node":"Chapter 7 Merger","type":"main","index":1}]]},"9. Team & Organization Outliner Agent":{"main":[[{"node":"9.1 Organizational Chart Final Agent","type":"main","index":0},{"node":"9.2 Founders & Key Roles Final Agent","type":"main","index":0},{"node":"9.3 Hiring Plan Final Agent","type":"main","index":0},{"node":"9.4 Advisory Board Final Agent","type":"main","index":0}]]},"13.1 Potential Exit Routes Final Agent":{"main":[[{"node":"Chapter 13 Merger","type":"main","index":0}]]},"2. Business Description Outliner Agent":{"main":[[{"node":"2.1 Company Overview Final Agent","type":"main","index":0},{"node":"2.2 Legal Structure Final Agent","type":"main","index":0},{"node":"2.3 Founders’ Background Final Agent","type":"main","index":0},{"node":"2.4 History & Milestones Final Agent","type":"main","index":0},{"node":"2.5 Core Values & Culture Final Agent","type":"main","index":0},{"node":"2.6 Unique Selling Proposition (USP) Final Agent","type":"main","index":0}]]},"2.3 Founders’ Background Final Agent":{"main":[[{"node":"Chapter 2 Merger","type":"main","index":2}]]},"1.3 Business Model Overview Final Agent":{"main":[[{"node":"Chapter 1 Merger","type":"main","index":2}]]},"10.1 Technical Architecture Final Agent":{"main":[[{"node":"Chapter 10 Merger","type":"main","index":0}]]},"10.4 IP and Patent Strategy Final Agent":{"main":[[{"node":"Chapter 10 Merger","type":"main","index":3}]]},"3.4 Market Needs & Problems Final Agent":{"main":[[{"node":"Chapter 3 Merger","type":"main","index":3}]]},"4.3 Competitive Positioning Final Agent":{"main":[[{"node":"Chapter 4 Merger","type":"main","index":2}]]},"6.2 Key Features & Benefits Final Agent":{"main":[[{"node":"Chapter 6 Merger","type":"main","index":1}]]},"8.5 Logistics & Fulfillment Final Agent":{"main":[[{"node":"Chapter 8 Merger","type":"main","index":4}]]},"7.6 Customer Retention Plans Final Agent":{"main":[[{"node":"Chapter 7 Merger","type":"main","index":5}]]},"13.3 Success Metrics for Exit Final Agent":{"main":[[{"node":"Chapter 13 Merger","type":"main","index":2}]]},"8.1 Daily Operations Workflow Final Agent":{"main":[[{"node":"Chapter 8 Merger","type":"main","index":0}]]},"8.6 KPIs & Monitoring Systems Final Agent":{"main":[[{"node":"Chapter 8 Merger","type":"main","index":5}]]},"10. Technology & Innovation Outliner Agent":{"main":[[{"node":"10.1 Technical Architecture Final Agent","type":"main","index":0},{"node":"10.2 Technology Stack Final Agent","type":"main","index":0},{"node":"10.3 Innovation Strategy Final Agent","type":"main","index":0},{"node":"10.4 IP and Patent Strategy Final Agent","type":"main","index":0}]]},"6.4 Intellectual Property (IP) Final Agent":{"main":[[{"node":"Chapter 6 Merger","type":"main","index":3}]]},"1.5 Market Opportunity Snapshot Final Agent":{"main":[[{"node":"Chapter 1 Merger","type":"main","index":4}]]},"11.4 Profit and Loss Statements Final Agent":{"main":[[{"node":"Chapter 11 Merger","type":"main","index":3}]]},"3.2 Market Size & Growth Trends Final Agent":{"main":[[{"node":"Chapter 3 Merger","type":"main","index":1}]]},"6.1 Product/Service Description Final Agent":{"main":[[{"node":"Chapter 6 Merger","type":"main","index":0}]]},"7.7 Guerrilla / Viral Campaigns Final Agent":{"main":[[{"node":"Chapter 7 Merger","type":"main","index":6}]]},"7. Marketing & Sales Strategy Outliner Agent":{"main":[[{"node":"7.1 Brand Strategy Final Agent","type":"main","index":0},{"node":"7.2 Go-To-Market Strategy Final Agent","type":"main","index":0},{"node":"7.3 Acquisition Channels Final Agent","type":"main","index":0},{"node":"7.4 Sales Funnel Stages Final Agent","type":"main","index":0},{"node":"7.5 Pricing Strategy Final Agent","type":"main","index":0},{"node":"7.6 Customer Retention Plans Final Agent","type":"main","index":0},{"node":"7.7 Guerrilla / Viral Campaigns Final Agent","type":"main","index":0}]]},"8.3 Supplier and Vendor Management Final Agent":{"main":[[{"node":"Chapter 8 Merger","type":"main","index":2}]]},"11.2 3-5 Year Financial Projections Final Agent":{"main":[[{"node":"Chapter 11 Merger","type":"main","index":1}]]},"2.6 Unique Selling Proposition (USP) Final Agent":{"main":[[{"node":"Chapter 2 Merger","type":"main","index":5}]]},"5. Customer Discovery & Validation Outliner Agent":{"main":[[{"node":"5.1 Customer Interviews Final Agent","type":"main","index":0},{"node":"5.2 Survey Analysis Final Agent","type":"main","index":0},{"node":"5.3 Problem-Solution Fit Final Agent","type":"main","index":0},{"node":"5.4 Proof of Demand Final Agent","type":"main","index":0}]]}}}


name: Build an AI IT Support Agent with Azure Search, Entra ID & Jira
author_name: Adam Bertram
author_username: adbertram
categories: []
created_at: 2025-06-01T12:27:26.929Z
updated_at: 2025-06-01T12:27:26.929Z
url: https://n8n.io/workflows/4560
scraped_at: 2025-06-19 22:50:34
description:
  An intelligent IT support agent that uses Azure AI Search for knowledge retrieval, Microsoft Entra ID integration for user management, and Jira for ticket creation. The agent can answer questions using internal documentation and perform administrative tasks like password resets.

  How It Works

  The workflow operates in three main sections:

  Agent Chat Interface: A chat trigger receives user messages and routes them to an AI agent powered by Google Gemini. The agent maintains conversation context using buffer memory and has access to multiple tools for different tasks.

  Knowledge Management: Users can upload documentation files (.txt, .md) through a form trigger. These documents are processed, converted to embeddings using OpenAI's API, and stored in an Azure AI Search index with vector search capabilities.

  Administrative Tools: The agent can query Microsoft Entra ID to find users, reset passwords, and create Jira tickets when issues need escalation. It uses semantic search to find relevant internal documentation before responding to user queries.

  The workflow includes a separate setup section that creates the Azure AI Search service and index with proper vector search configuration, semantic search capabilities, and the required field schema.

  Prerequisites

  To use this template, you'll need:

  n8n cloud or self-hosted instance
  Azure subscription with permissions to create AI Search services
  Microsoft Entra ID (Azure AD) access with user management permissions
  OpenAI API account for embeddings
  Google Gemini API access
  Jira Software Cloud instance
  Basic understanding of Azure resource management

  Setup Instructions

  Import the template into n8n.

  Configure credentials:
     Add Google Gemini API credentials
     Add OpenAI API credentials for embeddings
     Add Microsoft Azure OAuth2 credentials with appropriate permissions
     Add Microsoft Entra ID OAuth2 credentials
     Add Jira Software Cloud API credentials

  Update workflow parameters:
     Open the "Set Common Fields" nodes
     Replace &lt;azure subscription id&gt; with your Azure subscription ID
     Replace &lt;azure resource group&gt; with your target resource group name
     Replace &lt;azure region&gt; with your preferred Azure region
     Replace &lt;azure ai search service name&gt; with your desired service name
     Replace &lt;azure ai search index name&gt; with your desired index name
     Update the Jira project ID in the "Create Jira Ticket" node

  Set up Azure infrastructure:
     Run the manual trigger "When clicking 'Test workflow'" to create the Azure AI Search service and index
     This creates the vector search index with semantic search configuration

  Configure the vector store webhook:
     Update the "Invoke Query Vector Store Webhook" node URL with your actual webhook endpoint
     The webhook URL should point to the "Semantic Search" webhook in the same workflow

  Upload knowledge base:
     Use the "On Knowledge Upload" form to upload your internal documentation
     Supported formats: .txt and .md files
     Documents will be automatically embedded and indexed

  Test the setup:
     Use the chat interface to verify the agent responds appropriately
     Test knowledge retrieval with questions about uploaded documentation
     Verify Entra ID integration and Jira ticket creation

  Security Considerations

  Use least-privilege access for all API credentials
  Microsoft Entra ID credentials should have limited user management permissions
  Azure credentials need Search Service Contributor and Search Index Data Contributor roles
  OpenAI API key should have usage limits configured
  Jira credentials should be restricted to specific projects
  Consider implementing rate limiting on the chat interface
  Review password reset policies and ensure force password change is enabled
  Validate all user inputs before processing administrative requests

  Extending the Template

  You could enhance this template by:

  Adding support for additional file formats (PDF, DOCX) in the knowledge upload
  Implementing role-based access control for different administrative functions
  Adding integration with other ITSM tools beyond Jira
  Creating automated escalation rules based on query complexity
  Adding analytics and reporting for support interactions
  Implementing multi-language support for international organizations
  Adding approval workflows for sensitive administrative actions
  Integrating with Microsoft Teams or Slack for notifications

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini"]

workflow_json:
  {"meta":{"instanceId":"24ca526572eca60ee26bbee4ba7087b1023a6874af4ebeed61b2d126e50e531b","templateCredsSetupCompleted":true},"nodes":[{"id":"0f922d64-d8c9-4480-a6cd-658d2728e121","name":"When chat message received","type":"@n8n/n8n-nodes-langchain.chatTrigger","notes":"This node triggers the workflow when a new chat message is received. It serves as the main entry point for user interaction with the IT support agent.","position":[-380,-140],"webhookId":"0836d692-53dd-4283-82e6-102b5ca71220","parameters":{"public":true,"options":{},"authentication":"n8nUserAuth","initialMessages":"Hello, what can I help you with today?"},"typeVersion":1.1},{"id":"cb8d7008-5351-4758-be3e-485bce521a67","name":"Google Gemini Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[60,80],"parameters":{"options":{},"modelName":"models/gemini-2.5-flash-preview-05-20"},"credentials":{"googlePalmApi":{"id":"ARYVKWu9TZzwQ3fB","name":"Google Gemini(PaLM) Api account"}},"typeVersion":1},{"id":"d02e4e7d-8d63-44a6-828b-648f80c2223e","name":"Simple Memory","type":"@n8n/n8n-nodes-langchain.memoryBufferWindow","notes":"This node manages conversational memory by tracking previous messages. It helps the agent maintain context across multi-turn conversations.","position":[240,120],"parameters":{"sessionKey":"={{ $('When chat message received').item.json.sessionId }}","sessionIdType":"customKey","contextWindowLength":20},"typeVersion":1.3},{"id":"5c365f51-7a0a-4ea9-bc4f-1be57d75ec32","name":"Create Jira Ticket","type":"n8n-nodes-base.jiraTool","notes":"This node creates a new Jira task in the IT project. It's triggered by the AI agent when a user request needs to be escalated or logged as a support issue.","position":[420,140],"parameters":{"project":{"__rl":true,"mode":"list","value":"10000","cachedResultName":"IT Support Tickets"},"summary":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', ``, 'string') }}","issueType":{"__rl":true,"mode":"list","value":"10003","cachedResultName":"Task"},"additionalFields":{"description":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Description', ``, 'string') }}"}},"credentials":{"jiraSoftwareCloudApi":{"id":"I4u3gUlGntTY7C1K","name":"Jira SW Cloud account"}},"typeVersion":1},{"id":"afbc48bf-06d4-4d91-9eb3-06365097c819","name":"IT Support Agent","type":"@n8n/n8n-nodes-langchain.agent","notes":"This node defines how the AI agent should behave. It combines memory, LLM reasoning, and available tools to give helpful, accurate responses based on internal company knowledge.","position":[360,-140],"parameters":{"text":"={{ $('When chat message received').item.json.chatInput }}","options":{"systemMessage":"You are an IT support agent responsible for helping users solve IT-related issues clearly and accurately for Acme Corporation.\n\nYour behavior:\n - Before querying Entra ID, always use your vector store to look up proper Microsoft Entra ID filtering syntax. For example, if a user asks to reset their password, you'd need to find the Entra ID username. You'd ask your vector store how to create a filter for a display name (first and last name).\n\t• Always be helpful, specific, and concise.\n\t•\tDo not make assumptions. If you’re not sure, say so.\n\t•\tAvoid vague answers. Give direct steps or clarifying questions.\n\t•\tDo not invent information.\n\nHow to respond:\n - Always assume the user is asking about specific internal company information.\n\t•\tIf the vector store returns nothing useful, say: “I’m not sure. I couldn’t find any internal documentation about that.”\n\nTools:\n\t•\tUse the vector store to search for answers to company-specific questions.\n\t•\tUse memory to maintain conversation context across turns.\n\nExample:\nUser: How do I connect to the VPN?\n\t•\tIf vector search returns relevant info: “According to internal docs: [quote or summary].”\n\t•\tIf unsure: “I don’t have an answer for that and couldn’t find anything in the docs. Please reach out to IT directly.”"},"promptType":"define"},"typeVersion":1.8},{"id":"361838b8-d0ec-4ccc-8962-3877d97709ad","name":"On Knowledge Upload","type":"n8n-nodes-base.formTrigger","notes":"This node provides a file upload form where users can submit internal documentation in .txt or .md format. It acts as the starting point for populating the knowledge base with custom company content.","position":[-360,-500],"webhookId":"0538f979-985a-4307-a0d0-2c661f72f9d7","parameters":{"options":{"respondWithOptions":{"values":{"formSubmittedText":"={{ $form_response }}"}}},"formTitle":"IT Support Agent Knowledge","formFields":{"values":[{"fieldType":"file","fieldLabel":"Documents","requiredField":true,"acceptFileTypes":".txt,.md"}]},"responseMode":"lastNode"},"typeVersion":2.2},{"id":"2bd73569-dbf6-43c0-b23d-5345dd5daf63","name":"Split Out Binary Files","type":"n8n-nodes-base.splitOut","notes":"This node separates out each uploaded file from the form trigger so they can be processed one by one. It prepares binary documents for downstream decoding and transformation.","position":[-160,-500],"parameters":{"options":{},"fieldToSplitOut":"$binary"},"typeVersion":1},{"id":"e13fc33f-e203-4a52-895d-dfe8dde68e9f","name":"Get Embeddings","type":"n8n-nodes-base.httpRequest","notes":"This node sends the raw text content of each document to OpenAI’s embedding API. It returns a numerical vector that represents the meaning of the document for semantic indexing.","position":[240,-500],"parameters":{"url":"https://api.openai.com/v1/embeddings","method":"POST","options":{},"sendBody":true,"authentication":"predefinedCredentialType","bodyParameters":{"parameters":[{"name":"input","value":"={{ $json.content }}"},{"name":"model","value":"text-embedding-ada-002"}]},"nodeCredentialType":"openAiApi"},"credentials":{"openAiApi":{"id":"pDTcyVld8cyLwQKJ","name":"OpenAi account"},"microsoftOAuth2Api":{"id":"HjJ23rEeLjDjMgAg","name":"Microsoft Azure"}},"typeVersion":4.2},{"id":"318e8f5b-5ab8-4dcf-83cd-1b2489f61809","name":"Prep Content","type":"n8n-nodes-base.code","notes":"This node processes each document by decoding the base64 content, extracting file metadata, and generating a unique hash ID. It prepares the structure required for embedding and indexing.","position":[40,-500],"parameters":{"jsCode":"function generateGUID() {\n  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n    const r = Math.random() * 16 | 0;\n    const v = c === 'x' ? r : (r & 0x3 | 0x8);\n    return v.toString(16);\n  });\n}\n\n// SHA-256 implementation (from https://geraintluff.github.io/sha256/)\nfunction sha256(ascii) {\n  function rightRotate(value, amount) {\n    return (value >>> amount) | (value << (32 - amount));\n  }\n\n  var mathPow = Math.pow;\n  var maxWord = mathPow(2, 32);\n  var lengthProperty = 'length';\n  var i, j;\n  var result = '';\n\n  var words = [];\n  var asciiBitLength = ascii[lengthProperty] * 8;\n\n  var hash = (sha256.h = sha256.h || []);\n  var k = (sha256.k = sha256.k || []);\n  var primeCounter = k[lengthProperty];\n\n  var isComposite = {};\n  for (var candidate = 2; primeCounter < 64; candidate++) {\n    if (!isComposite[candidate]) {\n      for (i = 0; i < 313; i += candidate) {\n        isComposite[i] = candidate;\n      }\n      hash[primeCounter] = (mathPow(candidate, 0.5) * maxWord) | 0;\n      k[primeCounter++] = (mathPow(candidate, 1 / 3) * maxWord) | 0;\n    }\n  }\n\n  ascii += '\\x80';\n  while ((ascii[lengthProperty] % 64) - 56) ascii += '\\x00';\n  for (i = 0; i < ascii[lengthProperty]; i++) {\n    j = ascii.charCodeAt(i);\n    if (j >> 8) return; // ASCII check\n    words[i >> 2] |= j << ((3 - i) % 4) * 8;\n  }\n  words[words[lengthProperty]] = (asciiBitLength / maxWord) | 0;\n  words[words[lengthProperty]] = asciiBitLength;\n\n  for (j = 0; j < words[lengthProperty]; ) {\n    var w = words.slice(j, (j += 16));\n    var oldHash = hash.slice(0);\n\n    for (i = 0; i < 64; i++) {\n      var w15 = w[i - 15],\n        w2 = w[i - 2];\n\n      var a = hash[0],\n        e = hash[4];\n      var temp1 =\n        hash[7] +\n        (rightRotate(e, 6) ^ rightRotate(e, 11) ^ rightRotate(e, 25)) +\n        ((e & hash[5]) ^ (~e & hash[6])) +\n        k[i] +\n        (w[i] =\n          i < 16\n            ? w[i]\n            : (w[i - 16] +\n                (rightRotate(w15, 7) ^ rightRotate(w15, 18) ^ (w15 >>> 3)) +\n                w[i - 7] +\n                (rightRotate(w2, 17) ^ rightRotate(w2, 19) ^ (w2 >>> 10))) |\n              0);\n      var temp2 =\n        (rightRotate(a, 2) ^ rightRotate(a, 13) ^ rightRotate(a, 22)) +\n        ((a & hash[1]) ^ (a & hash[2]) ^ (hash[1] & hash[2]));\n\n      hash = [\n        (temp1 + temp2) | 0,\n        a,\n        hash[1],\n        hash[2],\n        (hash[3] + temp1) | 0,\n        hash[4],\n        hash[5],\n        hash[6],\n      ];\n    }\n\n    for (i = 0; i < 8; i++) {\n      hash[i] = (hash[i] + oldHash[i]) | 0;\n    }\n  }\n\n  for (i = 0; i < 8; i++) {\n    for (j = 3; j + 1; j--) {\n      var b = (hash[i] >> (j * 8)) & 255;\n      result += (b < 16 ? '0' : '') + b.toString(16);\n    }\n  }\n  return result;\n}\n\nfunction decodeBase64(string) {\n  return Buffer.from(string, 'base64').toString('utf-8');\n}\n\nlet items = []\nfor (let index = 0; index < $input.all().length; index++) {\n  let doc\n  if ($input.all().length > 1) {\n    doc = $input.all()[index].binary[`Documents_${index}`]\n  } else {\n    doc = $input.all()[index].binary.Documents\n  }\n  items.push({\n    'id': sha256(doc.data),\n    'title': doc.fileName,\n    'content' : decodeBase64(doc.data),\n    'category' : 'General',\n  })\n}\n\nreturn items"},"typeVersion":2},{"id":"b7012bae-3784-4f7f-8063-80bace44400a","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-440,-580],"parameters":{"width":1540,"height":280,"content":"## 2. Uploading Docs to Azure AI Search Index"},"typeVersion":1},{"id":"fd7b2aa1-ba54-447e-bf1f-91db4b996ed8","name":"When clicking ‘Test workflow’","type":"n8n-nodes-base.manualTrigger","position":[-300,-820],"parameters":{},"typeVersion":1},{"id":"21970d41-85ef-4cb0-a77c-b2f3ba5d278c","name":"Set Common Fields","type":"n8n-nodes-base.set","notes":"Initializes required Azure variables like subscription ID, resource group, and service/index names. These are reused by other nodes.","position":[-80,-820],"parameters":{"options":{},"assignments":{"assignments":[{"id":"19df8ba3-b94f-4711-8023-39148a734d1c","name":"azure_subscription_id","type":"string","value":"<your azure subscription id>"},{"id":"6333290a-d91b-49f5-b4fa-10de5ca6cec7","name":"azure_resource_group","type":"string","value":"<azure resource group name>"},{"id":"3aba9081-6827-4df2-8a3b-eb2a447c5c0d","name":"azure_ai_search_service_name","type":"string","value":"itsupport-search-service"},{"id":"deb3cd8c-71b4-476e-942d-ed7a60843f28","name":"azure_ai_search_location","type":"string","value":"<azure region>"},{"id":"96121598-e6f1-4119-b3ea-d0cfd58408f4","name":"azure_ai_search_index_name","type":"string","value":"<azure ai search index name>"}]}},"notesInFlow":false,"typeVersion":3.4},{"id":"e638ce32-3220-47a6-8e77-d42e7411d358","name":"Create Azure AI Search Service","type":"n8n-nodes-base.httpRequest","notes":"Creates an Azure AI Search service with semantic search config.\nNote: Requires basic pricing tier for semantic search, which supports vector search and natural language queries.","position":[120,-820],"parameters":{"url":"=https://management.azure.com/subscriptions/{{ $json.azure_subscription_id }}/resourceGroups/{{ $json.azure_resource_group }}/providers/Microsoft.Search/searchServices/{{ $json.azure_ai_search_service_name }}","method":"PUT","options":{},"jsonBody":"={\n  \"location\": \"{{ $json.azure_ai_search_location }}\",\n  \"sku\": {\n    \"name\": \"basic\"\n  },\n  \"properties\": {\n    \"replicaCount\": 1,\n    \"partitionCount\": 1,\n    \"hostingMode\": \"default\",\n    \"semanticSearch\": {\n      \"configurations\": [\n        {\n          \"name\": \"semantic-config\",\n          \"prioritizedFields\": {\n            \"titleField\": {\n              \"fieldName\": \"title\"\n            },\n            \"prioritizedContentFields\": [\n              { \"fieldName\": \"content\" }\n            ],\n            \"prioritizedKeywordsFields\": [\n              { \"fieldName\": \"category\" }\n            ]\n          }\n        }\n      ]\n    }\n  }\n}","sendBody":true,"sendQuery":true,"specifyBody":"json","authentication":"predefinedCredentialType","queryParameters":{"parameters":[{"name":"api-version","value":"2020-08-01"}]},"nodeCredentialType":"microsoftOAuth2Api"},"credentials":{"microsoftOAuth2Api":{"id":"HjJ23rEeLjDjMgAg","name":"Microsoft Azure"}},"notesInFlow":false,"typeVersion":4.2},{"id":"9b641627-eb3d-43e9-9716-61e752262d73","name":"Get Azure AI Search Admin Key","type":"n8n-nodes-base.httpRequest","notes":"Retrieves the admin key for the Azure AI Search service. This key is needed to create and manage indexes.","position":[560,-820],"parameters":{"url":"=https://management.azure.com/subscriptions/{{ $('Set Common Fields').item.json.azure_subscription_id }}/resourceGroups/{{ $('Set Common Fields').item.json.azure_resource_group }}/providers/Microsoft.Search/searchServices/{{ $('Set Common Fields').item.json.azure_ai_search_service_name }}/listAdminKeys","method":"POST","options":{},"sendQuery":true,"authentication":"predefinedCredentialType","queryParameters":{"parameters":[{"name":"api-version","value":"2023-11-01"}]},"nodeCredentialType":"microsoftOAuth2Api"},"credentials":{"microsoftOAuth2Api":{"id":"HjJ23rEeLjDjMgAg","name":"Microsoft Azure"}},"typeVersion":4.2},{"id":"66d8fb83-562f-42ea-ab18-3df5551404d7","name":"Create Azure AI Vector Index","type":"n8n-nodes-base.httpRequest","position":[760,-820],"parameters":{"url":"=https://{{ $('Set Common Fields').item.json.azure_ai_search_service_name }}.search.windows.net/indexes","method":"POST","options":{},"jsonBody":"={\n  \"name\": \"{{ $('Set Common Fields').item.json.azure_ai_search_index_name }}\",\n  \"fields\": [\n    {\n      \"name\": \"id\",\n      \"type\": \"Edm.String\",\n      \"key\": true,\n      \"searchable\": false,\n      \"filterable\": true,\n      \"retrievable\": true\n    },\n    {\n      \"name\": \"title\",\n      \"type\": \"Edm.String\",\n      \"searchable\": true,\n      \"retrievable\": true\n    },\n    {\n      \"name\": \"content\",\n      \"type\": \"Edm.String\",\n      \"searchable\": true,\n      \"retrievable\": true\n    },\n    {\n      \"name\": \"category\",\n      \"type\": \"Edm.String\",\n      \"searchable\": true,\n      \"filterable\": true,\n      \"retrievable\": true\n    },\n    {\n      \"name\": \"contentVector\",\n      \"type\": \"Collection(Edm.Single)\",\n      \"searchable\": true,\n      \"retrievable\": true,\n      \"dimensions\": 1536,\n      \"vectorSearchProfile\": \"vector-profile\"\n    }\n  ],\n  \"vectorSearch\": {\n    \"algorithms\": [\n      {\n        \"name\": \"hnsw-algorithm\",\n        \"kind\": \"hnsw\",\n        \"hnswParameters\": {\n          \"m\": 4,\n          \"efConstruction\": 400,\n          \"efSearch\": 500,\n          \"metric\": \"cosine\"\n        }\n      }\n    ],\n    \"profiles\": [\n      {\n        \"name\": \"vector-profile\",\n        \"algorithm\": \"hnsw-algorithm\"\n      }\n    ]\n  },\n  \"semantic\": {\n    \"configurations\": [\n      {\n        \"name\": \"semantic-config\",\n        \"prioritizedFields\": {\n          \"titleField\": {\n            \"fieldName\": \"title\"\n          },\n          \"prioritizedContentFields\": [\n            { \"fieldName\": \"content\" }\n          ],\n          \"prioritizedKeywordsFields\": [\n            { \"fieldName\": \"category\" }\n          ]\n        }\n      }\n    ]\n  }\n}","sendBody":true,"sendQuery":true,"sendHeaders":true,"specifyBody":"json","queryParameters":{"parameters":[{"name":"api-version","value":"2023-11-01"}]},"headerParameters":{"parameters":[{"name":"api-key","value":"={{ $json.primaryKey }}"}]}},"typeVersion":4.2},{"id":"9be7ca4e-bf14-4a40-9797-7370618c7557","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-440,-900],"parameters":{"width":1420,"height":280,"content":"## 1. Create the Azure AI Search Index"},"typeVersion":1},{"id":"1b06b5a5-dc44-4544-b288-5ff6bfd25497","name":"Get Azure AI Search Admin Key1","type":"n8n-nodes-base.httpRequest","notes":"This node retrieves the admin key needed to authenticate and upload data to the Azure AI Search index. It’s required for pushing content updates.","position":[640,-500],"parameters":{"url":"=https://management.azure.com/subscriptions/{{ $json.azure_subscription_id }}/resourceGroups/{{ $json.azure_resource_group }}/providers/Microsoft.Search/searchServices/{{ $json.azure_ai_search_service_name }}/listAdminKeys","method":"POST","options":{},"sendQuery":true,"authentication":"predefinedCredentialType","queryParameters":{"parameters":[{"name":"api-version","value":"2023-11-01"}]},"nodeCredentialType":"microsoftOAuth2Api"},"credentials":{"microsoftOAuth2Api":{"id":"HjJ23rEeLjDjMgAg","name":"Microsoft Azure"}},"typeVersion":4.2},{"id":"c359c7d7-b282-4559-b683-daaf34ac6706","name":"Set Common Fields1","type":"n8n-nodes-base.set","notes":"This node defines and reuses Azure configuration values needed to interact with the AI Search API during document upload. It ensures all following steps use consistent references.","position":[440,-500],"parameters":{"options":{},"assignments":{"assignments":[{"id":"19df8ba3-b94f-4711-8023-39148a734d1c","name":"azure_subscription_id","type":"string","value":"<azure subscription id>"},{"id":"6333290a-d91b-49f5-b4fa-10de5ca6cec7","name":"azure_resource_group","type":"string","value":"<azure resource group>"},{"id":"3aba9081-6827-4df2-8a3b-eb2a447c5c0d","name":"azure_ai_search_service_name","type":"string","value":"<azure ai search service name>"},{"id":"deb3cd8c-71b4-476e-942d-ed7a60843f28","name":"azure_ai_search_location","type":"string","value":"<azure region>"},{"id":"96121598-e6f1-4119-b3ea-d0cfd58408f4","name":"azure_ai_search_index_name","type":"string","value":"<azure ai search index name>"}]}},"typeVersion":3.4},{"id":"fbaa77a9-58f9-4179-afb2-53a2003b3e57","name":"Upload Embedding to Vector Store","type":"n8n-nodes-base.httpRequest","notes":"This node sends the document text and its vector embedding to Azure AI Search. It updates the index using 'mergeOrUpload', making the document immediately searchable by the agent.","position":[840,-500],"parameters":{"url":"=https://{{ $('Set Common Fields1').item.json.azure_ai_search_service_name }}.search.windows.net/indexes/{{ $('Set Common Fields1').item.json.azure_ai_search_index_name }}/docs/index","method":"POST","options":{},"jsonBody":"={\n  \"value\": [\n    {\n     \"@search.action\": \"mergeOrUpload\",\n     \"id\": {{ JSON.stringify($('Prep Content').item.json.id) }},\n     \"title\": {{ JSON.stringify($('Prep Content').item.json.title) }},\n     \"content\": {{ JSON.stringify($('Prep Content').item.json.content) }},\n     \"category\": {{ JSON.stringify($('Prep Content').item.json.category) }},\n     \"contentVector\": [\n        {{ $('Get Embeddings').item.json.data[0].embedding }}\n      ]\n   }\n  ]\n}","sendBody":true,"sendQuery":true,"sendHeaders":true,"specifyBody":"json","queryParameters":{"parameters":[{"name":"api-version","value":"2023-11-01"}]},"headerParameters":{"parameters":[{"name":"api-key","value":"={{ $json.primaryKey }}"}]}},"typeVersion":4.2},{"id":"29cf1c12-247d-43dd-8314-10f80cc0bd80","name":"Get Embeddings1","type":"n8n-nodes-base.httpRequest","notes":"This node sends the user's natural language question to OpenAI's embedding API. It returns a vector that captures the semantic meaning of the input for similarity search.","position":[1440,-40],"parameters":{"url":"https://api.openai.com/v1/embeddings","method":"POST","options":{},"sendBody":true,"authentication":"predefinedCredentialType","bodyParameters":{"parameters":[{"name":"input","value":"={{ $json.body.content }}"},{"name":"model","value":"text-embedding-ada-002"}]},"nodeCredentialType":"openAiApi"},"credentials":{"openAiApi":{"id":"pDTcyVld8cyLwQKJ","name":"OpenAi account"},"microsoftOAuth2Api":{"id":"HjJ23rEeLjDjMgAg","name":"Microsoft Azure"}},"typeVersion":4.2},{"id":"3c0d7268-d721-4bef-a0bf-1f51084ff627","name":"Semantic Search","type":"n8n-nodes-base.webhook","notes":"This node receives POST requests containing a user's search query and Azure configuration. It triggers the semantic search flow by passing the input to the embedding and query pipeline.","position":[1200,-40],"webhookId":"663762b4-cdd6-403c-9aa1-7c192da14480","parameters":{"path":"663762b4-cdd6-403c-9aa1-7c192da14480","options":{},"httpMethod":"POST","responseMode":"lastNode"},"typeVersion":2},{"id":"678d364c-3a6e-4b30-95cd-c6ce5fd12851","name":"Invoke Query Vector Store Webhook","type":"n8n-nodes-base.httpRequestTool","notes":"This node sends a request to an internal webhook to query the Azure AI Search index using semantic search. It helps the agent find relevant internal documentation.","position":[900,-160],"parameters":{"url":"=<semantic search webhook URL>","method":"POST","options":{},"sendBody":true,"bodyParameters":{"parameters":[{"name":"azure_ai_search_service_name","value":"={{ $json.azure_ai_search_service_name }}"},{"name":"azure_ai_search_index_name","value":"={{ $json.azure_ai_search_index_name }}"},{"name":"content","value":"={{ $('When chat message received').item.json.chatInput }}"},{"name":"azure_subscription_id","value":"={{ $json.azure_subsription_id }}"},{"name":"azure_resource_group","value":"={{ $json.azure_resource_group }}"}]},"toolDescription":"Query vector store"},"typeVersion":4.2},{"id":"c6dc5556-3579-4177-ab2e-2de929284542","name":"Get Azure AI Search Admin Key2","type":"n8n-nodes-base.httpRequest","notes":"This node retrieves the admin key for the specified Azure AI Search service. It allows the workflow to securely query the index with the embedded vector.","position":[1680,-40],"parameters":{"url":"=https://management.azure.com/subscriptions/{{ $('Semantic Search').item.json.body.azure_subscription_id }}/resourceGroups/{{ $('Semantic Search').item.json.body.azure_resource_group }}/providers/Microsoft.Search/searchServices/{{ $('Semantic Search').item.json.body.azure_ai_search_service_name }}/listAdminKeys","method":"POST","options":{},"sendQuery":true,"authentication":"predefinedCredentialType","queryParameters":{"parameters":[{"name":"api-version","value":"2023-11-01"}]},"nodeCredentialType":"microsoftOAuth2Api"},"credentials":{"microsoftOAuth2Api":{"id":"HjJ23rEeLjDjMgAg","name":"Microsoft Azure"}},"typeVersion":4.2},{"id":"a816d8f2-f184-401d-b4b8-7c0ed3238c85","name":"Enable Semantic Search","type":"n8n-nodes-base.httpRequest","notes":"Enables semantic search features for the Azure Search service after creation.","position":[340,-820],"parameters":{"url":"=https://management.azure.com/subscriptions/{{ $('Set Common Fields').item.json.azure_subscription_id }}/resourceGroups/{{ $('Set Common Fields').item.json.azure_resource_group }}/providers/Microsoft.Search/searchServices/{{ $('Set Common Fields').item.json.azure_ai_search_service_name }}","method":"PATCH","options":{},"jsonBody":"{\n  \"properties\": {\n    \"semanticSearch\": \"free\"\n  }\n}","sendBody":true,"sendQuery":true,"specifyBody":"json","authentication":"predefinedCredentialType","queryParameters":{"parameters":[{"name":"api-version","value":"2023-11-01"}]},"nodeCredentialType":"microsoftOAuth2Api"},"credentials":{"microsoftOAuth2Api":{"id":"HjJ23rEeLjDjMgAg","name":"Microsoft Azure"}},"typeVersion":4.2},{"id":"514f2ab6-960b-4f7c-8a2a-36073f0d8377","name":"Query Azure AI Search Index","type":"n8n-nodes-base.httpRequest","notes":"This node performs a vector and semantic search against the Azure AI Search index using the input vector. It returns the top matching documents based on similarity and semantic configuration.","position":[1920,-40],"parameters":{"url":"=https://{{ $('Semantic Search').item.json.body.azure_ai_search_service_name }}.search.windows.net/indexes/{{ $('Semantic Search').item.json.body.azure_ai_search_index_name }}/docs/search","method":"POST","options":{},"jsonBody":"={\n  \"search\": \"{{ $('Semantic Search').item.json.body.content }}\",\n  \"queryType\": \"semantic\",\n  \"semanticConfiguration\": \"semantic-config\",\n  \"vectorQueries\": [\n    {\n      \"vector\": [{{ $('Get Embeddings1').item.json.data[0].embedding }}],\n      \"fields\": \"contentVector\",\n      \"k\": 50,\n      \"kind\": \"vector\"\n    }\n  ],\n  \"select\": \"id,title,content,category\",\n  \"top\": 5\n}","sendBody":true,"sendQuery":true,"sendHeaders":true,"specifyBody":"json","queryParameters":{"parameters":[{"name":"api-version","value":"2023-11-01"}]},"headerParameters":{"parameters":[{"name":"api-key","value":"={{ $json.primaryKey }}"}]}},"typeVersion":4.2},{"id":"f70b6cf0-7459-42e3-8fc3-0f3e42afbac1","name":"Reset User Password","type":"n8n-nodes-base.httpRequestTool","notes":"This node resets a user's Microsoft Entra ID password using the Microsoft Graph API. It's triggered when the AI agent confirms the target username and request intent.","position":[600,120],"parameters":{"url":"=https://graph.microsoft.com/v1.0/users/{{ $fromAI('entra_id_username') }}","method":"PATCH","options":{},"jsonBody":"{\n  \"passwordProfile\": {\n    \"forceChangePasswordNextSignIn\": true,\n    \"password\": \"NewPassword123!\"\n  }\n}","sendBody":true,"specifyBody":"json","authentication":"predefinedCredentialType","toolDescription":"Reset Microsoft Entra ID password. Always tell the user the password you reset the account to when successful.","nodeCredentialType":"microsoftEntraOAuth2Api"},"credentials":{"microsoftOAuth2Api":{"id":"HjJ23rEeLjDjMgAg","name":"Microsoft Azure"},"microsoftEntraOAuth2Api":{"id":"vxWcatwYvtkis0zv","name":"Microsoft Entra ID (Azure Active Directory) account"}},"notesInFlow":false,"typeVersion":4.2},{"id":"eeb82b32-5d48-44c3-8bbf-9eb65312469f","name":"Query Microsoft Entra ID Users","type":"n8n-nodes-base.httpRequestTool","notes":"This node sends a filtered query to Microsoft Entra ID (Azure AD) to find user accounts matching specific criteria provided by the AI agent.","position":[800,40],"parameters":{"url":"https://graph.microsoft.com/v1.0/users","options":{},"sendQuery":true,"authentication":"predefinedCredentialType","queryParameters":{"parameters":[{"name":"$filter","value":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters0_Value', ``, 'string') }}"}]},"toolDescription":"Queries Microsoft Entra ID user accounts","nodeCredentialType":"microsoftEntraOAuth2Api"},"credentials":{"microsoftOAuth2Api":{"id":"HjJ23rEeLjDjMgAg","name":"Microsoft Azure"},"microsoftEntraOAuth2Api":{"id":"vxWcatwYvtkis0zv","name":"Microsoft Entra ID (Azure Active Directory) account"}},"typeVersion":4.2},{"id":"3c6c611c-2dc6-40a7-9815-c361e13ac368","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[1120,-100],"parameters":{"width":1000,"height":240,"content":"## Vector Store Search"},"typeVersion":1},{"id":"49e40637-47ca-4c42-a112-4ac2c3b1b074","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-460,-220],"parameters":{"width":1500,"height":520,"content":"## Agent"},"typeVersion":1},{"id":"89b7f5da-7ed9-4d8b-a674-78cbdf53c5e3","name":"Set Common Fields2","type":"n8n-nodes-base.set","notes":"This node sets the required Azure-related configuration variables like subscription ID, resource group, and AI search service name that will be used later in the workflow.","position":[-160,-140],"parameters":{"options":{},"assignments":{"assignments":[{"id":"3aba9081-6827-4df2-8a3b-eb2a447c5c0d","name":"azure_ai_search_service_name","type":"string","value":"<azure ai search service name>"},{"id":"deb3cd8c-71b4-476e-942d-ed7a60843f28","name":"azure_ai_search_location","type":"string","value":"<azure region>"},{"id":"96121598-e6f1-4119-b3ea-d0cfd58408f4","name":"azure_ai_search_index_name","type":"string","value":"<azure ai search index name>"},{"id":"df0e7230-488d-4926-ae37-abd0fd8be3e2","name":"azure_resource_group","type":"string","value":"<azure resource group>"},{"id":"1b7d93e0-ac3a-4e94-ba1c-efb4ea7bca11","name":"azure_subsription_id","type":"string","value":"<azure subscription id>"}]}},"typeVersion":3.4}],"pinData":{},"connections":{"Prep Content":{"main":[[{"node":"Get Embeddings","type":"main","index":0}]]},"Simple Memory":{"ai_memory":[[{"node":"IT Support Agent","type":"ai_memory","index":0}]]},"Get Embeddings":{"main":[[{"node":"Set Common Fields1","type":"main","index":0}]]},"Get Embeddings1":{"main":[[{"node":"Get Azure AI Search Admin Key2","type":"main","index":0}]]},"Semantic Search":{"main":[[{"node":"Get Embeddings1","type":"main","index":0}]]},"Set Common Fields":{"main":[[{"node":"Create Azure AI Search Service","type":"main","index":0}]]},"Create Jira Ticket":{"ai_tool":[[{"node":"IT Support Agent","type":"ai_tool","index":0}]]},"Set Common Fields1":{"main":[[{"node":"Get Azure AI Search Admin Key1","type":"main","index":0}]]},"Set Common Fields2":{"main":[[{"node":"IT Support Agent","type":"main","index":0}]]},"On Knowledge Upload":{"main":[[{"node":"Split Out Binary Files","type":"main","index":0}]]},"Reset User Password":{"ai_tool":[[{"node":"IT Support Agent","type":"ai_tool","index":0}]]},"Enable Semantic Search":{"main":[[{"node":"Get Azure AI Search Admin Key","type":"main","index":0}]]},"Split Out Binary Files":{"main":[[{"node":"Prep Content","type":"main","index":0}]]},"Google Gemini Chat Model":{"ai_languageModel":[[{"node":"IT Support Agent","type":"ai_languageModel","index":0}]]},"When chat message received":{"main":[[{"node":"Set Common Fields2","type":"main","index":0}]]},"Get Azure AI Search Admin Key":{"main":[[{"node":"Create Azure AI Vector Index","type":"main","index":0}]]},"Create Azure AI Search Service":{"main":[[{"node":"Enable Semantic Search","type":"main","index":0}]]},"Get Azure AI Search Admin Key1":{"main":[[{"node":"Upload Embedding to Vector Store","type":"main","index":0}]]},"Get Azure AI Search Admin Key2":{"main":[[{"node":"Query Azure AI Search Index","type":"main","index":0}]]},"Query Microsoft Entra ID Users":{"ai_tool":[[{"node":"IT Support Agent","type":"ai_tool","index":0}]]},"Upload Embedding to Vector Store":{"main":[[]]},"Invoke Query Vector Store Webhook":{"ai_tool":[[{"node":"IT Support Agent","type":"ai_tool","index":0}]]},"When clicking ‘Test workflow’":{"main":[[{"node":"Set Common Fields","type":"main","index":0}]]}}}


name: 🚀 Transform Podcasts into Viral TikTok Clips with Gemini AI & Auto-Posting ✅
author_name: Matt F.
author_username: lemolex
categories: []
created_at: 2025-06-01T20:22:16.132Z
updated_at: 2025-06-01T20:22:16.132Z
url: https://n8n.io/workflows/4568
scraped_at: 2025-06-19 22:48:35
description:
  🎯 Automatically Create and Post Engaging TikTok Clips (with Audience Retention Videos) from Podcasts Using AI! 🚀

  Effortlessly transform long-form podcast content into highly engaging, viral-ready TikTok clips with this end-to-end automation template.

  Designed for content creators already monetizing on TikTok and those looking to start earning from the platform, this workflow streamlines the process of extracting highlights, editing clips, and posting to TikTok, allowing you to maximize reach while minimizing manual effort.

  Key Features

  🔹 AI-Powered Podcast Highlight Extraction

  Automatically identifies the best moments from any podcast video, ensuring each clip is engaging and shareable.

  🔹 Smart Video Editing & Captioning

  Combines podcast highlights with a copyright-free attention retainer video (e.g., Minecraft parkour, GTA 5 gameplay) for increased audience retention. Auto-generated captions make clips more dynamic and accessible.

  🔹 Automated Title Generation

  A Large Language Model (LLM) analyzes the clips to generate compelling titles, optimized for TikTok’s algorithm.

  🔹 Hands-Free TikTok Posting

  Seamlessly schedules and automatically posts clips to your TikTok account at defined intervals, keeping your audience engaged without manual uploads.

  🔹 Fully Automated Workflow

  From video download to content publishing 100% FREE, this template eliminates the need for time-consuming video editing, helping you scale your content strategy effortlessly, without having to pay for multiple subscriptions tediously.
  Simply find a podcast you like and a cool Minecraft parkour (or any engaging) video, send their YouTube URLs, and let the automation handle everything—from video downloading and audio processing to highlight extraction, editing, captions, and publishing.

  How It Works (Step-by-Step Guide)

  1️⃣ Provide the YouTube URLs

  One for the main podcast video (where highlights will be extracted).
  One for the background attention retainer video (e.g., Minecraft parkour, GTA 5 gameplay).

  2️⃣ Automation Downloads and Processes the Videos

  Downloads both videos.
  Extracts audio from the podcast for analysis.

  3️⃣ AI Analyzes and Extracts Key Highlights

  Detects the most engaging moments from the podcast.

  4️⃣ Creates Fully Edited Clips

  Merges podcast highlights with the attention retainer video.
  Generates captions automatically.

  5️⃣ Optimizes for TikTok

  Uses AI to generate a compelling title for each clip.

  6️⃣ Posts to TikTok Automatically

  Uploads clips at your preferred intervals with zero manual effort.

  Who Is This For?

  ✅ Content creators already making money on TikTok
  ✅ People looking to start earning with TikTok
  ✅ Podcasters wanting to repurpose content into bite-sized, viral clips

  Get Started Today! 🚀

  This AI-driven automation is perfect for scaling your TikTok content effortlessly.

  To use this workflow, you’ll just need free accounts on Assembly, Andynocode, and Upload-Posts.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatGoogleGemini"]

workflow_json:
  {"id":"tAqp67CRi6nbgHBL","meta":{"instanceId":"143d2ab55c8bffb06f8b9c7ad30335764fdc48bbbacecbe2218dadb998a32213","templateCredsSetupCompleted":true},"name":"TikTok Posts Automation Agent V3.1","tags":[],"nodes":[{"id":"ab8c54f0-9046-4160-8d05-059df9078e68","name":"Audio Transcription","type":"n8n-nodes-base.httpRequest","position":[1560,1780],"parameters":{"url":"https://api.openai.com/v1/audio/transcriptions","method":"POST","options":{},"sendBody":true,"contentType":"multipart-form-data","authentication":"predefinedCredentialType","bodyParameters":{"parameters":[{"name":"timestamp_granularities[]","value":"word"},{"name":"model","value":"whisper-1"},{"name":"response_format","value":"verbose_json"},{"name":"file","parameterType":"formBinaryData","inputDataFieldName":"data-audio"}]},"nodeCredentialType":"openAiApi"},"credentials":{"openAiApi":{"id":"93YLMhb9yAza1oWn","name":"OpenAi account 2"}},"typeVersion":4.2},{"id":"c613277c-84b2-4e0a-ad77-29178e4dbeef","name":"Google Gemini Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[380,1840],"parameters":{"options":{},"modelName":"models/gemini-2.0-flash"},"credentials":{"googlePalmApi":{"id":"f334eoOsgoLWbi59","name":"Google Gemini(PaLM) Api account 2"}},"typeVersion":1},{"id":"f07fbfa9-25b2-44ce-aa89-3e313ad9bca3","name":"Split Out1","type":"n8n-nodes-base.splitOut","position":[740,1660],"parameters":{"options":{},"fieldToSplitOut":"output"},"typeVersion":1},{"id":"e2a8243a-2db2-4578-9e90-67d1cc5bde33","name":"Submit Job","type":"n8n-nodes-base.httpRequest","position":[40,1160],"parameters":{"url":"https://api.assemblyai.com/v2/transcript","method":"POST","options":{},"jsonBody":"={\n  \"audio_url\": \"{{ $json.upload_url }}\"\n}","sendBody":true,"specifyBody":"json","authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth"},"credentials":{"httpHeaderAuth":{"id":"o1HZCtBTQIiMxt5v","name":"Assembly"}},"typeVersion":4.2},{"id":"2a4ecb88-6b3c-4565-9f92-e6c5febde2fa","name":"Check Status","type":"n8n-nodes-base.httpRequest","position":[460,1160],"parameters":{"url":"=https://api.assemblyai.com/v2/transcript/{{ $node[\"Submit Job\"].json[\"id\"] }}","options":{},"authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth"},"credentials":{"httpHeaderAuth":{"id":"o1HZCtBTQIiMxt5v","name":"Assembly"}},"typeVersion":4.2},{"id":"ceebfea6-6068-46e4-a845-cf0fe209dd0a","name":"If","type":"n8n-nodes-base.if","position":[700,1160],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"0e8296de-3d44-47ee-ab04-f5d9e4e00daa","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.status }}","rightValue":"completed"}]}},"typeVersion":2.2},{"id":"9797aeb0-470d-45d6-949b-7dc988c3e158","name":"Extract Results","type":"n8n-nodes-base.set","position":[-200,1660],"parameters":{"options":{},"assignments":{"assignments":[{"id":"e5b4b58c-20d7-4c45-898d-4e6518f2fba6","name":"transcription_text","type":"string","value":"={{ $json.text }}"},{"id":"3e064366-ad18-42d5-bdd9-9420e95675f6","name":"word_details","type":"array","value":"={{ $json.words }}"}]}},"typeVersion":3.4,"alwaysOutputData":false},{"id":"6185ddd8-3f34-4ba1-b6a0-e1cdc530ae48","name":"Wait1","type":"n8n-nodes-base.wait","position":[2340,1780],"webhookId":"3648a845-4cc5-4d4a-a820-38a4f1906086","parameters":{"unit":"minutes"},"typeVersion":1.1},{"id":"0502af5a-7950-42f2-9541-8eab1419e4d4","name":"If1","type":"n8n-nodes-base.if","position":[2800,1780],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"da50dbe5-0d78-4315-a9c4-29a36a34bff5","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.data.status }}","rightValue":"done"}]}},"typeVersion":2.2},{"id":"a86a8f9f-45a9-424f-945f-49c6926114c2","name":"Google Gemini Chat Model1","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[3260,1920],"parameters":{"options":{},"modelName":"models/gemini-2.0-flash-001"},"credentials":{"googlePalmApi":{"id":"f334eoOsgoLWbi59","name":"Google Gemini(PaLM) Api account 2"}},"typeVersion":1},{"id":"e146d265-54e9-4335-8477-f7e2915e8071","name":"Structured Output Parser1","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[3560,1920],"parameters":{"jsonSchemaExample":"{\n  \"title\": \"Who is the Most POWERFUL Man GLOBALLY? | PBD Podcast #pbdpodcast #power #exposed\"\n}"},"typeVersion":1.2},{"id":"80238aea-6c94-4dc2-b5ca-3f58aad008e3","name":"Send the YouTube Video Links","type":"n8n-nodes-base.formTrigger","position":[-220,660],"webhookId":"4304503e-1200-4d7f-b062-7629b5ca0207","parameters":{"options":{},"formTitle":"Required Links","formFields":{"values":[{"fieldLabel":"YouTube Video URL","requiredField":true},{"fieldLabel":"Copyright Free Background Video","requiredField":true}]}},"typeVersion":2.2},{"id":"358a7d95-f716-4ab1-96c5-eaa0d8d31253","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-300,500],"parameters":{"color":4,"width":3200,"height":500,"content":"# Video Downloading and Extraction\n"},"typeVersion":1},{"id":"b592b99b-7fda-400a-871c-d88a719aab04","name":"Transcribe Podcast Audio","type":"n8n-nodes-base.httpRequest","position":[-200,1160],"parameters":{"url":"https://api.assemblyai.com/v2/upload","method":"POST","options":{},"sendBody":true,"contentType":"binaryData","authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth","inputDataFieldName":"audio"},"credentials":{"httpHeaderAuth":{"id":"o1HZCtBTQIiMxt5v","name":"Assembly"}},"typeVersion":4.2},{"id":"afbd7dd9-290a-4923-8af6-bc4b838a3003","name":"Wait 1","type":"n8n-nodes-base.wait","position":[260,1160],"webhookId":"ae60902e-1252-4bf5-a86c-3e77165ab8cd","parameters":{"unit":"minutes","amount":1},"typeVersion":1.1},{"id":"357795ce-83c4-4ad1-a211-bfcea7cbbc28","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-300,1020],"parameters":{"color":5,"width":1220,"height":440,"content":"# Process Podcast Audio\n"},"typeVersion":1},{"id":"6d2bd147-2027-41cf-b41d-e8a3b14fb11b","name":"Structure Transcription","type":"n8n-nodes-base.code","position":[60,1660],"parameters":{"jsCode":"// Access the transcription data from the previous node\nconst transcriptData = $input.first().json.word_details; // Adjust this based on your node's output structure\n\n// Check if the data exists and is an array\nif (!transcriptData || !Array.isArray(transcriptData)) {\n  throw new Error(\"Transcription data is not an array or is undefined. Check the previous node's output.\");\n}\n\n// Map the transcript data to match your previous format\nconst formattedTranscript = transcriptData.map((word, index) => {\n  return {\n    text: word.text,   // Adjust 'text' to match your data's property name (e.g., 'word' or 'text')\n    index: index,      // Position in the array\n    start: word.start, // Start time (adjust units if needed, e.g., / 1000 for seconds)\n    end: word.end      // End time (adjust units if needed)\n  };\n});\n\n// Convert the formatted transcript to a JSON string\nconst transcriptJson = JSON.stringify(formattedTranscript);\n\n// Return the result in n8n’s expected format\nreturn [{ json: { transcriptJson: transcriptJson } }];"},"typeVersion":2},{"id":"2777334e-d860-43d3-8385-6f91a437cb8b","name":"Podcast Best Moments Extraction","type":"@n8n/n8n-nodes-langchain.chainLlm","onError":"continueRegularOutput","position":[380,1660],"parameters":{"text":"You are given a transcript array where each entry is an object with the following keys:\n- **text**: a string containing the transcript text.\n- **index**: a number.\n- **start**: the starting second.\n- **end**: the ending second.\n\n**Objective:**  \nExtract and merge highlights from the transcript. Identify segments that have high informational value, emotional impact, or key takeaways. Merge adjacent entries if they form a coherent highlight, and remove filler words while preserving meaning.\n\n**Instructions:**\n1. Analyze the transcript and extract coherent highlight segments.\n2. Merge adjacent entries if they form a coherent highlight.\n3. Remove any unnecessary filler words while retaining the essential meaning.\n4. Ensure that the total duration of all highlight segments is no more than 600 seconds.\n5. Ensure that the duration of each highlight is at least 30 seconds and no more than 120 seconds.\n6. Ensure that the segments do not overlap in time.\n\nFor each highlight, output a JSON object with exactly these keys:\n- **transcript**: the text of the highlight segment.\n- **start_index**: the starting word index (using the original value).\n- **end_index**: the ending word index (using the original value).\n\n**CRUCIAL OUTPUT FORMAT REQUIREMENTS:**\n- **Output ONLY a plain JSON array.** The final output must start with `[` and end with `]` and include nothing else.\n- **Do not include any markdown formatting, triple backticks, wrapper objects (such as an \"output\" key), or any additional text.**\n- **Do not output any extra explanation or commentary.** Your entire response must consist solely of the JSON array.\n\nFor example, the expected output format is:\n[\n  {\n    \"transcript\": \"I like this\",\n    \"start_index\": 10,\n    \"end_index\": 13\n  },\n  {\n    \"transcript\": \"It would be\",\n    \"start_index\": 16,\n    \"end_index\": 19\n  }\n]\n\nRemember: Your final response must be exactly the JSON array as specified—nothing else. No markdown fences, no extra keys, no additional text, only the JSON array.","messages":{"messageValues":[{"type":"HumanMessagePromptTemplate","message":"={{ $node[\"Structure Transcription\"].json[\"transcriptJson\"] }}"}]},"promptType":"define","hasOutputParser":true},"retryOnFail":true,"typeVersion":1.5},{"id":"a17c20de-7007-4579-b9ae-e838ed40af02","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-300,1500],"parameters":{"color":6,"width":1220,"height":500,"content":"# Video Highlights Generation\n"},"typeVersion":1},{"id":"a8a57cb7-07c8-44a0-afd2-836bea05170f","name":"Loop Over Clips","type":"n8n-nodes-base.splitInBatches","position":[1240,1280],"parameters":{"options":{}},"typeVersion":3},{"id":"2ecb63e3-8974-42ba-8e63-7cbdf4fed094","name":"Structure Transcription 2","type":"n8n-nodes-base.code","position":[1820,1780],"parameters":{"jsCode":"return $(\"Audio Transcription\").all().map(item => {\n  const words = item.json.words\n  const result = [];\n\n  for (let i = 0; i < words.length; i += 3) {\n    const chunk = words.slice(i, i + 3);\n    result.push({\n      words: chunk.map(word => word.word.charAt(0).toUpperCase() + word.word.slice(1)).join(' '),\n      start: chunk[0].start,\n      end: chunk[chunk.length - 1].end,\n    });\n  }\n\n  return {\n    json: {\n      chunks: result,\n    },\n  };\n});"},"typeVersion":2},{"id":"4119112e-5111-454b-8d71-a07f1f18cf75","name":"Editing Clips","type":"n8n-nodes-base.httpRequest","position":[2120,1780],"parameters":{"url":"https://api.andynocode.com/api/function/video-generation/clip-video","method":"POST","options":{},"jsonBody":"={\n    \"type\": \"clip-video\",\n    \"data\": {\n        \"clip_url\": \"{{ $('If5').item.json['download-url'] }}\",\n\"gameplay_url\": \"{{ $('If6').item.json['download-url'] }}\",\n    \"background_url\": \"{{ $('If5').item.json['download-url'] }}\",\n        \"transcripts\": {{ JSON.stringify($('Structure Transcription 2').item.json.chunks) }}\n    }\n}","sendBody":true,"specifyBody":"json","authentication":"genericCredentialType","genericAuthType":"httpQueryAuth"},"credentials":{"httpQueryAuth":{"id":"UFktnf9LviG1pVSY","name":"Andynocode 2"}},"typeVersion":4.2,"alwaysOutputData":true},{"id":"8b352799-4d60-4cca-ba22-7d950e6c5f99","name":"Clip Ready?","type":"n8n-nodes-base.httpRequest","position":[2600,1780],"parameters":{"url":"=https://api.andynocode.com/api/function/video-generation/progress/{{ $json.data.id }}","options":{},"authentication":"genericCredentialType","genericAuthType":"httpQueryAuth"},"credentials":{"httpQueryAuth":{"id":"UFktnf9LviG1pVSY","name":"Andynocode 2"}},"typeVersion":4.2},{"id":"ce3775e8-02ac-4a02-93c5-fb58e608d730","name":"Structure Links","type":"n8n-nodes-base.set","position":[3080,1700],"parameters":{"options":{},"assignments":{"assignments":[{"id":"bf605d69-8ae6-4632-bbd0-d7b1cbb4eed5","name":"final-video-url","type":"string","value":"=https://api.andynocode.com{{ $json.data.url }}"}]}},"typeVersion":3.4},{"id":"c5e1708a-3f02-451c-913a-7f18ae954269","name":"Generate Title","type":"@n8n/n8n-nodes-langchain.chainLlm","position":[3260,1700],"parameters":{"text":"Analyze the following video transcript and generate a compelling TikTok title (under 60 characters, attention-grabbing) and captions (concise, engaging, highlights key moments/hooks).\nFocus on clarity, emotional appeal, and curiosity. Avoid generic phrases. Title must align with the transcript's core message or most viral moment. Output JSON format only.\n\nExample Output:\n\n```json```\n{\n  \"title\": \"Who is the Most POWERFUL Man GLOBALLY? | PBD Podcast #pbdpodcast #power #exposed\"\n}\n```json```\n   ","messages":{"messageValues":[{"type":"HumanMessagePromptTemplate","message":"={{ $('Audio Transcription').last().json.text }}"}]},"promptType":"define","hasOutputParser":true},"typeVersion":1.5},{"id":"14ed2dd9-2e33-4907-8c65-0fe53cd1be24","name":"Download Final Clip","type":"n8n-nodes-base.httpRequest","position":[3700,1700],"parameters":{"url":"={{ $('Structure Links').item.json['final-video-url'] }}","options":{"response":{"response":{"responseFormat":"file","outputPropertyName":"final-video"}}}},"typeVersion":4.2},{"id":"2bbd3569-dbb7-4573-aaf9-00c3568f062c","name":"Post To TikTok","type":"n8n-nodes-base.httpRequest","position":[4320,1900],"parameters":{"url":"https://api.upload-post.com/api/upload","method":"POST","options":{},"sendBody":true,"contentType":"multipart-form-data","authentication":"genericCredentialType","bodyParameters":{"parameters":[{"name":"title","value":"={{ $json.output.title }}"},{"name":"user","value":"your_username"},{"name":"platform[]","value":"tiktok"},{"name":"video","parameterType":"formBinaryData","inputDataFieldName":"final-video"}]},"genericAuthType":"httpHeaderAuth"},"credentials":{"httpHeaderAuth":{"id":"fHczpmGhBLSKy1HV","name":"TikTok Upload"}},"typeVersion":4.2},{"id":"bebc8548-7bc0-477d-a397-16ff2dfa64a2","name":"Posting Interval","type":"n8n-nodes-base.wait","position":[4660,1900],"webhookId":"9eae2dfb-186e-44f9-918f-a5238b53641c","parameters":{"unit":"minutes"},"typeVersion":1.1},{"id":"4afe7455-d1f3-4db4-984a-ee0487dee2bf","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1480,1160],"parameters":{"color":4,"width":2760,"height":440,"content":"# Pre-Processing Clips \n"},"typeVersion":1},{"id":"03cc6b38-f881-42db-b129-f4bb6515e542","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[1480,1620],"parameters":{"color":5,"width":560,"height":400,"content":"# Pre-Processing Audio"},"typeVersion":1},{"id":"c3db3b36-0a70-46ab-a010-e23568f0c47b","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[2060,1620],"parameters":{"color":6,"width":960,"height":400,"content":"# Clip Editing"},"typeVersion":1},{"id":"a05ba940-1aa3-4f24-85d4-cd920c98b63b","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[3040,1620],"parameters":{"color":3,"width":880,"height":460,"content":"# Clip Preparation for Posting"},"typeVersion":1},{"id":"d03bd6a3-b7a0-47c5-93f4-f0c874a3775f","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[4180,1760],"parameters":{"width":760,"height":300,"content":"# Posting"},"typeVersion":1},{"id":"368065b2-5fe4-4af5-9638-fbbf6a457946","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[1120,1020],"parameters":{"color":7,"width":3440,"height":1120,"content":"# **Clip Generation**"},"typeVersion":1},{"id":"e3473bd8-d915-4ebb-92b6-c5ea0cbf716e","name":"Structured Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[560,1860],"parameters":{"jsonSchemaExample":"[{\n  \"transcript\": \"I like this\",\n  \"start_index\": 10,\n  \"end_index\": 13\n},{\n  \"transcript\": \"It would be\",\n  \"start_index\": 16,\n  \"end_index\": 19\n}]"},"typeVersion":1.2},{"id":"f051d49f-57ba-4939-b0b5-16f8f3d5984f","name":"Sticky Note9","type":"n8n-nodes-base.stickyNote","position":[-980,500],"parameters":{"width":620,"height":1540,"content":"# **Workflow Setup Step-by-Step Guide**\n\n\n### **Workflow Setup Step-by-Step Guide**\n\n**Initial Setup:**  \n1. Create an [AssemblyAI](https://www.assemblyai.com) account for Free.\n2. Create an account in [Google AI Studio](https://aistudio.google.com) for Free.\n3. Create an [Andynocode](https://www.andynocode.com) account for Free.\n4. Create an [Upload-Post](https://www.upload-post.com) account for Free\n \n\n### **Getting Started:**\n4. Go to your [Assembly AI Account](https://www.assemblyai.com/app/account) and copy your API Key.\n5. Go to the \"Transcribe Podcast Audio\", \"Submit Job\" and \"Check Status\" nodes and set up your Assembly credentials. (Process Podcast Audio section)\n\n***Name: Authorization***\n***Value: your_api_key***\n\n6. Go to the Google Gemini Chat model inside the section \"Video Highlights Generation\" and \"Clip Preparation for Posting\" and connect your credentials.\n\n***Host: https://generativelanguage.googleapis.com***\n***API Key: your_api_key***\n\n7. Go to \"Pre-Processing Audio\" section inside the \"Clip Generation and Posting\" section, and connect your Openai credentials inside the \"Audio Transcription\" node.\n\n***API Key: your_api_key***\n***Organization ID (optional): organization_id***\n***Base URL: https://api.openai.com/v1***\n\n8. Go to \"Clip Editing\" section inside the \"Clip Generation and Posting\" section, and connect your Andynocode credentials inside the \"Editing Clips\" and \"Clip Ready?\" nodes.\n\n***Name: api_key***\n***API Key: your_api_key***\n\n9. Go to \"Posting\" section inside the \"Clip Generation and Posting\" section, and connect your Upload-Post  credentials inside the \"Post To TikTok\" node.\n\n***Name: Authorization***\n***Value: Apikey your_api_key***\n\nFinally, inside the same node, in the body request you have to parse your username. It should look like:\n\n***Parameter Type: Form Data***\n***Name: user***\n***Value: your_username***\n\n7.  **The technology that powers this AI Agent incurs real operating costs to stay online.**\nThat’s why the workflow requires an active membership, priced at only **\\$29 per month**.\n\n **Activate your membership here:** [https://lemolex.gumroad.com/l/ypjdr](https://lemolex.gumroad.com/l/ypjdr)\n\nAfter activating the membership you need to set the nodes with the membership generated key: \n- Go to the membership link to get your key.\n- Copy the key (e.g 6F0E4C97-B72A4E69-A11BF6C4-AF123456) and paste it in the body parameters of \"Download Audio Stage 1\" node:\n*Name: auth-token*\n*Value:  6F0E4C97-B72A4E69-A11BF6C4-AF123456* **(example)**\n\n\n### **How To Use**\n- Find a podcast on YouTube and copy it's URL.\n- Find a cool \"attention grabbing\" video to put in the background (e.g. [Minecraft Parkour No Copyright Gameplay](https://youtu.be/XBIaqOm0RKQ?si=gre39-555aRTVsJ1) / [GTA 5 No Copyright Gameplay](https://youtu.be/z121mUPexGc?si=JGsTOI88tOxXdWYx)) and copy it's URL.\n- Start the workflow, send both URLs and effortlessly transform long-form podcast content into highly engaging, viral-ready TikTok clips\n\n\n**For further guidance, check my video or send me a message on [LinkedIn](https://www.linkedin.com/in/mateofioritorocha/)**"},"typeVersion":1},{"id":"67e3707c-b810-48db-b772-b81eaf3133df","name":"Download Audio Stage 1","type":"n8n-nodes-base.httpRequest","position":[220,660],"parameters":{"url":"https://lemolex.app.n8n.cloud/webhook/74c67c3f-3883-40c2-b0ee-d67ecd1ff9fd","method":"POST","options":{},"sendBody":true,"sendHeaders":true,"bodyParameters":{"parameters":[{"name":"podcast_url","value":"={{ $('Send the YouTube Video Links').item.json['YouTube Video URL'] }}"},{"name":"auth-token","value":"your-token (read setup guide)"}]},"headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2},{"id":"016005e5-b534-4dc3-96f7-6cc7089aae87","name":"Download Audio Stage 2","type":"n8n-nodes-base.httpRequest","position":[680,660],"parameters":{"url":"https://lemolex.app.n8n.cloud/webhook/40a6b1-58ba-4ce6-9e52-55cb0cfebafa","options":{},"sendBody":true,"bodyParameters":{"parameters":[{"name":"job-id","value":"={{ $('Download Audio Stage 1').item.json.id }}"}]}},"typeVersion":4.2},{"id":"6041f73b-e21b-40f2-ab61-e3907cb8c388","name":"If4","type":"n8n-nodes-base.if","position":[1120,660],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"17476aa1-49ae-4697-aa41-95f00dee6875","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.status }}","rightValue":"finished"}]}},"typeVersion":2.2},{"id":"f678f68f-3960-4406-b774-166142282889","name":"Wait3","type":"n8n-nodes-base.wait","position":[2180,740],"webhookId":"51ec1118-740b-4b39-8056-a466ef4b0479","parameters":{"amount":30},"typeVersion":1.1},{"id":"6443e108-b4c2-4923-8f99-8e410babca3c","name":"Download Audio Stage 3","type":"n8n-nodes-base.httpRequest","position":[2480,660],"parameters":{"url":"={{ $('If4').item.json['download-url'] }}","options":{"response":{"response":{"responseFormat":"file","outputPropertyName":"audio"}}}},"typeVersion":4.2},{"id":"35d24ce0-f86c-4bb2-8dfe-4d97bf34b632","name":"Generating Main Clip","type":"n8n-nodes-base.httpRequest","position":[1560,1300],"parameters":{"url":"https://lemolex.app.n8n.cloud/webhook/e18f-e237-4f6e-b5a8-fffda04c4d8f","method":"POST","options":{},"sendBody":true,"bodyParameters":{"parameters":[{"name":"podcast_url","value":"={{ $('Send the YouTube Video Links').item.json['YouTube Video URL'] }}"},{"name":"startSeconds","value":"={{ $json.start_index }}"},{"name":"endSeconds","value":"={{ $json.end_index }}"}]}},"typeVersion":4.2},{"id":"bb192c11-6acd-4106-9fad-6cff3b1141b7","name":"If5","type":"n8n-nodes-base.if","position":[2000,1300],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"17476aa1-49ae-4697-aa41-95f00dee6875","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.status }}","rightValue":"finished"}]}},"typeVersion":2.2},{"id":"784b3137-a159-4d05-9560-ab997537ac95","name":"Wait4","type":"n8n-nodes-base.wait","position":[2420,1400],"webhookId":"d9e3f283-7132-480e-a544-0df0a9a8d937","parameters":{"amount":30},"typeVersion":1.1},{"id":"d78f2ea4-876a-460a-96f6-2bad8d1e8911","name":"Generating Background Clip","type":"n8n-nodes-base.httpRequest","position":[2420,1220],"parameters":{"url":"https://lemolex.app.n8n.cloud/webhook/1d9186-e6c6-49f4-9469-21a77ab3fb37","method":"POST","options":{},"sendBody":true,"bodyParameters":{"parameters":[{"name":"background_url","value":"={{ $('Send the YouTube Video Links').item.json['Copyright Free Background Video'] }}"},{"name":"startSeconds","value":"=3"},{"name":"endSeconds","value":"={{ $json.interval }}"}]}},"typeVersion":4.2},{"id":"2fce05f9-7dae-410f-85aa-e91cd6909c6a","name":"Extracting Main Clip","type":"n8n-nodes-base.httpRequest","position":[1780,1300],"parameters":{"url":"https://lemolex.app.n8n.cloud/webhook/40a7b1-58ba-4ce6-9e52-55cb0cfebafa","options":{},"sendBody":true,"bodyParameters":{"parameters":[{"name":"job-id","value":"={{ $('Generating Main Clip').item.json.id }}"}]}},"typeVersion":4.2},{"id":"4e281e9f-a8b9-4506-b0a0-8ddf1c8d225d","name":"Extracting Background Clip","type":"n8n-nodes-base.httpRequest","position":[2680,1240],"parameters":{"url":"https://lemolex.app.n8n.cloud/webhook/40a697b1-58ba-4ce6-9e52-55cb0cfebafa","options":{},"sendBody":true,"bodyParameters":{"parameters":[{"name":"job-id","value":"={{ $('Generating Background Clip').item.json.id }}"}]}},"typeVersion":4.2},{"id":"00e73d51-4814-489b-9f79-488519710627","name":"If6","type":"n8n-nodes-base.if","position":[2880,1280],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"17476aa1-49ae-4697-aa41-95f00dee6875","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.status }}","rightValue":"finished"}]}},"typeVersion":2.2},{"id":"8bb80330-daf1-4414-8c28-b33ad3a98f48","name":"Wait5","type":"n8n-nodes-base.wait","position":[3040,1380],"webhookId":"20e97cfa-ebde-4090-a739-a2a7b087bdf5","parameters":{"unit":"minutes","amount":1},"typeVersion":1.1},{"id":"c5d33459-7bfb-48d7-b867-c51eecf083ad","name":"Extracting Audio from Clips","type":"n8n-nodes-base.httpRequest","position":[3200,1260],"parameters":{"url":"https://lemolex.app.n8n.cloud/webhook/8caa81c9-4322-4b79-8d69-045473776e51","method":"POST","options":{},"sendBody":true,"bodyParameters":{"parameters":[{"name":"podcast_url","value":"={{ $('Send the YouTube Video Links').item.json['YouTube Video URL'] }}"},{"name":"startSeconds","value":"={{ $('Loop Over Clips').first().json.start_index }}"},{"name":"endSeconds","value":"={{ $('Loop Over Clips').first().json.end_index }}"}]}},"typeVersion":4.2},{"id":"bcf6548b-6121-42a7-aac7-11108737ec21","name":"Extracting Audio from Main Clip 2","type":"n8n-nodes-base.httpRequest","position":[3460,1280],"parameters":{"url":"https://lemolex.app.n8n.cloud/webhook/40a697b1-58ba-4ce6-9e52-55cb0cfebafa","options":{},"sendBody":true,"bodyParameters":{"parameters":[{"name":"job-id","value":"={{ $('Extracting Audio from Clips').item.json.id }}"}]}},"typeVersion":4.2},{"id":"93c9a937-6cc2-4bbc-a615-6ebda8a9a129","name":"If7","type":"n8n-nodes-base.if","position":[3660,1280],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"17476aa1-49ae-4697-aa41-95f00dee6875","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.status }}","rightValue":"finished"}]}},"typeVersion":2.2},{"id":"adc0561d-b16f-4318-836c-946e1ee6807c","name":"Wait6","type":"n8n-nodes-base.wait","position":[3800,1400],"webhookId":"8f686c54-b275-45be-9590-0f2bfed4c8c3","parameters":{"unit":"minutes","amount":1},"typeVersion":1.1},{"id":"f9703d8d-585c-42a9-a9ec-8d2ee637452c","name":"Download Clip Audio","type":"n8n-nodes-base.httpRequest","position":[4060,1300],"parameters":{"url":"={{ $('If7').item.json['download-url'] }}","options":{"response":{"response":{"responseFormat":"file","outputPropertyName":"data-audio"}}}},"typeVersion":4.2},{"id":"40a6e303-047d-404f-8d44-0da0dcb8981a","name":"Clip Length Calculation","type":"n8n-nodes-base.code","position":[2220,1180],"parameters":{"jsCode":"// Get the two numbers from the incoming JSON (from the previous node)\nconst a = $('Loop Over Clips').first().json.end_index;\nconst b = $('Loop Over Clips').first().json.start_index;\n\n// Calculate the interval; if you always want a positive result, use Math.abs:\nconst interval = Math.abs(a - b) + 3;\n\n// Return a new item with your result under whatever key you like\nreturn [\n  { json: { interval } }\n];\n"},"typeVersion":2}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"8f0c8648-71a6-4a05-b09b-3745209ca946","connections":{"If":{"main":[[{"node":"Extract Results","type":"main","index":0}],[{"node":"Wait 1","type":"main","index":0}]]},"If1":{"main":[[{"node":"Structure Links","type":"main","index":0}],[{"node":"Wait1","type":"main","index":0}]]},"If4":{"main":[[{"node":"Download Audio Stage 3","type":"main","index":0}],[{"node":"Wait3","type":"main","index":0}]]},"If5":{"main":[[{"node":"Clip Length Calculation","type":"main","index":0}],[{"node":"Wait4","type":"main","index":0}]]},"If6":{"main":[[{"node":"Extracting Audio from Clips","type":"main","index":0}],[{"node":"Wait5","type":"main","index":0}]]},"If7":{"main":[[{"node":"Download Clip Audio","type":"main","index":0}],[{"node":"Wait6","type":"main","index":0}]]},"Wait1":{"main":[[{"node":"Clip Ready?","type":"main","index":0}]]},"Wait3":{"main":[[{"node":"Download Audio Stage 2","type":"main","index":0}]]},"Wait4":{"main":[[{"node":"Extracting Main Clip","type":"main","index":0}]]},"Wait5":{"main":[[{"node":"Extracting Background Clip","type":"main","index":0}]]},"Wait6":{"main":[[{"node":"Extracting Audio from Main Clip 2","type":"main","index":0}]]},"Wait 1":{"main":[[{"node":"Check Status","type":"main","index":0}]]},"Split Out1":{"main":[[{"node":"Loop Over Clips","type":"main","index":0}]]},"Submit Job":{"main":[[{"node":"Wait 1","type":"main","index":0}]]},"Clip Ready?":{"main":[[{"node":"If1","type":"main","index":0}]]},"Check Status":{"main":[[{"node":"If","type":"main","index":0}]]},"Editing Clips":{"main":[[{"node":"Wait1","type":"main","index":0}]]},"Generate Title":{"main":[[{"node":"Download Final Clip","type":"main","index":0}]]},"Post To TikTok":{"main":[[{"node":"Posting Interval","type":"main","index":0}]]},"Extract Results":{"main":[[{"node":"Structure Transcription","type":"main","index":0}]]},"Loop Over Clips":{"main":[[],[{"node":"Generating Main Clip","type":"main","index":0}]]},"Structure Links":{"main":[[{"node":"Generate Title","type":"main","index":0}]]},"Posting Interval":{"main":[[{"node":"Loop Over Clips","type":"main","index":0}]]},"Audio Transcription":{"main":[[{"node":"Structure Transcription 2","type":"main","index":0}]]},"Download Clip Audio":{"main":[[{"node":"Audio Transcription","type":"main","index":0}]]},"Download Final Clip":{"main":[[{"node":"Post To TikTok","type":"main","index":0}]]},"Extracting Main Clip":{"main":[[{"node":"If5","type":"main","index":0}]]},"Generating Main Clip":{"main":[[{"node":"Extracting Main Clip","type":"main","index":0}]]},"Download Audio Stage 1":{"main":[[{"node":"Download Audio Stage 2","type":"main","index":0}]]},"Download Audio Stage 2":{"main":[[{"node":"If4","type":"main","index":0}]]},"Download Audio Stage 3":{"main":[[{"node":"Transcribe Podcast Audio","type":"main","index":0}]]},"Clip Length Calculation":{"main":[[{"node":"Generating Background Clip","type":"main","index":0}]]},"Structure Transcription":{"main":[[{"node":"Podcast Best Moments Extraction","type":"main","index":0}]]},"Google Gemini Chat Model":{"ai_languageModel":[[{"node":"Podcast Best Moments Extraction","type":"ai_languageModel","index":0}]]},"Structured Output Parser":{"ai_outputParser":[[{"node":"Podcast Best Moments Extraction","type":"ai_outputParser","index":0}]]},"Transcribe Podcast Audio":{"main":[[{"node":"Submit Job","type":"main","index":0}]]},"Google Gemini Chat Model1":{"ai_languageModel":[[{"node":"Generate Title","type":"ai_languageModel","index":0}]]},"Structure Transcription 2":{"main":[[{"node":"Editing Clips","type":"main","index":0}]]},"Structured Output Parser1":{"ai_outputParser":[[{"node":"Generate Title","type":"ai_outputParser","index":0}]]},"Extracting Background Clip":{"main":[[{"node":"If6","type":"main","index":0}]]},"Generating Background Clip":{"main":[[{"node":"Extracting Background Clip","type":"main","index":0}]]},"Extracting Audio from Clips":{"main":[[{"node":"Extracting Audio from Main Clip 2","type":"main","index":0}]]},"Send the YouTube Video Links":{"main":[[{"node":"Download Audio Stage 1","type":"main","index":0}]]},"Podcast Best Moments Extraction":{"main":[[{"node":"Split Out1","type":"main","index":0}]]},"Extracting Audio from Main Clip 2":{"main":[[{"node":"If7","type":"main","index":0}]]}}}


