{
  "id": "1fNaSTfUCwE3q40X",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "13 Identify Trending Topics",
  "tags": [],
  "nodes": [
    {
      "id": "5b548d45-cb1e-447f-a6e0-e1a90c0e4b60",
      "name": "\ud83d\udcc5 Daily Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 9
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9c7afa43-3a55-492d-89a7-44c3c36dde93",
      "name": "\ud83d\udee0\ufe0f Prepare Input",
      "type": "n8n-nodes-base.set",
      "position": [
        220,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "0d7dede3-c1f6-4160-8de1-d5bdd3261497",
              "name": "url",
              "type": "string",
              "value": "https://ritetag.com/hashtag-search"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "65cec310-065c-4d47-8f6d-fc12ba655518",
      "name": "\ud83e\udd16 Scrape Trending Hashtags",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        520,
        0
      ],
      "parameters": {
        "text": "=collect trending hashtags from the given link below:\n{{ $json.url }}",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2
    },
    {
      "id": "382e4a5b-e85c-4c4c-8c8d-b6b9a32a33f8",
      "name": "\ud83d\udd22 Convert Numbers to Strings",
      "type": "n8n-nodes-base.code",
      "position": [
        1000,
        0
      ],
      "parameters": {
        "jsCode": "// Get your input\nconst input = items[0].json.output;\n\n// Map through trending_hashtags\nconst updatedHashtags = input.trending_hashtags.map(tag => {\n  return {\n    hashtag: tag.hashtag,\n    uses: tag.uses.toString(),\n    reach: tag.reach.toString()\n  };\n});\n\n// Return the updated structure\nreturn [\n  {\n    json: {\n      trending_hashtags: updatedHashtags\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "b292c4d7-a756-4cbe-a271-198ca63e3fad",
      "name": "\ud83d\udccb Create Trello Cards",
      "type": "n8n-nodes-base.trello",
      "position": [
        1220,
        0
      ],
      "parameters": {
        "name": "Content Calendar",
        "description": "=Add trend score, source link, or notes for the following trending hashtags.\n\n{{ $json.trending_hashtags }}",
        "additionalFields": {}
      },
      "typeVersion": 1
    },
    {
      "id": "cfff9514-9132-49cd-bda6-97026e5a86ba",
      "name": "\ud83d\udcac OpenAI Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        480,
        260
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "aa120473-d6d3-4416-b945-21e0e630c097",
      "name": "\ud83d\udd77\ufe0f Bright Data MCP",
      "type": "n8n-nodes-mcp.mcpClientTool",
      "position": [
        660,
        260
      ],
      "parameters": {
        "toolName": "scrape_as_markdown",
        "operation": "executeTool",
        "toolParameters": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}"
      },
      "credentials": {
        "mcpClientApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3e142db7-26a8-4b8c-8f55-7ca69ecd465f",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -20,
        -1040
      ],
      "parameters": {
        "color": 5,
        "width": 360,
        "height": 1200,
        "content": "## \u2705 **\ud83d\udcc5 Section 1 \u2014 Start & Prepare**\n\n**Nodes Combined:**\n\n1. `\ud83d\udcc5 Daily Trigger`\n2. `\ud83d\udee0\ufe0f Prepare Input`\n\n### **\ud83d\udd0d What Happens Here?**\n\n* **`\ud83d\udcc5 Daily Trigger`**: This node automatically starts your workflow every day (or any schedule you choose). You don\u2019t need to run it manually \u2014 it works in the background like a virtual assistant.\n\n  * *Why?* \u2192 You always get fresh, up-to-date trending hashtags.\n\n* **`\ud83d\udee0\ufe0f Prepare Input`**: This node is your mini control center for customizing your request. You can edit or add any parameters that the AI agent will need \u2014 for example:\n\n  * Which region you want to target.\n  * Which platform (Twitter, TikTok, etc.).\n  * Any custom keywords or filters.\n\n\ud83d\udc49 **Beginner Tip:** This is your chance to **fine-tune** what you want to scrape. You don\u2019t need coding \u2014 just type values in the fields!\n\n### \ud83c\udfaf **Benefit:**\n\nThis section guarantees your workflow is *automatic* and *customized* \u2014 you never forget to gather new ideas!\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "22b59ffb-9ded-44c0-ada9-cbb14a6ade22",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        460,
        -1180
      ],
      "parameters": {
        "color": 3,
        "width": 360,
        "height": 1340,
        "content": "## \u2705 **\ud83e\udd16 Section 2 \u2014 Scrape & Parse**\n\n**Nodes Combined:**\n\n1. `\ud83e\udd16 Get Trending Hashtags`\n2. `\ud83d\udd77\ufe0f Bright Data MCP`\n3. `\ud83d\udcac OpenAI Model`\n4. `\ud83d\uddc2\ufe0f Parse Hashtag Data`\n\n### **\ud83d\udd0d What Happens Here?**\n\n* **`\ud83e\udd16 Get Trending Hashtags`**: This is your main **AI Agent**. It calls the **Bright Data MCP Client** to go out to the web and scrape trending hashtags from social platforms.\n\n  * *Why?* \u2192 It does the heavy lifting so you don\u2019t have to visit each site yourself!\n\n* **`\ud83d\udd77\ufe0f Bright Data MCP`**: This tool is the **real scraper**. It navigates websites like a smart crawler, grabs trending hashtags, usage stats, and reach data.\n\n* **`\ud83d\udcac OpenAI Model`**: (Optional but powerful) \u2014 if you want, you can use it to clean, format, or even enrich the hashtags with smart suggestions. Example: \u201cSuggest a post idea for this hashtag.\u201d\n\n* **`\ud83d\uddc2\ufe0f Parse Hashtag Data`**: Takes the raw scraped data (which can be messy) and turns it into structured, easy-to-use JSON format \u2014 clear, clean, and ready for Trello.\n\n\ud83d\udc49 **Beginner Tip:** This section is **your digital research team**. No coding. No manual scraping. You just connect it once.\n\n### \ud83c\udfaf **Benefit:**\n\nYou now have **fresh**, **structured**, **reliable** trending hashtags with stats \u2014 the exact fuel your marketing team needs for viral posts.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "3a7f2351-c23c-44e9-af34-e580dfbdc174",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        -820
      ],
      "parameters": {
        "color": 6,
        "width": 400,
        "height": 980,
        "content": "## \u2705 **\ud83d\udccb Section 3 \u2014 Final Format & Save**\n\n**Nodes Combined:**\n\n1. `\ud83d\udd22 Convert Numbers to Strings`\n2. `\ud83d\udccb Create Trello Cards`\n\n### **\ud83d\udd0d What Happens Here?**\n\n* **`\ud83d\udd22 Convert Numbers to Strings`**: A small but important **Code Node**. It changes the `uses` and `reach` numbers into **text**, so they don\u2019t break your Trello card format.\n\n  * *Why?* \u2192 Trello sometimes needs all fields as text to display nicely.\n\n* **`\ud83d\udccb Create Trello Cards`**: The final node **automatically creates a new card** in your chosen Trello Board & List for each trending hashtag.\n\n  * The card title can be the **hashtag name**.\n  * The description can include:\n\n    * \ud83d\udcca Uses count\n    * \ud83c\udf0d Reach stats\n    * \ud83d\udcdd Any notes or ideas\n\n\ud83d\udc49 **Beginner Tip:** Your social team just needs to open Trello \u2192 pick a hashtag \u2192 create content \u2192 done!\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "b8f9da84-22ed-42db-acce-6e8f1820de57",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1440,
        -820
      ],
      "parameters": {
        "color": 7,
        "width": 380,
        "height": 240,
        "content": "## I\u2019ll receive a tiny commission if you join Bright Data through this link\u2014thanks for fueling more free content!\n\n### https://get.brightdata.com/1tndi4600b25"
      },
      "typeVersion": 1
    },
    {
      "id": "df33c92f-0191-4e9c-b7e9-08233d4c1397",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1680,
        -1040
      ],
      "parameters": {
        "color": 4,
        "width": 1300,
        "height": 320,
        "content": "=======================================\n            WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n    Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n   - YouTube: https://www.youtube.com/@YaronBeen/videos\n   - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
      },
      "typeVersion": 1
    },
    {
      "id": "a6a5ece9-b5ad-446e-b98f-f7d5b3e37ab4",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1680,
        -700
      ],
      "parameters": {
        "color": 4,
        "width": 1289,
        "height": 2818,
        "content": "## \ud83d\udccc **\u2728 Final Workflow: TRENDING CONTENT IDEAS TO TRELLO**\n\nYour automation has **3 main sections**:\n\n---\n\n## \u2705 **\ud83d\udcc5 Section 1 \u2014 Start & Prepare**\n\n**Nodes Combined:**\n\n1. `\ud83d\udcc5 Daily Trigger`\n2. `\ud83d\udee0\ufe0f Prepare Input`\n\n### **\ud83d\udd0d What Happens Here?**\n\n* **`\ud83d\udcc5 Daily Trigger`**: This node automatically starts your workflow every day (or any schedule you choose). You don\u2019t need to run it manually \u2014 it works in the background like a virtual assistant.\n\n  * *Why?* \u2192 You always get fresh, up-to-date trending hashtags.\n\n* **`\ud83d\udee0\ufe0f Prepare Input`**: This node is your mini control center for customizing your request. You can edit or add any parameters that the AI agent will need \u2014 for example:\n\n  * Which region you want to target.\n  * Which platform (Twitter, TikTok, etc.).\n  * Any custom keywords or filters.\n\n\ud83d\udc49 **Beginner Tip:** This is your chance to **fine-tune** what you want to scrape. You don\u2019t need coding \u2014 just type values in the fields!\n\n### \ud83c\udfaf **Benefit:**\n\nThis section guarantees your workflow is *automatic* and *customized* \u2014 you never forget to gather new ideas!\n\n---\n\n## \u2705 **\ud83e\udd16 Section 2 \u2014 Scrape & Parse**\n\n**Nodes Combined:**\n\n1. `\ud83e\udd16 Get Trending Hashtags`\n2. `\ud83d\udd77\ufe0f Bright Data MCP`\n3. `\ud83d\udcac OpenAI Model`\n4. `\ud83d\uddc2\ufe0f Parse Hashtag Data`\n\n### **\ud83d\udd0d What Happens Here?**\n\n* **`\ud83e\udd16 Get Trending Hashtags`**: This is your main **AI Agent**. It calls the **Bright Data MCP Client** to go out to the web and scrape trending hashtags from social platforms.\n\n  * *Why?* \u2192 It does the heavy lifting so you don\u2019t have to visit each site yourself!\n\n* **`\ud83d\udd77\ufe0f Bright Data MCP`**: This tool is the **real scraper**. It navigates websites like a smart crawler, grabs trending hashtags, usage stats, and reach data.\n\n* **`\ud83d\udcac OpenAI Model`**: (Optional but powerful) \u2014 if you want, you can use it to clean, format, or even enrich the hashtags with smart suggestions. Example: \u201cSuggest a post idea for this hashtag.\u201d\n\n* **`\ud83d\uddc2\ufe0f Parse Hashtag Data`**: Takes the raw scraped data (which can be messy) and turns it into structured, easy-to-use JSON format \u2014 clear, clean, and ready for Trello.\n\n\ud83d\udc49 **Beginner Tip:** This section is **your digital research team**. No coding. No manual scraping. You just connect it once.\n\n### \ud83c\udfaf **Benefit:**\n\nYou now have **fresh**, **structured**, **reliable** trending hashtags with stats \u2014 the exact fuel your marketing team needs for viral posts.\n\n---\n\n## \u2705 **\ud83d\udccb Section 3 \u2014 Final Format & Save**\n\n**Nodes Combined:**\n\n1. `\ud83d\udd22 Convert Numbers to Strings`\n2. `\ud83d\udccb Create Trello Cards`\n\n### **\ud83d\udd0d What Happens Here?**\n\n* **`\ud83d\udd22 Convert Numbers to Strings`**: A small but important **Code Node**. It changes the `uses` and `reach` numbers into **text**, so they don\u2019t break your Trello card format.\n\n  * *Why?* \u2192 Trello sometimes needs all fields as text to display nicely.\n\n* **`\ud83d\udccb Create Trello Cards`**: The final node **automatically creates a new card** in your chosen Trello Board & List for each trending hashtag.\n\n  * The card title can be the **hashtag name**.\n  * The description can include:\n\n    * \ud83d\udcca Uses count\n    * \ud83c\udf0d Reach stats\n    * \ud83d\udcdd Any notes or ideas\n\n\ud83d\udc49 **Beginner Tip:** Your social team just needs to open Trello \u2192 pick a hashtag \u2192 create content \u2192 done!\n\n### \ud83c\udfaf **Benefit:**\n\nYou now have a **daily, living content backlog** that updates itself \u2014 no more blank page, no more missed trends!\n\n---\n\n## \ud83c\udf89 **\ud83d\udca1 How a Beginner Can Use This**\n\n\u2705 **No code needed**: Drag, drop, connect.\n\u2705 **Automatic updates**: No manual copy-paste.\n\u2705 **Endless ideas**: Your Trello stays filled with trending hashtags every single day.\n\u2705 **Easy edits**: Want a new platform? Just update the `Prepare Input` node.\n\u2705 **Instant scaling**: Add Slack or Email nodes to notify your team too!\n\n---\n\n## \ud83c\udf1f **Your Workflow, Visualized**\n\n| Section          | Purpose                            | Emoji         |\n| ---------------- | ---------------------------------- | ------------- |\n| **\ud83d\udcc5 Section 1** | Trigger & Customize Scrape Request | \u23f0 \ud83d\udee0\ufe0f         |\n| **\ud83e\udd16 Section 2** | Scrape, Parse, and Clean Data      | \ud83e\udd16 \ud83d\udd77\ufe0f \ud83d\udcac \ud83d\uddc2\ufe0f |\n| **\ud83d\udccb Section 3** | Format for Trello & Save Ideas     | \ud83d\udd22 \ud83d\udccb         |\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "1219cdef-88ac-4ff3-b351-bdb9bc689e28",
      "name": "Auto-fixing Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
      "position": [
        800,
        260
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "7f33ebdf-03ca-4967-9848-712224476105",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        760,
        480
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e3e3ed5d-77f0-4aeb-b5f4-e8931a7591c0",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        940,
        480
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"trending_hashtags\": [\n    {\n      \"hashtag\": \"#rajasthankelabharthi\",\n      \"uses\": 1466,\n      \"reach\": 1070634\n    },\n    {\n      \"hashtag\": \"#playlist\",\n      \"uses\": 1066,\n      \"reach\": 690516\n    },\n    {\n      \"hashtag\": \"#secawards\",\n      \"uses\": 692,\n      \"reach\": 870024\n    },\n    {\n      \"hashtag\": \"#jake\",\n      \"uses\": 584,\n      \"reach\": 660550\n    },\n    {\n      \"hashtag\": \"#artistaasiatico\",\n      \"uses\": 500,\n      \"reach\": 830016\n    },\n    {\n      \"hashtag\": \"#tiktok\",\n      \"uses\": 434,\n      \"reach\": 127758\n    },\n    {\n      \"hashtag\": \"#vivaelpoderpopular\",\n      \"uses\": 366,\n      \"reach\": 17834866\n    },\n    {\n      \"hashtag\": \"#airdrop\",\n      \"uses\": 358,\n      \"reach\": 174824\n    },\n    {\n      \"hashtag\": \"#bts\",\n      \"uses\": 350,\n      \"reach\": 329092\n    },\n    {\n      \"hashtag\": \"#mandatoryspending\",\n      \"uses\": 334,\n      \"reach\": 177308\n    },\n    {\n      \"hashtag\": \"#partaikebangkitanbangsa\",\n      \"uses\": 316,\n      \"reach\": 175892\n    },\n    {\n      \"hashtag\": \"#crypto\",\n      \"uses\": 300,\n      \"reach\": 796542\n    },\n    {\n      \"hashtag\": \"#sb19\",\n      \"uses\": 284,\n      \"reach\": 168808\n    },\n    {\n      \"hashtag\": \"#wtcfinal2023\",\n      \"uses\": 276,\n      \"reach\": 15289016\n    },\n    {\n      \"hashtag\": \"#psyopbsc\",\n      \"uses\": 266,\n      \"reach\": 164850\n    },\n    {\n      \"hashtag\": \"#rm\",\n      \"uses\": 250,\n      \"reach\": 175184\n    },\n    {\n      \"hashtag\": \"#taketwo\",\n      \"uses\": 242,\n      \"reach\": 433916\n    },\n    {\n      \"hashtag\": \"#top100kpopvocalists\",\n      \"uses\": 242,\n      \"reach\": 84808\n    },\n    {\n      \"hashtag\": \"#bitcoin\",\n      \"uses\": 234,\n      \"reach\": 337650\n    },\n    {\n      \"hashtag\": \"#nft\",\n      \"uses\": 216,\n      \"reach\": 193576\n    }\n  ]\n}\n"
      },
      "typeVersion": 1.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "17f44032-4b4c-4f82-8894-431e427e40fa",
  "connections": {
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Auto-fixing Output Parser",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udcac OpenAI Model": {
      "ai_languageModel": [
        [
          {
            "node": "\ud83e\udd16 Scrape Trending Hashtags",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udcc5 Daily Trigger": {
      "main": [
        [
          {
            "node": "\ud83d\udee0\ufe0f Prepare Input",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udee0\ufe0f Prepare Input": {
      "main": [
        [
          {
            "node": "\ud83e\udd16 Scrape Trending Hashtags",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udd77\ufe0f Bright Data MCP": {
      "ai_tool": [
        [
          {
            "node": "\ud83e\udd16 Scrape Trending Hashtags",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Auto-fixing Output Parser",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Auto-fixing Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "\ud83e\udd16 Scrape Trending Hashtags",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "\ud83e\udd16 Scrape Trending Hashtags": {
      "main": [
        [
          {
            "node": "\ud83d\udd22 Convert Numbers to Strings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udd22 Convert Numbers to Strings": {
      "main": [
        [
          {
            "node": "\ud83d\udccb Create Trello Cards",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}