{ "nodes": [ { "id": "79c06432-9d3f-4a93-b613-24bdaedfb71d", "name": "Could not find user", "type": "n8n-nodes-base.noOp", "position": [ 1940, 640 ], "parameters": {}, "typeVersion": 1, "notes": "This noOp node performs automated tasks as part of the workflow." }, { "id": "07d23ef6-8c93-40de-9e95-ea3d56811fa0", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ 540, 200 ], "parameters": { "width": 330.0463186838765, "height": 609.3353028064989, "content": "## On User created in HubSpot\n\n1. Setup Oauth2 creds using n8n docs\n{{ $env.WEBHOOK_URL }}\n\n### Be careful with scopes. Scopes must be exactly as defined in the docs" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "bad1ea1c-9b03-4419-ac37-272b5740a7c4", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [ 1660, 200 ], "parameters": { "color": 3, "width": 343.28654189681333, "height": 609.3353028064989, "content": "## Enrich with data from ExactBuyer\n\n1. Add api key from Exact buyer\n2. Use email as identifier to match user\n\nUse API Guide here {{ $env.WEBHOOK_URL }}" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "d24ae8e3-c5fe-4cde-bade-66f60cda943d", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [ 940, 240 ], "parameters": { "color": 6, "width": 352.21705571104906, "height": 499.9091886469748, "content": "## Get user in Hubspot\n\n1. Setup Oauth2 creds using n8n docs\n{{ $env.WEBHOOK_URL }}\n\n### Be careful with scopes. Scopes must be exactly as defined in the docs\n### Will need to be a different cred from the trigger one" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "5e0775c9-178a-460e-a478-b9a69aaf80cd", "name": "Sticky Note3", "type": "n8n-nodes-base.stickyNote", "position": [ 820, -320 ], "parameters": { "color": 4, "width": 629.6175493462406, "height": 473.03355645575084, "content": "# Enrich new Hubspot contacts with contact and company data from ExactBuyer\n\n## This workflow aims to enrich new contacts in HubSpot. The more relevant the HubSpot profile, the more useful it is. Once active, this n8n workflow will update the social profiles, contact data (phone, email) as well as location data from ExactBuyer.\n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "73f7c19a-8145-4ad3-bbf0-0a4a0d70be33", "name": "Enrich user from ExactBuyer", "type": "n8n-nodes-base.httpRequest", "onError": "continueErrorOutput", "position": [ 1740, 480 ], "parameters": { "url": "{{ $env.API_BASE_URL }}", "options": { "redirect": { "redirect": {} } }, "sendQuery": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "queryParameters": { "parameters": [ { "name": "email", "value": "={{ $json.email }}" }, { "name": "required", "value": "work_email,personal_email,email" } ] } }, "credentials": { "httpHeaderAuth": { "id": "kyMNOdXZX3ugPihF", "name": "ExactBuyer Api key" } }, "typeVersion": 4.1, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "7a0c2b14-0f22-475f-84c2-49ff1c1a1fad", "name": "Set keys", "type": "n8n-nodes-base.set", "position": [ 1320, 500 ], "parameters": { "options": {}, "assignments": { "assignments": [ { "id": "211cd22a-a55c-4018-8ba6-3272097d502c", "name": "user_id", "type": "string", "value": "={{ $json.vid }}" }, { "id": "f3c7d0b9-717c-437b-ab45-1f35c194d412", "name": "email", "type": "string", "value": "={{ $json.properties.email?.value }}" } ] } }, "typeVersion": 3.3, "notes": "This set node performs automated tasks as part of the workflow." }, { "id": "4da6204d-2717-41fb-8f79-3bb094db9e71", "name": "if found email", "type": "n8n-nodes-base.if", "position": [ 1480, 500 ], "parameters": { "options": {}, "conditions": { "options": { "leftValue": "", "caseSensitive": true, "typeValidation": "strict" }, "combinator": "and", "conditions": [ { "id": "dbd1042e-dfe7-40ff-84ca-c3d289decb78", "operator": { "type": "string", "operation": "notEmpty", "singleValue": true }, "leftValue": "={{ $json.email }}", "rightValue": "" } ] } }, "typeVersion": 2, "notes": "This if node performs automated tasks as part of the workflow." }, { "id": "24ef009a-c05c-4ca3-afd5-ef44b2349cfb", "name": "Update contact from Hubspot", "type": "n8n-nodes-base.hubspot", "position": [ 2200, 460 ], "parameters": { "email": "={{ $('Set keys').item.json.email }}", "options": {}, "authentication": "{{ $credentials.oAuth2 }}", "additionalFields": { "gender": "={{ $json.result.gender }}", "school": "={{ $json.result.education?.[0]?.school?.name }}", "country": "={{ $json.result.location?.country }}", "jobTitle": "={{ $json.result.employment?.job?.title }}", "lastName": "={{ $json.result.last_name }}", "firstName": "={{ $json.result.first_name }}", "companyName": "={{ $json.result.employment?.name }}", "companySize": "={{ $json.result.employment.size }}", "phoneNumber": "={{ $json.result.phone_numbers?.[0]?.E164 }}" } }, "credentials": { "hubspotOAuth2Api": { "id": "Gxwfj6z9NwaEC3P5", "name": "HubSpot account 3" } }, "typeVersion": 2, "notes": "This hubspot node performs automated tasks as part of the workflow." }, { "id": "1adda76c-39cb-43e7-a1dd-301dfd530c77", "name": "Get HubSpot contact", "type": "n8n-nodes-base.hubspot", "position": [ 1060, 500 ], "parameters": { "contactId": { "__rl": true, "mode": "id", "value": "={{ $json.contactId }}" }, "operation": "get", "authentication": "{{ $credentials.oAuth2 }}", "additionalFields": {} }, "credentials": { "hubspotOAuth2Api": { "id": "Gxwfj6z9NwaEC3P5", "name": "HubSpot account 3" } }, "typeVersion": 2, "notes": "This hubspot node performs automated tasks as part of the workflow." }, { "id": "7aa3b2bc-f564-4160-adb6-e0d977993540", "name": "On contact created", "type": "n8n-nodes-base.hubspotTrigger", "position": [ 740, 500 ], "webhookId": "0c93331f-6d07-4cfe-b9b7-8a724c6c8c28", "parameters": { "eventsUi": { "eventValues": [ {} ] }, "additionalFields": {} }, "credentials": { "hubspotDeveloperApi": { "id": "5VJ26ST8DdVyAfEZ", "name": "HubSpot Developer account 3" } }, "typeVersion": 1, "notes": "This hubspotTrigger node performs automated tasks as part of the workflow." }, { "id": "e8b386bf-0a86-44a0-82e6-1189bc3c5619", "name": "Sticky Note4", "type": "n8n-nodes-base.stickyNote", "position": [ 2120, 260 ], "parameters": { "color": 6, "width": 352.21705571104906, "height": 499.9091886469748, "content": "## Update user in Hubspot\n\n### Same cred as in getting the contact in Hubspot" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." } ], "pinData": { "On contact created": [ { "appId": 2930857, "eventId": 812433913, "portalId": 25023349, "sourceId": "2931120", "contactId": 251, "changeFlag": "CREATED", "occurredAt": 1708530793161, "changeSource": "INTEGRATION", "attemptNumber": 0, "subscriptionId": 2538662, "subscriptionType": "contact.creation" } ] }, "connections": { "73f7c19a-8145-4ad3-bbf0-0a4a0d70be33": { "main": [ [ { "node": "error-handler-73f7c19a-8145-4ad3-bbf0-0a4a0d70be33", "type": "main", "index": 0 } ], [ { "node": "error-handler-73f7c19a-8145-4ad3-bbf0-0a4a0d70be33-85d01daa", "type": "main", "index": 0 } ], [ { "node": "error-handler-73f7c19a-8145-4ad3-bbf0-0a4a0d70be33-d8c8e86e", "type": "main", "index": 0 } ], [ { "node": "error-handler-73f7c19a-8145-4ad3-bbf0-0a4a0d70be33-9ca0d68f", "type": "main", "index": 0 } ], [ { "node": "error-handler-73f7c19a-8145-4ad3-bbf0-0a4a0d70be33-99ca5cc5", "type": "main", "index": 0 } ], [ { "node": "error-handler-73f7c19a-8145-4ad3-bbf0-0a4a0d70be33-7d1fccbb", "type": "main", "index": 0 } ], [ { "node": "error-handler-73f7c19a-8145-4ad3-bbf0-0a4a0d70be33-bf1929ca", "type": "main", "index": 0 } ], [ { "node": "error-handler-73f7c19a-8145-4ad3-bbf0-0a4a0d70be33-6b382776", "type": "main", "index": 0 } ], [ { "node": "error-handler-73f7c19a-8145-4ad3-bbf0-0a4a0d70be33-c5be79d0", "type": "main", "index": 0 } ] ] } }, "name": "Noop 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: Noop Workflow. This workflow integrates 8 different services: stickyNote, httpRequest, hubspot, set, stopAndError. It contains 14 nodes and follows best practices for error handling and security.", "meta": { "instanceId": "workflow-b46d7437", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:51.136588", "updatedAt": "2025-09-29T07:07:51.136609", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "notes": "Excellent quality workflow: Noop Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }