This workflow corresponds to n8n.io template #12057 — we link there as the canonical source.
This workflow follows the Agent → Form Trigger 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": "MYVJbL5hZwM6kStZ",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "7 AI Beauty Brand Hashtag Generator (Website-Aware + Multi-Platform)",
"tags": [],
"nodes": [
{
"id": "f8adee76-4261-4db7-9251-c7e4e906946c",
"name": "Beauty Brand Hashtag Form",
"type": "n8n-nodes-base.formTrigger",
"position": [
192,
704
],
"parameters": {
"options": {},
"formTitle": "Beauty Brand Hashtag Generator",
"formFields": {
"values": [
{
"fieldLabel": "Skincare Brand Website URL",
"requiredField": true
},
{
"fieldLabel": "Brand Name",
"requiredField": true
},
{
"fieldLabel": "Product Category (e.g., skincare, makeup, haircare)",
"requiredField": true
},
{
"fieldLabel": "Target Audience",
"requiredField": true
},
{
"fieldLabel": "Brand Tone (e.g., luxury, natural, playful)",
"requiredField": true
},
{
"fieldType": "number",
"fieldLabel": "Number of Hashtags (5-10)",
"defaultValue": "10"
}
]
},
"formDescription": "Generate trending hashtags for your beauty brand"
},
"typeVersion": 2.3
},
{
"id": "863a388c-63e0-4bfb-b4e7-32acfa926436",
"name": "Generate Beauty Hashtags",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1024,
704
],
"parameters": {
"text": "=Generate {{ $('Beauty Brand Hashtag Form').item.json.num_hashtags || 10 }} trending hashtags for:\n\nBrand: {{ $('Beauty Brand Hashtag Form').item.json['Brand Name'] }}\nCategory: {{ $('Beauty Brand Hashtag Form').item.json['Product Category (e.g., skincare, makeup, haircare)'] }}\nAudience: {{ $('Beauty Brand Hashtag Form').item.json['Target Audience'] }}\nTone: {{ $('Beauty Brand Hashtag Form').item.json['Brand Tone (e.g., luxury, natural, playful)'] }}\n\nBrand Analysis from Website:\n{{ $json.content.parts[0].text }}\n\nCreate a mix of:\n- Brand-specific hashtags aligned with their unique selling points\n- Product category hashtags featuring key ingredients\n- Trending beauty hashtags matching their brand values\n- Niche community hashtags for their target demographics\n\nFor each hashtag, categorize as: general, niche, trending, or branded",
"options": {
"systemMessage": "You are a beauty industry social media expert specializing in hashtag strategy for beauty brands.\n\nYour task is to generate highly effective, trending hashtags that will maximize reach and engagement for beauty brands on Instagram, TikTok, and other social platforms.\n\nGuidelines:\n1. Mix popular high-volume hashtags with niche targeted ones\n2. Include branded hashtags that are memorable and unique\n3. Consider current beauty trends and seasonal relevance\n4. Ensure hashtags are appropriate for the brand's tone and audience\n5. Avoid banned or spam-flagged hashtags\n6. Categorize each hashtag by type (general/niche/trending/branded)\n7. Indicate estimated popularity level (high/medium/low)\n\nReturn ONLY the structured JSON output with the requested number of hashtags."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "d9fb092a-4598-4174-83ce-e84df4f8a05f",
"name": "Gemini Model for Hashtags",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
992,
928
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.0-flash-exp"
},
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "fe55850c-b6f2-430f-b69f-950c8fa235dc",
"name": "Parse Hashtag Output",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1120,
928
],
"parameters": {
"autoFix": true,
"jsonSchemaExample": "{\n\t\"hashtags\": [\n\t\t{\n\t\t\t\"hashtag\": \"#GlowingSkin\",\n\t\t\t\"category\": \"general\",\n\t\t\t\"popularity\": \"high\"\n\t\t},\n\t\t{\n\t\t\t\"hashtag\": \"#BeautyRoutine\",\n\t\t\t\"category\": \"lifestyle\",\n\t\t\t\"popularity\": \"medium\"\n\t\t}\n\t]\n}"
},
"typeVersion": 1.3
},
{
"id": "62aa1b75-2d02-4ea5-b21b-e3f3e278a934",
"name": "Save Hashtags to Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
2112,
704
],
"parameters": {
"columns": {
"value": {
"Hashtags": "={{ $json.output.hashtags.map(h => h.hashtag).join(', ') }}",
"Brand Name": "={{ $('Beauty Brand Hashtag Form').item.json['Brand Name'] }}",
"Generated At": "={{ $('Beauty Brand Hashtag Form').item.json.submittedAt.toDateTime().format(\"dd MMM yyyy HH 'hours' mm 'minutes'\") }}",
"Product Category": "={{ $('Beauty Brand Hashtag Form').item.json['Product Category (e.g., skincare, makeup, haircare)'] }}"
},
"schema": [
{
"id": "Brand Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Brand Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Product Category",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Product Category",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Generated At",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Generated At",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Hashtags",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Hashtags",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1oY7H9l2odzTL73LiJDbQ2lkned_YRtS1__ORfluZtwg/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1oY7H9l2odzTL73LiJDbQ2lkned_YRtS1__ORfluZtwg",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1oY7H9l2odzTL73LiJDbQ2lkned_YRtS1__ORfluZtwg/edit?usp=drivesdk",
"cachedResultName": "Hashtags for My Brand"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "6018b745-9d8e-4613-909d-1d3ce569ec82",
"name": "Google Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1200,
1136
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "02594c92-5594-4968-b31f-460045a9de4e",
"name": "Scrape Skincare Website",
"type": "n8n-nodes-base.httpRequest",
"position": [
416,
704
],
"parameters": {
"url": "={{ $json['Skincare Brand Website URL'] }}",
"options": {
"response": {
"response": {
"neverError": true
}
},
"allowUnauthorizedCerts": true
},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0 Safari/537.36"
},
{
"name": "Accept",
"value": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
},
{
"name": "Accept-Language",
"value": "en-US,en;q=0.9"
}
]
}
},
"typeVersion": 4.3
},
{
"id": "b6f753aa-40cd-418a-a728-7bce4277787f",
"name": "Analyze Website Content",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
640,
704
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "id",
"value": "models/gemini-flash-lite-latest"
},
"options": {},
"messages": {
"values": [
{
"content": "=You are a beauty industry analyst specializing in skincare brands.\n\nBelow is the scraped website content from a skincare brand:\n\n{{ $json.data }}\n\nAnd here is the form input data:\nBrand Name: {{ $('Beauty Brand Hashtag Form').item.json['Brand Name'] }}\nProduct Category: {{ $('Beauty Brand Hashtag Form').item.json['Product Category (e.g., skincare, makeup, haircare)'] }}\nTarget Audience: {{ $('Beauty Brand Hashtag Form').item.json['Target Audience'] }}\nBrand Tone: {{ $('Beauty Brand Hashtag Form').item.json['Brand Tone (e.g., luxury, natural, playful)'] }}\n\nAnalyze the website and extract key insights about:\n1. Brand positioning and unique selling points\n2. Product ingredients and benefits highlighted\n3. Brand values and messaging tone\n4. Target customer demographics\n5. Key differentiators from competitors\n\nReturn a JSON object with this structure:\n{\n \"brand_analysis\": {\n \"positioning\": \"\",\n \"key_ingredients\": [],\n \"brand_values\": [],\n \"messaging_tone\": \"\",\n \"target_demographics\": \"\",\n \"unique_selling_points\": [],\n \"content_themes\": []\n }\n}\n\nBe concise and extract only meaningful insights. Return ONLY valid JSON."
}
]
},
"jsonOutput": true
},
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "8a523663-d54e-4601-a30a-d03d2cb62513",
"name": "Get Trending Platform Hashtags",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1544,
704
],
"parameters": {
"text": "=Based on the brand hashtags generated:\n\n{{ JSON.stringify($json.output.hashtags, null, 2) }}\n\nUse the search tool to find 6 currently trending hashtags for each platform:\n- LinkedIn (for B2B beauty brands and business owners)\n- Instagram (for beauty enthusiasts and consumers)\n- Facebook (for community engagement)\n- Twitter/X (for real-time beauty conversations)\n\nFor each platform, research what beauty and skincare hashtags are trending RIGHT NOW in {{ $now.format('dd MMMM yyyy') }}.\n\nReturn as a simple list grouped by platform.",
"options": {
"systemMessage": "You are a social media trends expert specializing in beauty and skincare hashtags across multiple platforms.\n\nYour task is to use the search tool to find CURRENT trending hashtags for beauty brands on LinkedIn, Instagram, Facebook, and Twitter/X.\n\nGuidelines:\n1. Search for trending beauty hashtags on each platform\n2. Focus on hashtags that are popular RIGHT NOW (not outdated)\n3. Consider platform-specific hashtag culture (LinkedIn = professional, Instagram = visual, etc.)\n4. Ensure hashtags are relevant to skincare and beauty brands\n5. Return 6 hashtags per platform\n6. Format as a clear list grouped by platform\n\nUse the search tool to verify current trends before suggesting hashtags."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "f7405622-bc0c-4354-8a72-8b9f0ab4c31a",
"name": "Gemini Model for Trending",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1488,
928
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.0-flash-exp"
},
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "34be57a5-89da-4922-872f-81821ada28c6",
"name": "SerpAPI Search Tool",
"type": "@n8n/n8n-nodes-langchain.toolSerpApi",
"position": [
1616,
928
],
"parameters": {
"options": {}
},
"credentials": {
"serpApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "d281e027-af64-401d-a261-5fc04d83c1c1",
"name": "Parse Hashtag Output1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1744,
928
],
"parameters": {
"autoFix": true,
"jsonSchemaExample": "{\n\t\"hashtags\": [\n\t\t{\n\t\t\t\"hashtag\": \"#GlowingSkin\",\n\t\t\t\"category\": \"general\",\n\t\t\t\"popularity\": \"high\"\n\t\t},\n\t\t{\n\t\t\t\"hashtag\": \"#BeautyRoutine\",\n\t\t\t\"category\": \"lifestyle\",\n\t\t\t\"popularity\": \"medium\"\n\t\t}\n\t]\n}"
},
"typeVersion": 1.3
},
{
"id": "fb361dd5-5841-45fc-98b0-f5f55ef8c8de",
"name": "Google Gemini Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1824,
1136
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "ce329296-70b8-4433-aff3-509664beaef5",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-480,
464
],
"parameters": {
"width": 592,
"height": 688,
"content": "## AI Beauty Brand Hashtag Generator\n\nThis workflow helps beauty and skincare brands generate highly relevant, high-performing hashtags using AI, real website content, and current social media trends.\n\nInstead of relying on generic hashtag lists, the workflow analyzes the brand\u2019s own website, understands its positioning, tone, and audience, and then generates a balanced mix of branded, niche, and trending hashtags. It also researches platform-specific trends to ensure the hashtags are timely and appropriate for LinkedIn, Instagram, Facebook, and X (Twitter).\n\nAll inputs are collected through a simple form, making this workflow easy to use for non-technical users, agencies, and marketers. The final hashtag set is automatically saved to Google Sheets for reuse, planning, or collaboration.\n\n### How it works\nThe workflow starts with a form where the user provides brand details and a website URL. The website is scraped and analyzed using AI to extract brand insights. Based on this analysis, AI generates structured hashtags with categories and popularity levels. A second AI step fetches currently trending hashtags per platform. Finally, the results are formatted and saved to Google Sheets.\n\n### Setup steps\n1. Connect Google Gemini credentials \n2. Connect Google Sheets credentials. \nMake a copy of https://docs.google.com/spreadsheets/d/1oY7H9l2odzTL73LiJDbQ2lkned_YRtS1__ORfluZtwg/edit?gid=0#gid=0.\n3. Add your Google Sheet ID and sheet name \n4. Update SerpAPI credentials for trend research \n5. Activate the workflow and open the form URL\n"
},
"typeVersion": 1
},
{
"id": "25af6567-5d65-4ca1-aa4a-0d5a031d6f18",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
176,
656
],
"parameters": {
"color": 2,
"width": 400,
"height": 304,
"content": "## User Input & Website Scraping\n\n\n\n\n\n\n\n\n\n\n\nCollects brand details through a form and fetches the brand\u2019s website content using an HTTP request. This provides the raw data needed for brand analysis and ensures hashtags are based on real brand context.\n"
},
"typeVersion": 1
},
{
"id": "a70d6d4c-cc24-43b8-9310-4e0483bd929c",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
624,
656
],
"parameters": {
"color": 3,
"width": 304,
"height": 352,
"content": "## Brand Analysis\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nAnalyzes website content using AI to extract brand positioning, tone, key ingredients, values, and target audience. These insights guide the hashtag strategy instead of relying on generic prompts.\n"
},
"typeVersion": 1
},
{
"id": "824be4e5-8a3f-48a4-930e-c90e5f484006",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
976,
512
],
"parameters": {
"color": 4,
"width": 304,
"height": 176,
"content": "## Hashtag Generation\n\nGenerates structured hashtags aligned with the brand\u2019s identity. Each hashtag includes category and popularity, ensuring a mix of branded, niche, and high-reach tags.\n"
},
"typeVersion": 1
},
{
"id": "1c85d414-4713-4b55-8b37-d4ee2835468e",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1488,
512
],
"parameters": {
"color": 5,
"width": 304,
"height": 176,
"content": "## Platform Trend Research\n\nFinds currently trending hashtags for LinkedIn, Instagram, Facebook, and X using live search data. This ensures the output stays relevant and timely.\n"
},
"typeVersion": 1
},
{
"id": "5ad7ff02-328c-4c67-975f-692a42743284",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1984,
512
],
"parameters": {
"color": 6,
"width": 304,
"height": 176,
"content": "## Save Results\n\nFormats the final hashtag list and saves it to Google Sheets with brand name, category, and timestamp for easy reuse and collaboration.\n"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "4a8494ab-a0ad-44eb-a12e-73a8adfff42c",
"connections": {
"SerpAPI Search Tool": {
"ai_tool": [
[
{
"node": "Get Trending Platform Hashtags",
"type": "ai_tool",
"index": 0
}
]
]
},
"Parse Hashtag Output": {
"ai_outputParser": [
[
{
"node": "Generate Beauty Hashtags",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Parse Hashtag Output1": {
"ai_outputParser": [
[
{
"node": "Get Trending Platform Hashtags",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Analyze Website Content": {
"main": [
[
{
"node": "Generate Beauty Hashtags",
"type": "main",
"index": 0
}
]
]
},
"Scrape Skincare Website": {
"main": [
[
{
"node": "Analyze Website Content",
"type": "main",
"index": 0
}
]
]
},
"Generate Beauty Hashtags": {
"main": [
[
{
"node": "Get Trending Platform Hashtags",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "Parse Hashtag Output",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Beauty Brand Hashtag Form": {
"main": [
[
{
"node": "Scrape Skincare Website",
"type": "main",
"index": 0
}
]
]
},
"Gemini Model for Hashtags": {
"ai_languageModel": [
[
{
"node": "Generate Beauty Hashtags",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Gemini Model for Trending": {
"ai_languageModel": [
[
{
"node": "Get Trending Platform Hashtags",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Google Gemini Chat Model1": {
"ai_languageModel": [
[
{
"node": "Parse Hashtag Output1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Get Trending Platform Hashtags": {
"main": [
[
{
"node": "Save Hashtags to Sheet",
"type": "main",
"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.
googlePalmApigoogleSheetsOAuth2ApiserpApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This n8n template generates high-quality, platform-ready hashtags for beauty and skincare brands by combining AI, live website analysis, and current social media trends. It is designed for marketers, agencies, and founders who want smarter hashtag strategies without manual…
Source: https://n8n.io/workflows/12057/ — 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.
This automation is designed to help you generate AI-powered music tracks, cover art, and fully rendered music videos — all triggered from a simple Telegram chat and managed via Google Sheets.
This Shopify AI automation is an advanced n8n-powered workflow that transforms Shopify product collections into SEO-optimized blog articles with images, while maintaining full visibility and control t
This workflow is designed for e-commerce, marketing teams, or creators who want to automate the production of high-quality, AI-generated product visuals and ad creatives.
Categories: Business Automation, Content Creation, SEO, AI
This workflow automates batch video publishing prep from a Google Drive folder with AI-generated, platform-specific copy and a simple approval queue in Google Sheets. Perfect for Agencies, content cre