{"nodes":[{"id":"2804a082-c17b-482f-828d-901dab7e7a11","name":"When clicking ‘Test workflow’","type":"n8n-nodes-base.manualTrigger","position":[-160,40],"parameters":{},"typeVersion":1,"notes":"This manualTrigger node performs automated tasks as part of the workflow."},{"id":"58d51340-5246-4089-ae63-f16ff4be184e","name":"Get list of owners","type":"n8n-nodes-base.httpRequest","position":[280,40],"parameters":{"url":"{{ $env.API_BASE_URL }}","options":{},"authentication":"{{ $credentials.predefinedCredentialType }}","nodeCredentialType":"YOUR_CREDENTIAL_HERE"},"credentials":{"hubspotOAuth2Api":{"id":"qubiIFrowxvUdpu6","name":"HubSpot account for node"}},"typeVersion":4.2,"notes":"This httpRequest node performs automated tasks as part of the workflow."},{"id":"335ffd8c-68fa-4d55-85e9-462963a8a291","name":"Get list of clients for owner","type":"n8n-nodes-base.httpRequest","position":[280,575],"parameters":{"url":"{{ $env.API_BASE_URL }}","method":"POST","options":{},"jsonBody":"={\n  \"filterGroups\": [\n    {\n      \"filters\": [\n        {\n          \"propertyName\": \"hubspot_owner_id\",\n          \"operator\": \"EQ\",\n          \"value\": \"{{ $('When Executed by Another Workflow').item.json.ownerId }}\"\n        }\n      ]\n    }\n  ],\n  \"properties\": [\"firstname\", \"lastname\", \"email\", \"linkedinURL\", \"company\"],\n\"limit\": 200,\n\"after\": {{ $node['Edit'].json[\"sofar\"] }}\n} ","sendBody":true,"specifyBody":"json","authentication":"{{ $credentials.predefinedCredentialType }}","nodeCredentialType":"YOUR_CREDENTIAL_HERE"},"credentials":{"hubspotOAuth2Api":{"id":"qubiIFrowxvUdpu6","name":"HubSpot account for node"}},"typeVersion":4.2,"notes":"This httpRequest node performs automated tasks as part of the workflow."},{"id":"5d116139-1764-4d3a-8696-d280fb7e9d8f","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-210,-260],"parameters":{"color":4,"width":420,"height":460,"content":"## Settings\n- Set in \"Set data here\" the email you are registered with in Hubspot as an Owner, and the link of a Google sheet copied [from this one]({{ $env.WEBHOOK_URL }}\n"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"a8a15bd4-5a46-4f70-87bd-4db7170b4928","name":"If Node","type":"n8n-nodes-base.if","position":[720,575],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"d5df6d6c-ff5f-46ad-a8d4-38e326d7415e","operator":{"type":"number","operation":"gte"},"leftValue":"={{ $node['Edit'].json.sofar }}","rightValue":"={{ $('Get list of clients for owner').item.json.total }}"}]},"looseTypeValidation":true},"typeVersion":2.2,"notes":"This if node performs automated tasks as part of the workflow."},{"id":"eda30bd9-95bb-43d4-8981-479036103dd1","name":"Edit","type":"n8n-nodes-base.set","position":[60,575],"parameters":{"options":{},"assignments":{"assignments":[{"id":"8a403dc5-2b05-430d-b1cc-39f70f5ac82d","name":"sofar","type":"number","value":"=0"},{"id":"dca65b15-f545-42f1-90df-37efb03e267d","name":"results","type":"array","value":"[]"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"4c6c8217-6610-413e-8b1c-185a96e44882","name":"Increment Page","type":"n8n-nodes-base.set","position":[500,500],"parameters":{"values":{"number":[{"name":"sofar","value":"={{$node[\"Edit\"].json[\"sofar\"] = $node[\"Edit\"].json[\"sofar\"] + $('Get list of clients for owner').item.json.results.length}}"}]},"options":{}},"executeOnce":true,"typeVersion":1,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"58f53fe6-36a4-4385-ba93-e15dd589c0a4","name":"Split Out1","type":"n8n-nodes-base.splitOut","position":[1160,575],"parameters":{"options":{},"fieldToSplitOut":"results"},"typeVersion":1,"notes":"This splitOut node performs automated tasks as part of the workflow."},{"id":"c92983ba-bef3-463a-a6de-8f205822f359","name":"Merge al the entries","type":"n8n-nodes-base.code","position":[940,575],"parameters":{"jsCode":"let results = [],\n  i = 0;\n\ndo {\n  try {\n    results = results.concat($(\"Get list of clients for owner\").all(0, i));\n  } catch (error) {\n    console.log(results)\n    return results;\n  }\n  i++;\n} while (true);"},"typeVersion":2,"notes":"This code node performs automated tasks as part of the workflow."},{"id":"68c51fbd-3845-4eb2-9204-d78cc30413bf","name":"If linkedin url is empty","type":"n8n-nodes-base.if","position":[1820,40],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"84952199-2e1d-4ea8-bfb8-d4aa975d6df1","operator":{"type":"string","operation":"empty","singleValue":true},"leftValue":"={{ $json.linkedin_url }}","rightValue":""}]}},"typeVersion":2.2,"notes":"This if node performs automated tasks as part of the workflow."},{"id":"18e4e4bd-4039-4770-a3d0-13edafe6103c","name":"if new post","type":"n8n-nodes-base.if","position":[3580,40],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"48d6777d-5431-4cb9-9716-5059277bac5e","operator":{"type":"string","operation":"notEquals"},"leftValue":"={{ $('Get rows from document').item.json['last post'] }}","rightValue":"={{ $('Set last_post').item.json.last_post }}"}]}},"typeVersion":2.2,"notes":"This if node performs automated tasks as part of the workflow."},{"id":"a5623af7-6fba-43b0-be50-c9d3c52aba32","name":"Get list of clients","type":"n8n-nodes-base.executeWorkflow","position":[940,40],"parameters":{"mode":"each","options":{},"workflowId":{"__rl":true,"mode":"id","value":"={{ $workflow.id }}","cachedResultName":"={{ $workflow.id }}"},"workflowInputs":{"value":{"ownerId":"={{ $json.id }}"},"schema":[{"id":"ownerId","type":"string","display":true,"removed":false,"required":false,"displayName":"ownerId","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["ownerId"],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"9f771153-6b83-4ac0-b642-ee2d4b65a41c","name":"When Executed by Another Workflow","type":"n8n-nodes-base.executeWorkflowTrigger","position":[-160,575],"parameters":{"workflowInputs":{"values":[{"name":"ownerId"}]}},"typeVersion":1.1,"notes":"This executeWorkflowTrigger node performs automated tasks as part of the workflow."},{"id":"437dc3e5-0340-41ce-aea1-36749bd054ad","name":"Get last post","type":"n8n-nodes-base.executeWorkflow","position":[3140,40],"parameters":{"mode":"each","options":{},"workflowId":{"__rl":true,"mode":"list","value":"rnVcO8Bw0avTm4GB","cachedResultName":"get personal posts for agent"},"workflowInputs":{"value":{"maxItems":1,"username":"={{ $json.username }}","responseType":"detail"},"schema":[{"id":"username","type":"string","display":true,"required":false,"displayName":"username","defaultMatch":false,"canBeUsedToMatch":true},{"id":"responseType","type":"string","display":true,"required":false,"displayName":"responseType","defaultMatch":false,"canBeUsedToMatch":true},{"id":"maxItems","type":"number","display":true,"required":false,"displayName":"maxItems","defaultMatch":false,"canBeUsedToMatch":true},{"id":"posted_after","display":true,"required":false,"displayName":"posted_after","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":true}},"typeVersion":1.2,"notes":"This executeWorkflow node performs automated tasks as part of the workflow."},{"id":"a0dda2f2-cb89-4557-8cfc-5e3a01e34637","name":"Gmail","type":"n8n-nodes-base.gmail","position":[4680,140],"webhookId":"eea16996-1d02-4861-b83d-6145cee90ac6","parameters":{"sendTo":"={{ $('Set data here').first().json.email }}","message":"={{ $json.text }}","options":{"appendAttribution":false},"subject":"Changes in your clients","emailType":"text"},"credentials":{"gmailOAuth2":{"id":"DLjspol9TLgpGaXa","name":"Gmail account 2"}},"typeVersion":2.1,"notes":"This gmail node performs automated tasks as part of the workflow."},{"id":"99911831-e603-454c-b533-2e387f2008c4","name":"Search for user by link","type":"n8n-nodes-base.httpRequest","notes":"Search by Name and company","position":[2920,140],"parameters":{"url":"{{ $env.API_BASE_URL }}","options":{},"sendQuery":true,"sendHeaders":true,"authentication":"{{ $credentials.genericCredentialType }}","genericAuthType":"httpHeaderAuth","queryParameters":{"parameters":[{"name":"url","value":"={{ $json.profileURL }}"}]},"headerParameters":{"parameters":[{"name":"x-rapidapi-host","value":"linkedin-api8.p.rapidapi.com"}]}},"credentials":{"httpHeaderAuth":{"id":"nhoVFnkO31mejJrI","name":"RapidAPI Key"}},"executeOnce":false,"notesInFlow":true,"typeVersion":4.2,"alwaysOutputData":false},{"id":"903f6be4-b468-488c-aa41-50f60ee92bcb","name":"Do nothing","type":"n8n-nodes-base.noOp","position":[2480,-160],"parameters":{},"typeVersion":1,"notes":"This noOp node performs automated tasks as part of the workflow."},{"id":"695202d6-60bd-4788-b029-0c03a9e3c89a","name":"Merge profileURL","type":"n8n-nodes-base.code","position":[2700,140],"parameters":{"mode":"runOnceForEachItem","jsCode":"// Add a new field called 'myNewField' to the JSON of the item\n$input.item.json.profileURL = $json.profileURL;\n\nreturn $input.item;"},"typeVersion":2,"notes":"This code node performs automated tasks as part of the workflow."},{"id":"ead5d235-7f73-41e4-86d3-48ad7d4cfa8d","name":"Set last_post","type":"n8n-nodes-base.set","position":[3360,40],"parameters":{"options":{},"assignments":{"assignments":[{"id":"93be271c-22c8-4afe-a928-e9d2593b025d","name":"last_post","type":"string","value":"={{ $json.text[0] }}"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"a89746c8-5fb7-4c69-930f-d0f451bcef54","name":"Set last_position","type":"n8n-nodes-base.set","position":[3360,240],"parameters":{"options":{},"assignments":{"assignments":[{"id":"93be271c-22c8-4afe-a928-e9d2593b025d","name":"last_position","type":"string","value":"={{ $json.position[0].title }}"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"467aa5a3-c9f5-407f-8571-e9ba333109e2","name":"if new position","type":"n8n-nodes-base.if","position":[3580,240],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"48d6777d-5431-4cb9-9716-5059277bac5e","operator":{"type":"string","operation":"notEquals"},"leftValue":"={{ $json.last_position }}","rightValue":"={{ $('Get rows from document').item.json['current position'] }}"}]}},"typeVersion":2.2,"notes":"This if node performs automated tasks as part of the workflow."},{"id":"f6456ca1-bb31-4bf3-8175-7f8b5f4a65bb","name":"Set data here","type":"n8n-nodes-base.set","position":[60,40],"parameters":{"options":{},"assignments":{"assignments":[{"id":"a43825a4-f9cd-4b38-975c-b1de771cebea","name":"sheetLink","type":"string","value":"{{ $env.WEBHOOK_URL }}"},{"id":"ea837d0b-e8d6-4594-9861-550d30f05db0","name":"email","type":"string","value":"zeerobug@gmail.com"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"f904c3fb-9320-4b5e-92af-c7cc697eb9dc","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[220,-260],"parameters":{"color":4,"width":230,"height":460,"content":"## Hubspot API\nCalls a Hubpot API endpoint to get the list of Owners\nYou have to select \"Predefined credential  type\" and choose \"Hubspot Oauth2 API\". Then folow the instructions [here]({{ $env.WEBHOOK_URL }}"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"5a499d0c-bbe5-4041-a082-6111658bf155","name":"Change this for testing","type":"n8n-nodes-base.filter","position":[1160,40],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"id":"45031804-4846-4b03-8c8f-8f1a747986a4","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.properties.email }}","rightValue":"=nuno.domingues@toyotacaetano.pt"}]}},"typeVersion":2.2,"notes":"This filter node performs automated tasks as part of the workflow."},{"id":"089690f8-ddf5-46e4-933c-152095ea02ac","name":"Create entry with email","type":"n8n-nodes-base.googleSheets","position":[1380,40],"parameters":{"columns":{"value":{"email":"={{ $json.properties.email }}"},"schema":[{"id":"email","type":"string","display":true,"removed":false,"required":false,"displayName":"email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"linkedin_url","type":"string","display":true,"removed":true,"required":false,"displayName":"linkedin_url","defaultMatch":false,"canBeUsedToMatch":true},{"id":"last post","type":"string","display":true,"removed":true,"required":false,"displayName":"last post","defaultMatch":false,"canBeUsedToMatch":true},{"id":"current position","type":"string","display":true,"removed":true,"required":false,"displayName":"current position","defaultMatch":false,"canBeUsedToMatch":true},{"id":"date","type":"string","display":true,"removed":true,"required":false,"displayName":"date","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["email"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"url","value":"={{ $('Set data here').first().json.sheetLink }}"},"documentId":{"__rl":true,"mode":"url","value":"={{ $('Set data here').first().json.sheetLink }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"gdLmm513ROUyH6oU","name":"Google Sheets account"}},"typeVersion":4.5,"alwaysOutputData":true,"notes":"This googleSheets node performs automated tasks as part of the workflow."},{"id":"60617dc9-021b-41be-b7bf-0816bddba05e","name":"Get rows from document","type":"n8n-nodes-base.googleSheets","position":[1600,40],"parameters":{"options":{},"filtersUI":{"values":[{"lookupValue":"={{ $json.email }}","lookupColumn":"email"}]},"sheetName":{"__rl":true,"mode":"url","value":"={{ $('Set data here').first().json.sheetLink }}"},"documentId":{"__rl":true,"mode":"url","value":"={{ $('Set data here').first().json.sheetLink }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"gdLmm513ROUyH6oU","name":"Google Sheets account"}},"typeVersion":4.5,"alwaysOutputData":true,"notes":"This googleSheets node performs automated tasks as part of the workflow."},{"id":"21c2bbd5-75f1-4c80-a4ec-4c2870890fcf","name":"Search for user profile by names","type":"n8n-nodes-base.httpRequest","notes":"Search by Name and company","position":[2040,-60],"parameters":{"url":"{{ $env.API_BASE_URL }}","options":{},"sendQuery":true,"sendHeaders":true,"authentication":"{{ $credentials.genericCredentialType }}","genericAuthType":"httpHeaderAuth","queryParameters":{"parameters":[{"name":"firstName","value":"={{ $('Get list of clients').item.json.properties.firstname }}"},{"name":"lastName","value":"={{ $('Get list of clients').item.json.properties.lastname }}"},{"name":"company","value":"={{ $('Get list of clients').item.json.properties.company }}"}]},"headerParameters":{"parameters":[{"name":"x-rapidapi-host","value":"linkedin-api8.p.rapidapi.com"}]}},"credentials":{"httpHeaderAuth":{"id":"nhoVFnkO31mejJrI","name":"RapidAPI Key"}},"executeOnce":false,"notesInFlow":true,"typeVersion":4.2,"alwaysOutputData":false},{"id":"1a6f6571-a89a-4e6e-82a5-c239661d6131","name":"Profile URL not found?","type":"n8n-nodes-base.if","position":[2260,-60],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"c561dcaf-e164-46e5-8f44-8ebcd2943c78","operator":{"type":"string","operation":"empty","singleValue":true},"leftValue":"={{ $json.data.items[0].profileURL }}","rightValue":""}]}},"typeVersion":2.2,"notes":"This if node performs automated tasks as part of the workflow."},{"id":"2811ca64-1e43-4934-abc2-f1a746b2cf68","name":"Set the profile URL","type":"n8n-nodes-base.set","position":[2480,40],"parameters":{"options":{},"assignments":{"assignments":[{"id":"d6d3ebce-153c-44b0-a2f8-3c8ac41381cb","name":"profileURL","type":"string","value":"={{ $json.data.items[0].profileURL }}"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"d79a3896-e5b3-4b63-ad04-848f34db8100","name":"Set the profile URL1","type":"n8n-nodes-base.set","position":[2480,240],"parameters":{"options":{},"assignments":{"assignments":[{"id":"d433d14f-b862-4f43-969e-5e911a138f8c","name":"profileURL","type":"string","value":"={{ $('Get rows from document').item.json.linkedin_url }}"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"73683bde-7431-47e2-b70f-8e0dd2725c84","name":"Update last post","type":"n8n-nodes-base.googleSheets","position":[3800,40],"parameters":{"columns":{"value":{"date":"= {{new Date().format('dd-MM-yyyy')}}","email":"={{ $('Change this for testing').item.json.properties.email }}","last post":"={{ $('Set last_post').item.json.last_post }}","linkedin_url":"{{ $env.BASE_URL }}","current position":"={{ $json.last_position }}"},"schema":[{"id":"email","type":"string","display":true,"removed":false,"required":false,"displayName":"email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"linkedin_url","type":"string","display":true,"required":false,"displayName":"linkedin_url","defaultMatch":false,"canBeUsedToMatch":true},{"id":"last post","type":"string","display":true,"required":false,"displayName":"last post","defaultMatch":false,"canBeUsedToMatch":true},{"id":"current position","type":"string","display":true,"removed":false,"required":false,"displayName":"current position","defaultMatch":false,"canBeUsedToMatch":true},{"id":"date","type":"string","display":true,"required":false,"displayName":"date","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["email"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"url","value":"={{ $('Set data here').first().json.sheetLink }}"},"documentId":{"__rl":true,"mode":"url","value":"={{ $('Set data here').first().json.sheetLink }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"gdLmm513ROUyH6oU","name":"Google Sheets account"}},"typeVersion":4.5,"notes":"This googleSheets node performs automated tasks as part of the workflow."},{"id":"71f66801-3b12-4633-a95b-c4c8788117bd","name":"Updates last position","type":"n8n-nodes-base.googleSheets","position":[3800,240],"parameters":{"columns":{"value":{"date":"= {{new Date().format('dd-MM-yyyy')}}","email":"={{ $('Change this for testing').item.json.properties.email }}","linkedin_url":"{{ $env.BASE_URL }}","current position":"={{ $json.last_position }}"},"schema":[{"id":"email","type":"string","display":true,"removed":false,"required":false,"displayName":"email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"linkedin_url","type":"string","display":true,"required":false,"displayName":"linkedin_url","defaultMatch":false,"canBeUsedToMatch":true},{"id":"last post","type":"string","display":true,"removed":true,"required":false,"displayName":"last post","defaultMatch":false,"canBeUsedToMatch":true},{"id":"current position","type":"string","display":true,"removed":false,"required":false,"displayName":"current position","defaultMatch":false,"canBeUsedToMatch":true},{"id":"date","type":"string","display":true,"required":false,"displayName":"date","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["email"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"url","value":"={{ $('Set data here').first().json.sheetLink }}"},"documentId":{"__rl":true,"mode":"url","value":"={{ $('Set data here').first().json.sheetLink }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"gdLmm513ROUyH6oU","name":"Google Sheets account"}},"typeVersion":4.5,"notes":"This googleSheets node performs automated tasks as part of the workflow."},{"id":"d67c1106-5d91-4d00-980b-1b3578a1c86f","name":"Set post_updated","type":"n8n-nodes-base.set","position":[4020,40],"parameters":{"options":{},"assignments":{"assignments":[{"id":"71118d71-0ea6-4b01-ac4d-a3ae1129b0e7","name":"post_updated","type":"boolean","value":true},{"id":"f709a120-0db7-4b50-82e6-8f1f02352680","name":"email","type":"string","value":"={{ $('Change this for testing').item.json.properties.email }}"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"ad574631-3799-4f02-96ff-8683dc944331","name":"Set position_updated","type":"n8n-nodes-base.set","position":[4020,240],"parameters":{"options":{},"assignments":{"assignments":[{"id":"71118d71-0ea6-4b01-ac4d-a3ae1129b0e7","name":"position_updated","type":"boolean","value":true},{"id":"1f0e817d-2ad4-4330-b683-64e31cfa4741","name":"email","type":"string","value":"={{ $('Change this for testing').item.json.properties.email }}"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"157a5e8f-7b42-4115-91a2-2f204cd6d9f6","name":"Generate the email text","type":"n8n-nodes-base.code","position":[4460,140],"parameters":{"jsCode":"// Loop over input items and add a new field called 'myNewField' to the JSON of each one\nlet client_post = []\nlet client_position = []\nfor (const item of $input.all()) {\n  if(item.json.position_updated) {\n    client_position.push(item.json.email)\n  }\n  if(item.json.post_updated) {\n    client_post.push(item.json.email)\n  }\n}\nlet text = ''\nif (client_post.length > 0) {\n  text = text + 'There has been a post update for the following clients:\\n'\n  text = text + client_post.join(\"\\n\") + \"\\n\";\n}\nif (client_position.length > 0) {\n  text = text + 'There has been a position update for the following clients:\\n'\n  text = text + client_position.join(\"\\n\") + \"\\n\";\n}\n\nreturn {text};"},"typeVersion":2,"notes":"This code node performs automated tasks as part of the workflow."},{"id":"0735e123-47ed-4b3c-9aa8-cc7d2f982e4b","name":"Merge on email","type":"n8n-nodes-base.merge","position":[4240,140],"parameters":{"mode":"combine","options":{},"joinMode":"keepEverything","fieldsToMatchString":"email"},"typeVersion":3.1,"notes":"This merge node performs automated tasks as part of the workflow."},{"id":"88717813-9e07-4984-8e8b-7772f7c7a0e7","name":"Split Out owners","type":"n8n-nodes-base.splitOut","position":[500,40],"parameters":{"options":{},"fieldToSplitOut":"results"},"typeVersion":1,"notes":"This splitOut node performs automated tasks as part of the workflow."},{"id":"5799995c-659e-4732-a35b-893692d95509","name":"Get current owner","type":"n8n-nodes-base.filter","position":[720,40],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"7c6aec6e-66a9-4739-8a59-28f2ab1c4a26","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.email }}","rightValue":"={{ $('Set data here').first().json.email }}"}]}},"typeVersion":2.2,"notes":"This filter node performs automated tasks as part of the workflow."},{"id":"637b821f-8051-4e91-a58e-85dc7e136467","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[880,-260],"parameters":{"color":4,"width":230,"height":460,"content":"## Calling a Sub-workflow\nFor lisibility only\n"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"3bda132e-73a3-4af0-bb43-ff52f31f5a90","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1120,-260],"parameters":{"color":4,"width":190,"height":460,"content":"## For testing\nWe recommend to filter a small number of clients here\n"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"13fb80f1-d685-4998-a534-41a0f944b6e8","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[1320,-260],"parameters":{"color":4,"width":430,"height":460,"content":"## Preparing the Google sheet\n- Create an entry for each client with his email\n- Get rows for later comparison\n\n"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"54a51950-a284-435e-8a2b-bdc0ebace3c9","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[3080,-240],"parameters":{"color":4,"width":1090,"height":660,"content":"## Adding other tests\nHere you can set other tests like:\n- New comments in LinkedIn\n- Hubspot activities\n- Hubspot updates\netc.\n\n"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"4b197665-b31c-4fa2-8934-5b72468ca2e9","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[1960,-240],"parameters":{"color":4,"width":1090,"height":660,"content":"## Searching for the LinkedIn URL\n- Set here you rapid API key\n- If we find the URL, searches for more info about the client\n"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"665fb602-dc0a-432f-a087-ce6097f58937","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[4200,-240],"parameters":{"color":4,"width":670,"height":660,"content":"## Generating the alert email\n\n"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"d6789f6a-aa62-44fd-9314-fc0157b6dcd8","name":"Sticky Note10","type":"n8n-nodes-base.stickyNote","position":[-220,400],"parameters":{"color":5,"width":1570,"height":460,"content":"## Get all clients for this owner\nAs we are limited to 200 clients by the Hubsot API, we have to loop to get all of them\n\n"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"d9a5cc09-7e4f-488a-a3dc-6a27361d9d0b","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[-200,-480],"parameters":{"width":640,"height":200,"content":"## Contact me\n- If you need any modification to this workflow\n- if you need some help with this workflow\n- Or if you need any workflow in n8n, Make, or Langchain / Langgraph\n\nWrite to me: [thomas@pollup.net](mailto:thomas@pollup.net)"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."}],"connections":{"Get list of owners":{"main":[[],[],[],[],[],[],[],[],[]]},"Get list of clients for owner":{"main":[[],[],[],[],[],[],[],[],[]]},"Search for user by link":{"main":[[],[],[],[],[],[],[],[],[]]},"Search for user profile by names":{"main":[[],[],[],[],[],[],[],[],[]]},"Create entry with email":{"main":[[]]},"Get rows from document":{"main":[[]]},"Update last post":{"main":[[]]},"Updates last position":{"main":[[]]}},"name":"Manualtrigger Workflow","settings":{"executionOrder":"v1","saveManualExecutions":true,"callerPolicy":"workflowsFromSameOwner","errorWorkflow":null,"timezone":"UTC","executionTimeout":3600,"maxExecutions":1000,"retryOnFail":true,"retryCount":3,"retryDelay":1000},"description":"Automated workflow: Manualtrigger Workflow. This workflow integrates 15 different services: stickyNote, httpRequest, filter, code, splitOut. It contains 58 nodes and follows best practices for error handling and security.","meta":{"instanceId":"workflow-5765da77","versionId":"1.0.0","createdAt":"2025-09-29T07:07:53.496678","updatedAt":"2025-09-29T07:07:53.496692","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"notes":"Excellent quality workflow: Manualtrigger Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}