{"id":"q1DorytEoEw1QLGj","meta":{"instanceId":"workflow-adbfd9fd","versionId":"1.0.0","createdAt":"2025-09-29T07:07:50.227617","updatedAt":"2025-09-29T07:07:50.227630","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"name":"Generate Company Stories from LinkedIn with Bright Data & Google Gemini","nodes":[{"id":"1424195e-79ec-48e8-9bb6-fbae072aca81","name":"When clicking ‘Test workflow’","type":"n8n-nodes-base.manualTrigger","position":[-1440,245],"parameters":{},"typeVersion":1,"notes":"This manualTrigger node performs automated tasks as part of the workflow."},{"id":"509519c2-efe9-4191-87af-9c5c782350d6","name":"Google Gemini Chat Model","type":"n8n-nodes-base.noOp","notes":"Gemini Experimental Model","position":[696,540],"parameters":{"options":{},"modelName":"models/gemini-2.0-flash-thinking-exp-01-21"},"credentials":{"googlePalmApi":{"id":"YeO7dHZnuGBVQKVZ","name":"Google Gemini(PaLM) Api account"}},"notesInFlow":true,"typeVersion":1},{"id":"3be8be65-38c2-4500-8676-925bdf7844ac","name":"Default Data Loader","type":"n8n-nodes-base.noOp","position":[816,542.5],"parameters":{"options":{}},"typeVersion":1,"notes":"This documentDefaultDataLoader node performs automated tasks as part of the workflow."},{"id":"65b72f55-6424-487b-a622-879589d43344","name":"Recursive Character Text Splitter","type":"n8n-nodes-base.noOp","position":[904,740],"parameters":{"options":{},"chunkOverlap":100},"typeVersion":1,"notes":"This textSplitterRecursiveCharacterTextSplitter node performs automated tasks as part of the workflow."},{"id":"4ab31927-5372-4a8f-83b5-355bcd6eaae2","name":"If Node","type":"n8n-nodes-base.if","position":[-340,170],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"6a7e5360-4cb5-4806-892e-5c85037fa71c","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $('Check Snapshot Status').item.json.status }}","rightValue":"ready"}]}},"typeVersion":2.2,"notes":"This if node performs automated tasks as part of the workflow."},{"id":"30382d3b-6ba8-4a96-93ce-9d22fc547793","name":"Set Snapshot Id","type":"n8n-nodes-base.set","position":[-780,245],"parameters":{"options":{},"assignments":{"assignments":[{"id":"2c3369c6-9206-45d7-9349-f577baeaf189","name":"snapshot_id","type":"string","value":"={{ $json.snapshot_id }}"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"a4867b6f-fa91-4b83-befc-9ce97c10228c","name":"Download Snapshot","type":"n8n-nodes-base.httpRequest","position":[100,120],"parameters":{"url":"{{ $env.BASE_URL }}","options":{"timeout":10000},"sendQuery":true,"authentication":"{{ $credentials.genericCredentialType }}","genericAuthType":"httpHeaderAuth","queryParameters":{"parameters":[{"name":"format","value":"json"}]}},"credentials":{"httpHeaderAuth":{"id":"kdbqXuxIR8qIxF7y","name":"Header Auth account"}},"typeVersion":4.2,"notes":"This httpRequest node performs automated tasks as part of the workflow."},{"id":"16580d94-23fc-45d6-a282-640148b602d3","name":"Set LinkedIn URL","type":"n8n-nodes-base.set","position":[-1220,245],"parameters":{"options":{},"assignments":{"assignments":[{"id":"47f839a1-df2a-4972-9dad-597a8af0bf75","name":"url","type":"string","value":"{{ $env.WEBHOOK_URL }}"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"be007904-269a-4823-bdd8-1ba5b4f69f5c","name":"Google Gemini Chat Model1","type":"n8n-nodes-base.noOp","position":[408,340],"parameters":{"options":{},"modelName":"models/gemini-2.0-flash-exp"},"credentials":{"googlePalmApi":{"id":"YeO7dHZnuGBVQKVZ","name":"Google Gemini(PaLM) Api account"}},"typeVersion":1,"notes":"This lmChatGoogleGemini node performs automated tasks as part of the workflow."},{"id":"56a08c75-5122-483e-af0e-da1dd3e08eaf","name":"Check on the errors","type":"n8n-nodes-base.if","position":[-120,120],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"b267071c-7102-407b-a98d-f613bcb1a106","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.errors.toString() }}","rightValue":"0"}]}},"typeVersion":2.2,"notes":"This if node performs automated tasks as part of the workflow."},{"id":"6925a606-1108-4605-9124-c74d3df555ac","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-1420,-100],"parameters":{"width":400,"height":280,"content":"## Note\n\nDeals with the LinkedIn data extraction using the Bright Data Web Scrapper API.\n\nThe information extraction and summarization are being used to demonstrate the usage of the N8N AI capabilities.\n\n**Please make sure to set the LinkedIn URL and Webhook Notification URL**"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"a5f977db-14e5-4652-b2d3-0a1b0470be9a","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-940,-100],"parameters":{"width":420,"height":280,"content":"## LLM Usages\n\nGoogle Gemini Flash Exp model is being used.\n\nInformation extraction is being used for formatting the LinkedIn response to produce a story.\n\nSummarization Chain is being used for summarization of the content"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"ae6377e2-6ca0-4218-affd-d3c81c16d996","name":"Perform LinkedIn Web Request","type":"n8n-nodes-base.httpRequest","position":[-1000,245],"parameters":{"url":"{{ $env.API_BASE_URL }}","method":"POST","options":{},"jsonBody":"=[\n  {\n    \"url\": \"{{ $json.url }}\"\n  }\n]","sendBody":true,"sendQuery":true,"sendHeaders":true,"specifyBody":"json","authentication":"{{ $credentials.genericCredentialType }}","genericAuthType":"httpHeaderAuth","queryParameters":{"parameters":[{"name":"dataset_id","value":"gd_l1vikfnt1wgvvqz95w"},{"name":"include_errors","value":"true"}]},"headerParameters":{"parameters":[{}]}},"credentials":{"httpHeaderAuth":{"id":"kdbqXuxIR8qIxF7y","name":"Header Auth account"}},"typeVersion":4.2,"notes":"This httpRequest node performs automated tasks as part of the workflow."},{"id":"9a1e8d92-24a9-481c-b81f-5e37bca46fe2","name":"Check Snapshot Status","type":"n8n-nodes-base.httpRequest","position":[-560,245],"parameters":{"url":"{{ $env.BASE_URL }}","options":{},"sendHeaders":true,"authentication":"{{ $credentials.genericCredentialType }}","genericAuthType":"httpHeaderAuth","headerParameters":{"parameters":[{}]}},"credentials":{"httpHeaderAuth":{"id":"kdbqXuxIR8qIxF7y","name":"Header Auth account"}},"typeVersion":4.2,"notes":"This httpRequest node performs automated tasks as part of the workflow."},{"id":"543d6087-c1d8-4f98-9b7c-fedbce9b0215","name":"LinkedIn Data Extractor","type":"n8n-nodes-base.noOp","position":[320,120],"parameters":{"text":"=Write a complete story of the provided company information in JSON. Use the following Company info to produce a story or a blog post. Make sure to incorporate all the provided company context.\n\nHere's the Company Info in JSON - {{ $json.input }}","options":{"systemPromptTemplate":"You are an expert data formatter"},"attributes":{"attributes":[{"name":"company_story","required":true,"description":"Detailed Company Info"}]}},"typeVersion":1,"notes":"This informationExtractor node performs automated tasks as part of the workflow."},{"id":"d07c83f0-5adf-4d5a-976a-b344aa8a853e","name":"Concise Summary Generator","type":"n8n-nodes-base.noOp","position":[712,320],"parameters":{"options":{"summarizationMethodAndPrompts":{"values":{"prompt":"=Write a concise summary of the following:\n\n\n{{ $json.output.company_story }}\n\n","combineMapPrompt":"=Write a concise summary of the following:\n\n\n\n\n\nCONCISE SUMMARY: {{ $json.output.company_story }}"}}},"operationMode":"documentLoader"},"typeVersion":1,"notes":"This chainSummarization node performs automated tasks as part of the workflow."},{"id":"0867753e-c3ab-473e-960a-344573cdde29","name":"Webhook Notifier for Data Extractor","type":"n8n-nodes-base.httpRequest","position":[834,-80],"parameters":{"url":"{{ $env.WEBHOOK_URL }}","options":{},"sendBody":true,"bodyParameters":{"parameters":[{"name":"response","value":"={{ $json.output }}"}]}},"typeVersion":4.2,"notes":"This httpRequest node performs automated tasks as part of the workflow."},{"id":"d666cbb8-64bf-47b9-802a-d78ed5caa128","name":"Webhook Notifier for Summary Generator","type":"n8n-nodes-base.httpRequest","position":[1192,320],"parameters":{"url":"{{ $env.WEBHOOK_URL }}","options":{},"sendBody":true,"bodyParameters":{"parameters":[{"name":"response","value":"={{ $json.response.text }}"}]}},"typeVersion":4.2,"notes":"This httpRequest node performs automated tasks as part of the workflow."},{"id":"fbd962be-5003-4039-b17e-fc0f16c2edf7","name":"Wait for 30 seconds","type":"n8n-nodes-base.wait","position":[-120,345],"webhookId":"f2aafd71-61f2-4aa4-8290-fa3bbe3d46b9","parameters":{"amount":30},"typeVersion":1.1,"notes":"This wait node performs automated tasks as part of the workflow."}],"active":false,"settings":{"executionOrder":"v1","saveManualExecutions":true,"callerPolicy":"workflowsFromSameOwner","errorWorkflow":null,"timezone":"UTC","executionTimeout":3600,"maxExecutions":1000,"retryOnFail":true,"retryCount":3,"retryDelay":1000},"versionId":"0f4279a9-1593-421e-825e-850cdae1bb97","connections":{"Download Snapshot":{"main":[[],[],[],[],[],[],[],[],[]]},"Perform LinkedIn Web Request":{"main":[[],[],[],[],[],[],[],[],[]]},"Check Snapshot Status":{"main":[[],[],[],[],[],[],[],[],[]]},"Webhook Notifier for Data Extractor":{"main":[[],[],[],[],[],[],[],[],[]]},"Webhook Notifier for Summary Generator":{"main":[[],[],[],[],[],[],[],[],[]]},"Google Gemini Chat Model":{"main":[[]]},"Google Gemini Chat Model1":{"main":[[]]}},"description":"Automated workflow: Generate Company Stories from LinkedIn with Bright Data & Google Gemini. This workflow integrates 12 different services: stickyNote, httpRequest, wait, textSplitterRecursiveCharacterTextSplitter, lmChatGoogleGemini. It contains 31 nodes and follows best practices for error handling and security.","notes":"Excellent quality workflow: Generate Company Stories from LinkedIn with Bright Data & Google Gemini. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}