Enrichissement des données CRM HDW
Ceci est unSales, AIworkflow d'automatisation du domainecontenant 42 nœuds.Utilise principalement des nœuds comme If, Hubspot, HubspotTool, PipedriveTool, HubspotTrigger, combinant la technologie d'intelligence artificielle pour une automatisation intelligente. Enrichissement des données de contact Pipedrive CRM à partir des profils LinkedIn avec GPT et support multi-CRM
- •Clé API HubSpot
- •Informations d'identification LinkedIn API
- •Clé API OpenAI
Nœuds utilisés (42)
Catégorie
{
"id": "reF98YdsmqqRYRfs",
"meta": {
"instanceId": "9bce59fa408e249dab636faffc5a13e5aa1a2e4af3383a551051e8bd22b2a1b9",
"templateCredsSetupCompleted": true
},
"name": "HDW CRM Enrichment",
"tags": [],
"nodes": [
{
"id": "3c5a9019-48f6-4ec8-a375-65b312a5ca8b",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
20,
300
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "gpt-4o"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "DzKhX3E7SSLddnv4",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "67d2d4a7-cf92-40b0-8f9d-5a9001f5a9d4",
"name": "Obtenir l'entreprise depuis le CRM",
"type": "n8n-nodes-base.pipedriveTool",
"onError": "continueRegularOutput",
"position": [
200,
300
],
"parameters": {
"resource": "organization",
"operation": "get",
"organizationId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Organization_ID', `org_id`, 'number') }}",
"descriptionType": "manual",
"toolDescription": "Get information about company from CRM (name)"
},
"credentials": {
"pipedriveApi": {
"id": "Np1lpjHWyDnuQBzh",
"name": "Pipedrive account"
}
},
"typeVersion": 1,
"alwaysOutputData": false
},
{
"id": "517cb827-8581-417e-ad66-62ce48958d3c",
"name": "OpenAI Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
40,
960
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "gpt-4o"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "DzKhX3E7SSLddnv4",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "ccb4f7f2-15f7-41ae-a0c5-6f836956e32a",
"name": "Obtenir l'entreprise depuis le CRM1",
"type": "n8n-nodes-base.pipedriveTool",
"onError": "continueRegularOutput",
"position": [
220,
960
],
"parameters": {
"resource": "organization",
"operation": "get",
"organizationId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Organization_ID', `org_id`, 'number') }}",
"descriptionType": "manual",
"toolDescription": "Get information about company from CRM (name)"
},
"credentials": {
"pipedriveApi": {
"id": "Np1lpjHWyDnuQBzh",
"name": "Pipedrive account"
}
},
"typeVersion": 1,
"alwaysOutputData": false
},
{
"id": "97df8c33-3cbd-4739-add2-07550ddd3d59",
"name": "OpenAI Chat Model2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
340,
1720
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "gpt-4o"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "DzKhX3E7SSLddnv4",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "9ba0bf56-cefb-48a0-8133-111dd4199ddb",
"name": "HubSpot Trigger",
"type": "n8n-nodes-base.hubspotTrigger",
"position": [
-400,
1380
],
"webhookId": "f23339ab-755f-4730-b941-440a3aabd531",
"parameters": {
"eventsUi": {
"eventValues": [
{},
{
"name": "contact.propertyChange",
"property": "need_enrichment"
}
]
},
"additionalFields": {}
},
"credentials": {
"hubspotDeveloperApi": {
"id": "YoTxoBbdZ9jgzVZI",
"name": "HubSpot Developer account"
}
},
"typeVersion": 1
},
{
"id": "1601abfa-2d1f-4cf0-8e8b-272544adf088",
"name": "If1",
"type": "n8n-nodes-base.if",
"position": [
40,
1380
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "07631805-59b3-4985-9bb1-e9d8bed4ba6c",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('HubSpot Trigger').item.json.subscriptionType }}",
"rightValue": "contact.creation"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "3782caf0-a426-40dd-b822-af718c00a143",
"name": "If2",
"type": "n8n-nodes-base.if",
"position": [
200,
1520
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "8a2e7666-3353-426a-a52f-b25fcce4b6b1",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('HubSpot Trigger').item.json.subscriptionType }}",
"rightValue": "contact.propertyChange"
},
{
"id": "98e06926-e30b-4ee5-b723-6acada900e43",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.properties.need_enrichment.value }}",
"rightValue": "true"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "65865367-746a-4e58-ad21-4b728bf1f22c",
"name": "Pipedrive Trigger New Contact",
"type": "n8n-nodes-base.pipedriveTrigger",
"position": [
-220,
40
],
"webhookId": "57f88f55-eaac-4545-8798-5c85b74de8aa",
"parameters": {
"action": "create",
"entity": "person"
},
"credentials": {
"pipedriveApi": {
"id": "Np1lpjHWyDnuQBzh",
"name": "Pipedrive account"
}
},
"typeVersion": 1.1
},
{
"id": "94a1a81e-8023-42ec-a607-9ad639dab6b1",
"name": "Agent IA d'enrichissement de données",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
180,
40
],
"parameters": {
"text": "=User data:\nemail - {{ $json.data.emails[0].value }}\nname - {{ $json.data.name }}\norganization id - {{ $json.data.org_id }}",
"options": {
"systemMessage": "# LinkedIn Data Enrichment Agent\n\nYou are an advanced data enrichment agent specialized in augmenting CRM records with LinkedIn profile data. Your purpose is to analyze incoming Pipedrive CRM person data, find matching LinkedIn profiles, extract valuable information, and update the CRM with enhanced professional insights.\n\n## Input Data Structure\nYou will receive a JSON array containing Pipedrive person data with the following structure:\n- Person's name, email, and other contact information\n- Custom fields and metadata\n- Timestamp and system information\n\n## Available Tools\n1. `get_linkedin_email_user` - Search for LinkedIn profiles by email address\n2. `get_organisation_info` - Get information about company from CRM\n3. `get_linkedin_user_posts` - Retrieve recent posts from a LinkedIn profile\n4. `get_linkedin_profile` - Get detailed information about a LinkedIn profile\n5. `update_pipedrive_data` - Update CRM data with LinkedIn insights\n6. `search_linkedin_users` - Search for profiles using parameters like name, title, location, company\n\n## Processing Algorithm\n1. SEARCH BY EMAIL: First, attempt to find the LinkedIn profile using the person's email address.\n2. ALTERNATIVE SEARCH: If no profile is found via email, Get company details from CRM to get a company name and use available parameters (name, company, location) to search for potential matches. \n3. PROFILE DETAILS: Once a profile is found, retrieve comprehensive profile details.\n4. PROFILE SUMMARY: Create a concise, informative summary of the profile highlighting key professional information.\n5. POST RETRIEVAL: Obtain the person's recent LinkedIn posts.\n6. POST SUMMARY: Analyze posts to identify patterns, interests, and professional focus areas.\n7. CRM UPDATE: Update the Pipedrive record with:\n - LinkedIn profile URL\n - Profile summary\n - Post activity summary\n\n## Output Requirements\nFor each profile processed, you must:\n1. Use structured, consistent data format for CRM updates\n2. Include relevant professional insights that could aid in business relationship development\n3. Format all summaries in clear, concise language\n4. Handle errors gracefully, documenting any profiles that could not be enriched\n\nAlways respect privacy and data protection standards throughout this process. Process each record thoroughly before moving to the next one."
},
"promptType": "define"
},
"typeVersion": 1.9
},
{
"id": "1416e6a9-07b3-4ae0-89d9-a02d2210b263",
"name": "HDW Obtenir le profil LinkedIn par email",
"type": "n8n-nodes-hdw.hdwLinkedinTool",
"position": [
360,
300
],
"parameters": {
"count": 1,
"email": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Email', `user email`, 'string') }}",
"resource": "email"
},
"credentials": {
"hdwLinkedinApi": {
"id": "ZT0V5HkxTZIlAkvE",
"name": "HDW LinkedIn account"
}
},
"typeVersion": 1
},
{
"id": "0497e923-2172-460e-be39-a892f86bdc44",
"name": "Mettre à jour les données dans Pipedrive",
"type": "n8n-nodes-base.pipedriveTool",
"position": [
520,
300
],
"parameters": {
"personId": "={{ $('Pipedrive Trigger New Contact').item.json.data.id }}",
"resource": "person",
"operation": "update",
"updateFields": {
"customProperties": {
"property": [
{
"name": "aaff6b5725bba77a29b560b3e9755c37795c8b02",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('property0_Property_Value', `User post summary`, 'string') }}"
},
{
"name": "9e32b0cdeabbcb1cc9c60e0691b6a3c68c9ecbf3",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('property1_Property_Value', `linkedin profile url`, 'string') }}"
},
{
"name": "16b938b8c25aff3ee2a0bcab7382ddf8785f9fc3",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('property2_Property_Value', `profile summary`, 'string') }}"
}
]
}
},
"descriptionType": "manual",
"toolDescription": "Update data in Pipedrive\nUse this tool for update customer data from linkedin profile:\nPost summary\nProfile URL\nProfile summary"
},
"credentials": {
"pipedriveApi": {
"id": "Np1lpjHWyDnuQBzh",
"name": "Pipedrive account"
}
},
"typeVersion": 1
},
{
"id": "a0a8ad5d-ee64-48d0-88f5-12393138e07a",
"name": "HDW Rechercher le profil LinkedIn",
"type": "n8n-nodes-hdw.hdwLinkedinTool",
"position": [
660,
300
],
"parameters": {
"keywords": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Keywords', ``, 'string') }}",
"additionalFields": {
"location": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Location', `location`, 'string') }}",
"last_name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Last_Name', `last name`, 'string') }}",
"first_name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('First_Name', `first name`, 'string') }}",
"company_keywords": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Company_Keywords', `company`, 'string') }}"
}
},
"credentials": {
"hdwLinkedinApi": {
"id": "ZT0V5HkxTZIlAkvE",
"name": "HDW LinkedIn account"
}
},
"typeVersion": 1
},
{
"id": "679e5c8c-4597-4286-a356-2e7746644d65",
"name": "HDW Obtenir les détails du profil LinkedIn",
"type": "n8n-nodes-hdw.hdwLinkedinTool",
"position": [
820,
300
],
"parameters": {
"user": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('User', `user alias`, 'string') }}",
"operation": "getProfile"
},
"credentials": {
"hdwLinkedinApi": {
"id": "ZT0V5HkxTZIlAkvE",
"name": "HDW LinkedIn account"
}
},
"typeVersion": 1
},
{
"id": "76231a56-fa8e-44f2-9e02-3407cc776098",
"name": "HDW Obtenir les publications du profil LinkedIn",
"type": "n8n-nodes-hdw.hdwLinkedinTool",
"position": [
980,
300
],
"parameters": {
"urn": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('User_URN', `user URN with prefix: fsd_profile:ACoAA..`, 'string') }}",
"operation": "getPosts"
},
"credentials": {
"hdwLinkedinApi": {
"id": "ZT0V5HkxTZIlAkvE",
"name": "HDW LinkedIn account"
}
},
"typeVersion": 1
},
{
"id": "ef79759b-283d-4a03-8c3a-2cc2f67c1183",
"name": "Pipedrive Trigger Update Data for Existing Client",
"type": "n8n-nodes-base.pipedriveTrigger",
"position": [
-180,
700
],
"webhookId": "57f88f55-eaac-4545-8798-5c85b74de8aa",
"parameters": {
"action": "change",
"entity": "person"
},
"credentials": {
"pipedriveApi": {
"id": "Np1lpjHWyDnuQBzh",
"name": "Pipedrive account"
}
},
"typeVersion": 1.1
},
{
"id": "86b8c79b-5d0f-40f5-b6fb-6a675a6d5165",
"name": "Enrich Flag is True",
"type": "n8n-nodes-base.if",
"position": [
20,
700
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "c4337b59-91a5-4f3b-b384-0790e1494595",
"operator": {
"type": "number",
"operation": "equals"
},
"leftValue": "={{ $json.data.custom_fields['84e4db043440773b8550825d3112e4a0292ef0f2'].id }}",
"rightValue": 29
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e8878f73-5d53-4e5c-a974-f3fe99481585",
"name": "HDW Obtenir le profil LinkedIn par email1",
"type": "n8n-nodes-hdw.hdwLinkedinTool",
"position": [
400,
960
],
"parameters": {
"count": 1,
"email": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Email', `user email`, 'string') }}",
"resource": "email"
},
"credentials": {
"hdwLinkedinApi": {
"id": "ZT0V5HkxTZIlAkvE",
"name": "HDW LinkedIn account"
}
},
"typeVersion": 1
},
{
"id": "f8fa0c6a-b598-40dd-8ddb-e6606aa78ace",
"name": "HDW Obtenir le profil LinkedIn par email2",
"type": "n8n-nodes-hdw.hdwLinkedinTool",
"position": [
640,
1720
],
"parameters": {
"count": 1,
"email": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Email', `user email`, 'string') }}",
"resource": "email"
},
"credentials": {
"hdwLinkedinApi": {
"id": "ZT0V5HkxTZIlAkvE",
"name": "HDW LinkedIn account"
}
},
"typeVersion": 1
},
{
"id": "e3457e56-7a83-46e7-8926-5a3152d2d863",
"name": "Data Enrichment AI Agent1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
540,
1400
],
"parameters": {
"text": "=User data:\nemail - {{ $json['identity-profiles'][0].identities[0].value }}\nname - {{ $json.properties.hs_full_name_or_email.value }}\nCompany name - {{ $json.properties.company.value }}",
"options": {
"systemMessage": "# LinkedIn Data Enrichment Agent\n\nYou are an advanced data enrichment agent specialized in augmenting CRM records with LinkedIn profile data. Your purpose is to analyze incoming Pipedrive CRM person data, find matching LinkedIn profiles, extract valuable information, and update the CRM with enhanced professional insights.\n\n## Input Data Structure\nYou will receive a JSON array containing Pipedrive person data with the following structure:\n- Person's name, email, and other contact information\n- Custom fields and metadata\n- Timestamp and system information\n\n## Available Tools\n1. `get_linkedin_email_user` - Search for LinkedIn profiles by email address\n2. `get_linkedin_user_posts` - Retrieve recent posts from a LinkedIn profile\n3. `get_linkedin_profile` - Get detailed information about a LinkedIn profile\n4. `update_hubspot_data` - Update CRM data with LinkedIn insights\n5. `search_linkedin_users` - Search for profiles using parameters like name, title, location, company\n\n## Processing Algorithm\n1. SEARCH BY EMAIL: First, attempt to find the LinkedIn profile using the person's email address.\n2. ALTERNATIVE SEARCH: If no profile is found via email, available parameters (name, company, location) to search for potential matches. \n3. PROFILE DETAILS: Once a profile is found, retrieve comprehensive profile details.\n4. PROFILE SUMMARY: Create a concise, informative summary of the profile highlighting key professional information.\n5. POST RETRIEVAL: Obtain the person's recent LinkedIn posts.\n6. POST SUMMARY: Analyze posts to identify patterns, interests, and professional focus areas. If profile has no posts - update \"no post\"\n7. CRM UPDATE: Update the Pipedrive record with:\n - LinkedIn profile URL\n - Profile summary\n - Post activity summary\n\n## Output Requirements\nFor each profile processed, you must:\n1. Use structured, consistent data format for CRM updates\n2. Include relevant professional insights that could aid in business relationship development\n3. Format all summaries in clear, concise language\n4. Handle errors gracefully, documenting any profiles that could not be enriched\n\nAlways respect privacy and data protection standards throughout this process. Process each record thoroughly before moving to the next one."
},
"promptType": "define"
},
"typeVersion": 1.9
},
{
"id": "be290e43-8d1c-47b9-8768-5b28c1fec310",
"name": "Data Enrichment AI Agent2",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
240,
640
],
"parameters": {
"text": "=User data:\nemail - {{ $json.data.emails[0].value }}\nname - {{ $json.data.name }}\norganization id - {{ $json.data.org_id }}",
"options": {
"systemMessage": "# LinkedIn Data Enrichment Agent\n\nYou are an advanced data enrichment agent specialized in augmenting CRM records with LinkedIn profile data. Your purpose is to analyze incoming Pipedrive CRM person data, find matching LinkedIn profiles, extract valuable information, and update the CRM with enhanced professional insights.\n\n## Input Data Structure\nYou will receive a JSON array containing Pipedrive person data with the following structure:\n- Person's name, email, and other contact information\n- Custom fields and metadata\n- Timestamp and system information\n\n## Available Tools\n1. `get_linkedin_email_user` - Search for LinkedIn profiles by email address\n2. `get_organisation_info` - Get information about company from CRM\n3. `get_linkedin_user_posts` - Retrieve recent posts from a LinkedIn profile\n4. `get_linkedin_profile` - Get detailed information about a LinkedIn profile\n5. `update_pipedrive_data` - Update CRM data with LinkedIn insights\n6. `search_linkedin_users` - Search for profiles using parameters like name, title, location, company\n\n## Processing Algorithm\n1. SEARCH BY EMAIL: First, attempt to find the LinkedIn profile using the person's email address.\n2. ALTERNATIVE SEARCH: If no profile is found via email, Get company details from CRM to get a company name and use available parameters (name, company, location) to search for potential matches. \n3. PROFILE DETAILS: Once a profile is found, retrieve comprehensive profile details.\n4. PROFILE SUMMARY: Create a concise, informative summary of the profile highlighting key professional information.\n5. POST RETRIEVAL: Obtain the person's recent LinkedIn posts.\n6. POST SUMMARY: Analyze posts to identify patterns, interests, and professional focus areas.\n7. CRM UPDATE: Update the Pipedrive record with:\n - LinkedIn profile URL\n - Profile summary\n - Post activity summary\n\n## Output Requirements\nFor each profile processed, you must:\n1. Use structured, consistent data format for CRM updates\n2. Include relevant professional insights that could aid in business relationship development\n3. Format all summaries in clear, concise language\n4. Handle errors gracefully, documenting any profiles that could not be enriched\n\nAlways respect privacy and data protection standards throughout this process. Process each record thoroughly before moving to the next one."
},
"promptType": "define"
},
"typeVersion": 1.9
},
{
"id": "db2ff73b-eab1-4334-91e7-e79d49c3dc75",
"name": "Update data in Pipedrive1",
"type": "n8n-nodes-base.pipedriveTool",
"position": [
580,
960
],
"parameters": {
"personId": "={{ $('Pipedrive Trigger Update Data for Existing Client').item.json.data.id }}",
"resource": "person",
"operation": "update",
"updateFields": {
"customProperties": {
"property": [
{
"name": "aaff6b5725bba77a29b560b3e9755c37795c8b02",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('property0_Property_Value', `User post summary`, 'string') }}"
},
{
"name": "9e32b0cdeabbcb1cc9c60e0691b6a3c68c9ecbf3",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('property1_Property_Value', `linkedin profile url`, 'string') }}"
},
{
"name": "16b938b8c25aff3ee2a0bcab7382ddf8785f9fc3",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('property2_Property_Value', `profile summary`, 'string') }}"
},
{
"name": "84e4db043440773b8550825d3112e4a0292ef0f2"
}
]
}
},
"descriptionType": "manual",
"toolDescription": "Update data in Pipedrive\nUse this tool for update customer data from linkedin profile:\nPost summary\nProfile URL\nProfile summary"
},
"credentials": {
"pipedriveApi": {
"id": "Np1lpjHWyDnuQBzh",
"name": "Pipedrive account"
}
},
"typeVersion": 1
},
{
"id": "603575e8-6177-4a15-ba26-c4c050ebbc8d",
"name": "Update data in HubSpot",
"type": "n8n-nodes-base.hubspotTool",
"position": [
500,
1720
],
"parameters": {
"email": "={{ $json.properties.email.value }}",
"options": {},
"authentication": "appToken",
"descriptionType": "manual",
"toolDescription": "Update HubSpot CRM Data",
"additionalFields": {
"customPropertiesUi": {
"customPropertiesValues": [
{
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('customPropertiesValues0_Value', `LinkedIn Post Summary`, 'string') }}",
"property": "linkedin_posts_summary"
},
{
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('customPropertiesValues1_Value', `LinkedIn Profile Summary`, 'string') }}",
"property": "profile_summary"
},
{
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('customPropertiesValues3_Value', `Linkedin URL`, 'string') }}",
"property": "linkedin_url"
}
]
}
}
},
"credentials": {
"hubspotAppToken": {
"id": "SMSkOh9sYnPkB155",
"name": "HubSpot App Token account"
}
},
"typeVersion": 2.1
},
{
"id": "02935731-b9b1-490c-9416-f297106bb148",
"name": "HDW Search LinkedIn Profile1",
"type": "n8n-nodes-hdw.hdwLinkedinTool",
"position": [
720,
960
],
"parameters": {
"keywords": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Keywords', ``, 'string') }}",
"additionalFields": {
"location": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Location', `location`, 'string') }}",
"last_name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Last_Name', `last name`, 'string') }}",
"first_name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('First_Name', `first name`, 'string') }}",
"company_keywords": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Company_Keywords', `company`, 'string') }}"
}
},
"credentials": {
"hdwLinkedinApi": {
"id": "ZT0V5HkxTZIlAkvE",
"name": "HDW LinkedIn account"
}
},
"typeVersion": 1
},
{
"id": "9354223f-88de-4a79-9ac8-19fa711ca341",
"name": "HDW Search LinkedIn Profile2",
"type": "n8n-nodes-hdw.hdwLinkedinTool",
"position": [
800,
1720
],
"parameters": {
"keywords": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Keywords', ``, 'string') }}",
"additionalFields": {
"location": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Location', `location`, 'string') }}",
"last_name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Last_Name', `last name`, 'string') }}",
"first_name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('First_Name', `first name`, 'string') }}",
"company_keywords": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Company_Keywords', `company`, 'string') }}"
}
},
"credentials": {
"hdwLinkedinApi": {
"id": "ZT0V5HkxTZIlAkvE",
"name": "HDW LinkedIn account"
}
},
"typeVersion": 1
},
{
"id": "373b2006-b5f2-4903-add3-0ed48a17ab97",
"name": "HDW Get LinkedIn Profile Details1",
"type": "n8n-nodes-hdw.hdwLinkedinTool",
"position": [
880,
960
],
"parameters": {
"user": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('User', `user alias`, 'string') }}",
"operation": "getProfile"
},
"credentials": {
"hdwLinkedinApi": {
"id": "ZT0V5HkxTZIlAkvE",
"name": "HDW LinkedIn account"
}
},
"typeVersion": 1
},
{
"id": "53f71433-2806-4c66-8a46-44ed9f5d688d",
"name": "HDW Get LinkedIn Profile Details2",
"type": "n8n-nodes-hdw.hdwLinkedinTool",
"position": [
960,
1720
],
"parameters": {
"user": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('User', `user alias`, 'string') }}",
"operation": "getProfile"
},
"credentials": {
"hdwLinkedinApi": {
"id": "ZT0V5HkxTZIlAkvE",
"name": "HDW LinkedIn account"
}
},
"typeVersion": 1
},
{
"id": "00c64271-b0c7-4eee-b412-74eec1c390c5",
"name": "HDW Get LinkedIn Profile Posts1",
"type": "n8n-nodes-hdw.hdwLinkedinTool",
"position": [
1040,
960
],
"parameters": {
"urn": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('User_URN', `user URN with prefix: fsd_profile:ACoAA..`, 'string') }}",
"operation": "getPosts"
},
"credentials": {
"hdwLinkedinApi": {
"id": "ZT0V5HkxTZIlAkvE",
"name": "HDW LinkedIn account"
}
},
"typeVersion": 1
},
{
"id": "21727229-4e20-48ad-939d-4f620829cb62",
"name": "HDW Get LinkedIn Profile Posts2",
"type": "n8n-nodes-hdw.hdwLinkedinTool",
"position": [
1120,
1720
],
"parameters": {
"urn": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('User_URN', `user URN with prefix: fsd_profile:ACoAA..`, 'string') }}",
"operation": "getPosts"
},
"credentials": {
"hdwLinkedinApi": {
"id": "ZT0V5HkxTZIlAkvE",
"name": "HDW LinkedIn account"
}
},
"typeVersion": 1
},
{
"id": "6fd5f3e8-4a2c-4ef3-a9c3-b10e5420f20e",
"name": "HubSpot Get Contact Data",
"type": "n8n-nodes-base.hubspot",
"position": [
-180,
1380
],
"parameters": {
"contactId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.contactId }}"
},
"operation": "get",
"authentication": "appToken",
"additionalFields": {
"propertiesCollection": {
"propertiesValues": {
"properties": [
"firstname",
"lastname",
"email",
"company"
],
"propertyMode": "valueOnly"
}
}
}
},
"credentials": {
"hubspotAppToken": {
"id": "SMSkOh9sYnPkB155",
"name": "HubSpot App Token account"
}
},
"typeVersion": 2.1
},
{
"id": "cbda84b3-6b42-400e-9926-428d5759714a",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-500,
-20
],
"parameters": {
"width": 2100,
"height": 1180,
"content": "## PipeDrive Agent"
},
"typeVersion": 1
},
{
"id": "5824df79-605d-4fd4-aa86-a50f0425d0cc",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-500,
1240
],
"parameters": {
"width": 2100,
"height": 660,
"content": "## HubSpot Agent"
},
"typeVersion": 1
},
{
"id": "50321ab6-d818-4160-ada5-4b5bd5ab432f",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-440,
1280
],
"parameters": {
"color": 3,
"width": 400,
"height": 280,
"content": "1. Create custom fields in your CRM\n2. Check the fields mapping in the node"
},
"typeVersion": 1
},
{
"id": "c9adb7de-0a6f-4800-807c-d67b2ffb4814",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
480,
1280
],
"parameters": {
"color": 3,
"width": 400,
"height": 280,
"content": "Check the fields mapping in the node"
},
"typeVersion": 1
},
{
"id": "022986b3-26e9-4ecc-b700-7cb61fca3ca2",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
1660
],
"parameters": {
"color": 3,
"width": 150,
"content": "Check the fields mapping in the node"
},
"typeVersion": 1
},
{
"id": "7cb9b84a-ef8e-40db-9c9a-03513a2c778a",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-340,
600
],
"parameters": {
"color": 3,
"width": 320,
"height": 260,
"content": "1. Create custom fields in your CRM\n2. Check the fields mapping in the node"
},
"typeVersion": 1
},
{
"id": "4f0f1330-5a20-485a-be61-3e19fe8ae7cb",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-260,
-20
],
"parameters": {
"color": 3,
"width": 320,
"height": 220,
"content": "1. Create custom fields in your CRM\n2. Check the fields mapping in the node"
},
"typeVersion": 1
},
{
"id": "9cb66045-3364-473d-94a9-a07e014997c6",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
200,
580
],
"parameters": {
"color": 3,
"width": 400,
"height": 280,
"content": "Check the fields mapping in the node"
},
"typeVersion": 1
},
{
"id": "eeccfac0-afa0-4990-b74f-c6fd06364d9b",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
140,
-20
],
"parameters": {
"color": 3,
"width": 400,
"height": 280,
"content": "Check the fields mapping in the node"
},
"typeVersion": 1
},
{
"id": "e734b8c3-4df3-4c53-87f7-80a093b4177d",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
560,
900
],
"parameters": {
"color": 3,
"width": 150,
"content": "Check the fields mapping in the node"
},
"typeVersion": 1
},
{
"id": "a9a31bf4-f1e4-4980-9ff8-f84310e8a6ee",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
480,
240
],
"parameters": {
"color": 3,
"width": 150,
"content": "Check the fields mapping in the node"
},
"typeVersion": 1
},
{
"id": "492448e0-cc3c-4a5c-94fd-5eb5cf7c135f",
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1780,
-440
],
"parameters": {
"width": 960,
"height": 2700,
"content": "# CRM Data Enrichment Workflow\nhorizondatawave.ai\n\n## Overview\nThis n8n workflow automates the enrichment of CRM contact data with professional insights from LinkedIn profiles. The workflow integrates with both Pipedrive and HubSpot CRMs, finding LinkedIn profiles that match your contacts and updating your CRM with valuable information about their professional background and recent activities.\n\n## Key Features\n- **Multi-CRM Support**: Works with both Pipedrive and HubSpot\n- **AI-Powered Data Enrichment**: Uses an advanced AI agent to analyze and summarize professional information\n- **Automated Triggers**: Activates when new contacts are added or when enrichment is requested\n- **Comprehensive Profile Analysis**: Captures LinkedIn profile summaries and post activity\n\n## How It Works\n\n### Triggers\nThe workflow activates in three scenarios:\n1. When a new contact is created in CRM\n2. When a contact is updated in CRM with an enrichment flag\n\n### LinkedIn Data Collection Process\n1. **Email Lookup**: First tries to find the LinkedIn profile using the contact's email\n2. **Advanced Search**: If email lookup fails, uses name and company details to find potential matches\n3. **Profile Analysis**: Collects comprehensive profile information\n4. **Post Analysis**: Gathers and analyzes the contact's recent LinkedIn activity\n\n### CRM Updates\nThe workflow updates your CRM with:\n- LinkedIn profile URL\n- Professional summary (skills, experience, background)\n- Analysis of recent LinkedIn posts and activity\n\n## Setup Instructions\n\n### Requirements\n1. Self-hosted n8n instance with the HDW LinkedIn community node installed\n2. API access to OpenAI (for GPT-4o)\n3. Pipedrive and/or HubSpot account\n4. HDW API key [https://app.horizondatawave.ai](https://app.horizondatawave.ai)\n\n\n### Installation Steps\n1. **Install the HDW LinkedIn Node**:\n ```\n npm install n8n-nodes-hdw\n ```\n - Follow the detailed instructions at: [https://www.npmjs.com/package/n8n-nodes-hdw](https://www.npmjs.com/package/n8n-nodes-hdw)\n\n2. **Configure Credentials**:\n - **OpenAI**: Add your OpenAI API key\n - **Pipedrive**: Connect your Pipedrive account (if using)\n - **HubSpot**: Connect your HubSpot account (if using)\n - **HDW LinkedIn**: Add your API key from [https://app.horizondatawave.ai](https://app.horizondatawave.ai)\n\n3. **CRM Custom Fields Setup**:\n \n **For Pipedrive:**\n - Go to Settings → Data Fields → Contact Fields → + Add Field\n - Create the following custom fields:\n - **LinkedIn Profile**: Field type - Large text\n - **Profile Summary**: Field type - Large text \n - **LinkedIn Posts Summary**: Field type - Large text\n - **Need Enrichment**: Field type - Single option (Yes/No)\n \n Detailed instructions for creating custom fields in Pipedrive: \n [https://support.pipedrive.com/en/article/custom-fields](https://support.pipedrive.com/en/article/custom-fields)\n \n **For HubSpot:**\n - Go to Settings → Properties → Create property\n - Create the following properties for Contact object:\n - **linkedin_url**: Field type - Single-line text\n - **profile_summary**: Field type - Multi-line text\n - **linkedin_posts_summary**: Field type - Multi-line text\n - **need_enrichment**: Field type - Checkbox (Boolean)\n \n Detailed instructions for creating properties in HubSpot:\n [https://knowledge.hubspot.com/properties/create-and-edit-properties](https://knowledge.hubspot.com/properties/create-and-edit-properties)\n\n4. **Import the Workflow**:\n - Import the \"HDW_CRM_Enrichment.json\" file into your n8n instance\n\n5. **Activate Webhooks**:\n - Enable the webhook triggers for your CRM to ensure the workflow activates correctly\n\n## Customization Options\n\n### AI Agent Prompts\nYou can modify the system prompts in the \"Data Enrichment AI Agent\" nodes to:\n- Change the focus of profile analysis\n- Adjust the tone and detail level of summaries\n- Customize what information is extracted from posts\n\n### CRM Field Mapping\nThe workflow is pre-configured to update specific custom fields in Pipedrive and HubSpot. Update the field/property mappings in:\n- \"Update data in Pipedrive\" nodes\n- \"Update data in HubSpot\" node\n\n## Troubleshooting\n\n### Common Issues\n- **LinkedIn Profile Not Found**: Check if the contact's email is their work email; consider adjusting the search parameters\n- **Webhook Not Triggering**: Verify webhook configuration in your CRM\n- **Missing Custom Fields**: Ensure all required custom fields are created in your CRM with correct names\n\n### Rate Limits\n- Be aware of LinkedIn API rate limits (managed by HDW LinkedIn node)\n- Consider implementing delays if processing large batches of contacts\n\n## Best Practices\n- Use enrichment flags to selectively update contacts rather than enriching all contacts\n- Review and clean contact data in your CRM before enrichment\n- Periodically review the AI-generated summaries to ensure quality and relevance\n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "590fdecb-0bdb-4019-8602-ead5ada0e6c1",
"connections": {
"1601abfa-2d1f-4cf0-8e8b-272544adf088": {
"main": [
[
{
"node": "e3457e56-7a83-46e7-8926-5a3152d2d863",
"type": "main",
"index": 0
}
],
[
{
"node": "3782caf0-a426-40dd-b822-af718c00a143",
"type": "main",
"index": 0
}
]
]
},
"3782caf0-a426-40dd-b822-af718c00a143": {
"main": [
[
{
"node": "e3457e56-7a83-46e7-8926-5a3152d2d863",
"type": "main",
"index": 0
}
]
]
},
"9ba0bf56-cefb-48a0-8133-111dd4199ddb": {
"main": [
[
{
"node": "6fd5f3e8-4a2c-4ef3-a9c3-b10e5420f20e",
"type": "main",
"index": 0
}
]
]
},
"3c5a9019-48f6-4ec8-a375-65b312a5ca8b": {
"ai_languageModel": [
[
{
"node": "94a1a81e-8023-42ec-a607-9ad639dab6b1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"517cb827-8581-417e-ad66-62ce48958d3c": {
"ai_languageModel": [
[
{
"node": "be290e43-8d1c-47b9-8768-5b28c1fec310",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"97df8c33-3cbd-4739-add2-07550ddd3d59": {
"ai_languageModel": [
[
{
"node": "e3457e56-7a83-46e7-8926-5a3152d2d863",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"86b8c79b-5d0f-40f5-b6fb-6a675a6d5165": {
"main": [
[
{
"node": "be290e43-8d1c-47b9-8768-5b28c1fec310",
"type": "main",
"index": 0
}
]
]
},
"67d2d4a7-cf92-40b0-8f9d-5a9001f5a9d4": {
"ai_tool": [
[
{
"node": "94a1a81e-8023-42ec-a607-9ad639dab6b1",
"type": "ai_tool",
"index": 0
}
]
]
},
"ccb4f7f2-15f7-41ae-a0c5-6f836956e32a": {
"ai_tool": [
[
{
"node": "be290e43-8d1c-47b9-8768-5b28c1fec310",
"type": "ai_tool",
"index": 0
}
]
]
},
"603575e8-6177-4a15-ba26-c4c050ebbc8d": {
"ai_tool": [
[
{
"node": "e3457e56-7a83-46e7-8926-5a3152d2d863",
"type": "ai_tool",
"index": 0
}
]
]
},
"94a1a81e-8023-42ec-a607-9ad639dab6b1": {
"main": [
[]
]
},
"6fd5f3e8-4a2c-4ef3-a9c3-b10e5420f20e": {
"main": [
[
{
"node": "1601abfa-2d1f-4cf0-8e8b-272544adf088",
"type": "main",
"index": 0
}
]
]
},
"0497e923-2172-460e-be39-a892f86bdc44": {
"ai_tool": [
[
{
"node": "94a1a81e-8023-42ec-a607-9ad639dab6b1",
"type": "ai_tool",
"index": 0
}
]
]
},
"db2ff73b-eab1-4334-91e7-e79d49c3dc75": {
"ai_tool": [
[
{
"node": "be290e43-8d1c-47b9-8768-5b28c1fec310",
"type": "ai_tool",
"index": 0
}
]
]
},
"a0a8ad5d-ee64-48d0-88f5-12393138e07a": {
"ai_tool": [
[
{
"node": "94a1a81e-8023-42ec-a607-9ad639dab6b1",
"type": "ai_tool",
"index": 0
}
]
]
},
"02935731-b9b1-490c-9416-f297106bb148": {
"ai_tool": [
[
{
"node": "be290e43-8d1c-47b9-8768-5b28c1fec310",
"type": "ai_tool",
"index": 0
}
]
]
},
"9354223f-88de-4a79-9ac8-19fa711ca341": {
"ai_tool": [
[
{
"node": "e3457e56-7a83-46e7-8926-5a3152d2d863",
"type": "ai_tool",
"index": 0
}
]
]
},
"65865367-746a-4e58-ad21-4b728bf1f22c": {
"main": [
[
{
"node": "94a1a81e-8023-42ec-a607-9ad639dab6b1",
"type": "main",
"index": 0
}
]
]
},
"76231a56-fa8e-44f2-9e02-3407cc776098": {
"ai_tool": [
[
{
"node": "94a1a81e-8023-42ec-a607-9ad639dab6b1",
"type": "ai_tool",
"index": 0
}
]
]
},
"00c64271-b0c7-4eee-b412-74eec1c390c5": {
"ai_tool": [
[
{
"node": "be290e43-8d1c-47b9-8768-5b28c1fec310",
"type": "ai_tool",
"index": 0
}
]
]
},
"21727229-4e20-48ad-939d-4f620829cb62": {
"ai_tool": [
[
{
"node": "e3457e56-7a83-46e7-8926-5a3152d2d863",
"type": "ai_tool",
"index": 0
}
]
]
},
"679e5c8c-4597-4286-a356-2e7746644d65": {
"ai_tool": [
[
{
"node": "94a1a81e-8023-42ec-a607-9ad639dab6b1",
"type": "ai_tool",
"index": 0
}
]
]
},
"373b2006-b5f2-4903-add3-0ed48a17ab97": {
"ai_tool": [
[
{
"node": "be290e43-8d1c-47b9-8768-5b28c1fec310",
"type": "ai_tool",
"index": 0
}
]
]
},
"53f71433-2806-4c66-8a46-44ed9f5d688d": {
"ai_tool": [
[
{
"node": "e3457e56-7a83-46e7-8926-5a3152d2d863",
"type": "ai_tool",
"index": 0
}
]
]
},
"1416e6a9-07b3-4ae0-89d9-a02d2210b263": {
"ai_tool": [
[
{
"node": "94a1a81e-8023-42ec-a607-9ad639dab6b1",
"type": "ai_tool",
"index": 0
}
]
]
},
"e8878f73-5d53-4e5c-a974-f3fe99481585": {
"ai_tool": [
[
{
"node": "be290e43-8d1c-47b9-8768-5b28c1fec310",
"type": "ai_tool",
"index": 0
}
]
]
},
"f8fa0c6a-b598-40dd-8ddb-e6606aa78ace": {
"ai_tool": [
[
{
"node": "e3457e56-7a83-46e7-8926-5a3152d2d863",
"type": "ai_tool",
"index": 0
}
]
]
},
"ef79759b-283d-4a03-8c3a-2cc2f67c1183": {
"main": [
[
{
"node": "86b8c79b-5d0f-40f5-b6fb-6a675a6d5165",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Ventes, Intelligence Artificielle
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Andrey
@kuliaPartager ce workflow