This workflow corresponds to n8n.io template #13302 — we link there as the canonical source.
This workflow follows the Chainllm → OpenAI Chat recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "QBbZEmp7sHb4dWR9",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Personalize creator onboarding in HubSpot with influencers.club and GPT-4",
"tags": [],
"nodes": [
{
"id": "1347f944-8ef4-4bc2-97bf-be45f1b406dc",
"name": "\ud83d\udccb Workflow Overview",
"type": "n8n-nodes-base.stickyNote",
"position": [
-752,
2624
],
"parameters": {
"color": 4,
"width": 458,
"height": 500,
"content": "## \ud83c\udfaf Creator Onboarding Personalization Workflow\n\n**What this does:**\n- Enriches creator profiles at signup using email\n- Determines platform focus & creator tier\n- Personalizes onboarding experience\n\n**Requirements:**\n- influencers.club API key\n- Trigger source (HubSpot/Webhook/Google Sheets/DB)\n- Database/CRM to store enriched data\n\n**Template Variables:**\n- API_ENDPOINT: Set in HTTP Request credentials\n- YOUR_CRM: Configure in final node\n"
},
"typeVersion": 1
},
{
"id": "b23a3aaa-d3f3-4502-a11e-74f019411ed9",
"name": "OpenAI GPT-4",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"notes": "\u2699\ufe0f CONFIGURE: Add your OpenAI API key",
"position": [
1280,
3088
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {
"temperature": 0.3
},
"builtInTools": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "a5106a52-c910-416c-96e4-87996340d178",
"name": "Merge AI + Rules",
"type": "n8n-nodes-base.merge",
"notes": "Combine niche analysis with tier classification",
"position": [
1888,
2912
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3.2
},
{
"id": "f32e9412-3ab6-4392-89e3-c36fc9945d82",
"name": "Aggregate Final Data",
"type": "n8n-nodes-base.aggregate",
"notes": "Combine all data into single object",
"position": [
2144,
2912
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "69df0c8d-e459-42ca-97a8-01827ebcd0ca",
"name": "Alternative Triggers",
"type": "n8n-nodes-base.stickyNote",
"position": [
-240,
3008
],
"parameters": {
"color": 6,
"width": 460,
"height": 422,
"content": "## \ud83c\udfaf ALTERNATIVE TRIGGERS\n\nReplace HubSpot trigger with:\n\n**Webhook:**\n- Generic webhook node\n- POST to: webhook-url\n- Body: {\"email\": \"creator@email.com\"}\n\n**Google Sheets:**\n- Google Sheets trigger\n- Watch for new rows\n- Extract email column\n\n**Your Database:**\n- PostgreSQL/MySQL trigger\n- Watch new creator signups\n- Extract email field\n"
},
"typeVersion": 1
},
{
"id": "157e8c6e-8a52-4d96-b3fc-3cf1b119e46f",
"name": "Step 1 Header1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-240,
2624
],
"parameters": {
"color": 5,
"width": 792,
"height": 350,
"content": "## \ud83d\udce5 STEP 1: Get New Signups\n\n**Options:**\n- HubSpot contact creation trigger (configured)\n- Webhook for custom integrations\n- Google Sheets for batch processing\n- Your CRM trigger\n\n**What gets extracted:**\n- Creator email (required)\n- Contact ID for updating later\n- Any custom fields you need"
},
"typeVersion": 1
},
{
"id": "b662df4b-3304-4d91-b5cc-4641cbdd0835",
"name": "Step 2 Header1",
"type": "n8n-nodes-base.stickyNote",
"position": [
576,
2624
],
"parameters": {
"color": 5,
"width": 520,
"height": 510,
"content": "## \ud83d\udd0d STEP 2: Enrich Creator Profile\n\n**API Call to influencers.club**\n- Uses /public/v1/creators/enrich/email/\n- Input: Creator email\n- Output: Complete main-platform profile\n\n**Configure:**\n1. Add your API key to HTTP Header Auth\n2. Error handling sends to fallback flow"
},
"typeVersion": 1
},
{
"id": "0603cfbc-5a41-43a2-8a51-76b0fe56f8b0",
"name": "Step 4 Header1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1184,
2464
],
"parameters": {
"color": 5,
"width": 520,
"height": 1050,
"content": "## \ud83c\udfaf STEP 3: AI-Powered Personalization\n\n**Two parallel analyses:**\n\n**A) Niche Analysis (AI)**\n- Uses GPT-4 to determine primary niche\n- Decides which modules to enable\n- Returns structured recommendations\n\n**B) Tier Classification (Rule-based)**\n- Nano: <10k followers\n- Micro: 10k-100k followers \n- Macro: 100k+ followers\n- Enables tier-specific features\n\n**Both merge** to create complete personalization config"
},
"typeVersion": 1
},
{
"id": "4fa56d0b-e6f2-43ae-83e3-912b7873e054",
"name": "Step 5 Header1",
"type": "n8n-nodes-base.stickyNote",
"position": [
2384,
2464
],
"parameters": {
"color": 5,
"width": 392,
"height": 622,
"content": "## \ud83d\udcbe STEP 4: Save to Your CRM\n\n**Update creator record**\n- Saves enriched data to HubSpot/your CRM\n- Updates contact with:\n - Platform links\n - Follower counts\n - Tier classification\n - Niche assignment\n - Custom properties\n\n**Configure:**\n- Map fields to your CRM schema\n- Add custom properties as needed"
},
"typeVersion": 1
},
{
"id": "1ca0456a-68df-4567-97fe-16b527309239",
"name": "HubSpot Trigger1",
"type": "n8n-nodes-base.hubspotTrigger",
"position": [
64,
2768
],
"parameters": {
"eventsUi": {
"eventValues": [
{}
]
},
"additionalFields": {
"maxConcurrentRequests": 5
}
},
"credentials": {
"hubspotDeveloperApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "a29517e6-49aa-4ce7-bb0a-dce49bf36f85",
"name": "Get Contact by ID",
"type": "n8n-nodes-base.hubspot",
"position": [
256,
2768
],
"parameters": {
"contactId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.contactId }}"
},
"operation": "get",
"authentication": "appToken",
"additionalFields": {}
},
"credentials": {
"hubspotAppToken": {
"name": "<your credential>"
}
},
"typeVersion": 2.2
},
{
"id": "328e8d35-ab17-44fe-902e-3ee9e3419ce7",
"name": "Extract Email",
"type": "n8n-nodes-base.set",
"position": [
432,
2768
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "8ff17193-2e32-487b-b433-14cc67ee0581",
"name": "=Email",
"type": "string",
"value": "={{ $json.properties.email.value }}"
},
{
"id": "a8fb249d-edc1-410d-af8c-b0c317b623f9",
"name": "contact_ID",
"type": "number",
"value": "={{ $json.vid }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c8dab116-6931-4afe-a762-9d353b8ca0d6",
"name": "AI Niche Analyzer",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"notes": "GPT-4 determines primary niche and module recommendations",
"position": [
1344,
2896
],
"parameters": {
"text": "=SYSTEM ROLE:\nYou are a Product Intelligence Agent for a creator platform.\n\nTASK:\nAnalyze the creator profile and determine:\n1. Their PRIMARY NICHE (only one)\n2. Which product modules should be enabled for them\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nCREATOR PROFILE DATA:\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n{{ JSON.stringify($json, null, 2) }}\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nALLOWED NICHES (choose exactly ONE):\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n- beauty\n- fashion\n- fitness\n- food\n- lifestyle\n- gaming\n- finance\n- education\n- parenting\n- travel\n- tech\n- music\n- business\n- entertainment\n- other\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nMODULE RECOMMENDATIONS:\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nFor each niche, decide if these should be enabled:\n\n**benchmarks** - Niche-specific performance benchmarks\n \u2192 Enable for: beauty, fashion, fitness, gaming, finance\n \u2192 Skip for: other, entertainment (too broad)\n\n**brand_marketplace** - Curated brand collaboration opportunities\n \u2192 Enable for all niches EXCEPT \"other\"\n \u2192 Match brands to niche (beauty brands for beauty creators, etc)\n\n**templates** - Content/campaign templates\n \u2192 Enable for: beauty, fashion, fitness, food, gaming, education\n \u2192 Skip for: highly creative niches (music, entertainment)\n\n**playbooks** - Step-by-step guides and workflows\n \u2192 Enable for: finance, business, education, gaming\n \u2192 Skip for: creative/lifestyle niches\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nDECISION CRITERIA:\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n1. Look at content.ai_niches (AI-detected niches)\n2. Check content.primary_niches (platform-detected)\n3. Consider monetization signals (brand deals suggest established niche)\n4. Pick the niche with highest:\n - Consistency across platforms\n - Monetization potential\n - Brand partnership opportunities\n\n5. If multiple niches are equally strong:\n - Pick the one with more brand opportunities\n - Default to the first AI niche if unclear\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nOUTPUT FORMAT (STRICT JSON ONLY):\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n{\n \"primary_niche\": \"<one allowed niche>\",\n \"enabled_modules\": {\n \"benchmarks\": true/false,\n \"brand_marketplace\": true/false,\n \"templates\": true/false,\n \"playbooks\": true/false\n },\n \"reasoning\": \"Brief explanation of why this niche was chosen and which signals were strongest\"\n}\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nRULES:\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n- Return ONLY raw JSON (no markdown, no explanations)\n- Choose exactly ONE niche\n- Be decisive - avoid \"other\" unless truly unclear\n- Optimize for monetization potential\n- Consider the creator's actual content, not just labels",
"batching": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.9
},
{
"id": "56d90a4e-c523-41ff-be71-76c82d50fe05",
"name": "Tier Classifier",
"type": "n8n-nodes-base.code",
"notes": "Rule-based tier determination (Nano/Micro/Mid/Macro)",
"position": [
1408,
3296
],
"parameters": {
"language": "pythonNative",
"pythonCode": "\"\"\"\nDetermine creator tier and tier-specific features\nInput shape:\nitem.json.result.{ tiktok?, instagram?, youtube?, twitter?, has_brand_deals }\n\"\"\"\n\nresults = []\n\nfor item in _items:\n raw = (item.get(\"json\") or {}).get(\"result\", {})\n\n # Platform payloads (may or may not exist)\n tiktok = raw.get(\"tiktok\", {}) or {}\n instagram = raw.get(\"instagram\", {}) or {}\n youtube = raw.get(\"youtube\", {}) or {}\n twitter = raw.get(\"twitter\", {}) or {}\n\n # Extract follower metrics safely\n instagram_followers = instagram.get(\"follower_count\", 0)\n tiktok_followers = tiktok.get(\"follower_count\", 0)\n youtube_subscribers = youtube.get(\"subscriber_count\", 0)\n twitter_followers = twitter.get(\"follower_count\", 0)\n\n # Highest audience size across platforms\n max_followers = max(\n instagram_followers,\n tiktok_followers,\n youtube_subscribers,\n twitter_followers\n )\n\n # Determine main platform\n platform_followers = {\n \"instagram\": instagram_followers,\n \"tiktok\": tiktok_followers,\n \"youtube\": youtube_subscribers,\n \"twitter\": twitter_followers\n }\n main_platform = max(platform_followers, key=platform_followers.get)\n\n # Determine multi-platform presence (1k+ audience rule)\n active_platforms = sum(1 for v in platform_followers.values() if v >= 1000)\n is_multi_platform = active_platforms >= 2\n\n # Tier classification\n if max_followers < 5000:\n tier = \"nano\"\n tier_label = \"Nano Creator\"\n elif max_followers < 50000:\n tier = \"micro\"\n tier_label = \"Micro Influencer\"\n elif max_followers < 250000:\n tier = \"mid\"\n tier_label = \"Mid-Tier Creator\"\n else:\n tier = \"macro\"\n tier_label = \"Macro Influencer\"\n\n has_deals = raw.get(\"has_brand_deals\", False)\n\n tier_config = {\n \"tier\": {\n \"code\": tier,\n \"label\": tier_label,\n \"follower_count\": max_followers\n },\n\n \"main_platform\": main_platform,\n \"is_multi_platform\": is_multi_platform,\n\n \"show_first\": {},\n \"enable_tools\": {},\n \"show_modules\": []\n }\n\n # Nano\n if tier == \"nano\":\n tier_config[\"show_first\"] = {\n \"growth_tips\": True,\n \"content_calendar\": True,\n \"engagement_boost\": True\n }\n tier_config[\"enable_tools\"] = {\n \"basic_analytics\": True,\n \"hashtag_research\": True,\n \"posting_scheduler\": True,\n \"first_brand_deal_guide\": True\n }\n tier_config[\"show_modules\"] = [\n \"Growth Tools\",\n \"Content Planning\",\n \"Engagement Strategies\",\n \"Getting Your First Brand Deal\"\n ]\n\n # Micro\n elif tier == \"micro\":\n tier_config[\"show_first\"] = {\n \"brand_opportunities\": True,\n \"rate_calculator\": True,\n \"media_kit_builder\": True\n }\n tier_config[\"enable_tools\"] = {\n \"advanced_analytics\": True,\n \"competitor_tracking\": True,\n \"collaboration_tracking\": True,\n \"affiliate_dashboard\": True,\n \"pitch_templates\": True\n }\n tier_config[\"show_modules\"] = [\n \"Brand Marketplace\",\n \"Rate Calculator\",\n \"Media Kit Generator\",\n \"Collaboration Tracker\",\n \"Affiliate Programs\"\n ]\n\n # Mid\n elif tier == \"mid\":\n tier_config[\"show_first\"] = {\n \"contract_templates\": True,\n \"performance_dashboard\": True,\n \"team_collaboration\": True\n }\n tier_config[\"enable_tools\"] = {\n \"full_analytics_suite\": True,\n \"contract_management\": True,\n \"invoice_generator\": True,\n \"campaign_roi_tracking\": True,\n \"audience_insights\": True,\n \"whitelabel_reporting\": True\n }\n tier_config[\"show_modules\"] = [\n \"Contract Management\",\n \"Performance Dashboard\",\n \"ROI Tracking\",\n \"Audience Deep Dive\",\n \"Professional Reporting\"\n ]\n\n # Macro\n else:\n tier_config[\"show_first\"] = {\n \"enterprise_features\": True,\n \"multi_platform_dashboard\": True,\n \"team_access\": True\n }\n tier_config[\"enable_tools\"] = {\n \"enterprise_analytics\": True,\n \"multi_brand_management\": True,\n \"team_accounts\": True,\n \"white_label_reports\": True,\n \"api_access\": True,\n \"dedicated_support\": True\n }\n tier_config[\"show_modules\"] = [\n \"Enterprise Dashboard\",\n \"Multi-Brand Manager\",\n \"Team Collaboration\",\n \"Custom Integrations\",\n \"Priority Support\"\n ]\n\n # Brand deal bonuses\n if has_deals:\n tier_config[\"enable_tools\"].update({\n \"deliverables_tracker\": True,\n \"payment_tracking\": True,\n \"brand_relationship_crm\": True\n })\n tier_config[\"show_modules\"].insert(0, \"Brand Deal Manager\")\n\n # Multi-platform bonuses\n if is_multi_platform:\n tier_config[\"enable_tools\"].update({\n \"cross_platform_analytics\": True,\n \"multi_platform_scheduling\": True\n })\n tier_config[\"show_modules\"].append(\"Cross-Platform Manager\")\n\n results.append({\"json\": tier_config})\n\nreturn results\n"
},
"typeVersion": 2
},
{
"id": "06e29c6a-ee5c-4cd0-99b9-7ab90f53e9e3",
"name": "Update CRM Record",
"type": "n8n-nodes-base.hubspot",
"notes": "\u2699\ufe0f CONFIGURE: Map to your CRM custom properties",
"position": [
2528,
2912
],
"parameters": {
"email": "={{ $('Extract Email').item.json.Email }}",
"options": {
"resolveData": true
},
"authentication": "appToken",
"additionalFields": {}
},
"credentials": {
"hubspotAppToken": {
"name": "<your credential>"
}
},
"typeVersion": 2.2
},
{
"id": "04ae0446-53cf-49a7-a67b-2e0bdb11021c",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
672,
2192
],
"parameters": {
"color": 5,
"width": 752,
"content": "## Personalize creator onboarding flows to increase activation rates\n**Step by step workflow to enrich creator data with multi social (Instagram, Tiktok, Youtube, Twitter, Onlyfans, Twitch and more) intelligence and analytics to personalize offers and activation flows using the influencer.club API**. [Full explanation](https://influencers.club/creatorbook/personalize-onboarding-for-creators/)"
},
"typeVersion": 1
},
{
"id": "ec0c3077-6298-427a-8e28-886f724c2cea",
"name": "Stop and Error",
"type": "n8n-nodes-base.stopAndError",
"position": [
928,
3008
],
"parameters": {
"errorMessage": "Attention needed!"
},
"typeVersion": 1
},
{
"id": "7b02a441-a5ca-49c4-8d57-e6d61d92460b",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1568,
3088
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"primary_niche\": {\n \"type\": \"string\",\n \"enum\": [\n \"beauty\", \"fashion\", \"fitness\", \"food\", \"lifestyle\",\n \"gaming\", \"finance\", \"education\", \"parenting\", \"travel\",\n \"tech\", \"music\", \"business\", \"entertainment\", \"other\"\n ]\n },\n \"enabled_modules\": {\n \"type\": \"object\",\n \"properties\": {\n \"benchmarks\": {\"type\": \"boolean\"},\n \"brand_marketplace\": {\"type\": \"boolean\"},\n \"templates\": {\"type\": \"boolean\"},\n \"playbooks\": {\"type\": \"boolean\"}\n },\n \"required\": [\"benchmarks\", \"brand_marketplace\", \"templates\", \"playbooks\"]\n },\n \"reasoning\": {\"type\": \"string\"}\n },\n \"required\": [\"primary_niche\", \"enabled_modules\", \"reasoning\"]\n}"
},
"typeVersion": 1.3
},
{
"id": "a15aba35-0cb4-4b53-8a49-55b6b494be03",
"name": "Enrich by Email",
"type": "n8n-nodes-influencersclub.influencersClub",
"onError": "continueErrorOutput",
"position": [
928,
2768
],
"parameters": {
"email": "={{ $json.Email }}"
},
"credentials": {
"influencersClubApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"availableInMCP": false,
"executionOrder": "v1"
},
"versionId": "95192153-19c6-49cc-88dc-59f138584bdf",
"connections": {
"OpenAI GPT-4": {
"ai_languageModel": [
[
{
"node": "AI Niche Analyzer",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Extract Email": {
"main": [
[
{
"node": "Enrich by Email",
"type": "main",
"index": 0
}
]
]
},
"Enrich by Email": {
"main": [
[
{
"node": "AI Niche Analyzer",
"type": "main",
"index": 0
},
{
"node": "Tier Classifier",
"type": "main",
"index": 0
}
],
[
{
"node": "Stop and Error",
"type": "main",
"index": 0
}
]
]
},
"Tier Classifier": {
"main": [
[
{
"node": "Merge AI + Rules",
"type": "main",
"index": 1
}
]
]
},
"HubSpot Trigger1": {
"main": [
[
{
"node": "Get Contact by ID",
"type": "main",
"index": 0
}
]
]
},
"Merge AI + Rules": {
"main": [
[
{
"node": "Aggregate Final Data",
"type": "main",
"index": 0
}
]
]
},
"AI Niche Analyzer": {
"main": [
[
{
"node": "Merge AI + Rules",
"type": "main",
"index": 0
}
]
]
},
"Get Contact by ID": {
"main": [
[
{
"node": "Extract Email",
"type": "main",
"index": 0
}
]
]
},
"Update CRM Record": {
"main": [
[]
]
},
"Aggregate Final Data": {
"main": [
[
{
"node": "Update CRM Record",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "AI Niche Analyzer",
"type": "ai_outputParser",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
hubspotAppTokenhubspotDeveloperApiinfluencersClubApiopenAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
How it works:
Source: https://n8n.io/workflows/13302/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
How it works:
How it works:
This template attempts to replicate OpenAI's DeepResearch feature which, at time of writing, is only available to their pro subscribers.
My workflow 53. Uses formTrigger, httpRequest, lmChatOpenAi, form. Event-driven trigger; 74 nodes.
Agent Nodes. Uses lmChatOpenAi, slack, stopAndError, errorTrigger. Event-driven trigger; 72 nodes.