This workflow corresponds to n8n.io template #4787 — we link there as the canonical source.
This workflow follows the Google Sheets → HTTP Request 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": "Gzj0XGbwdrkLDnf6",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Builtwith Tracker To Email",
"tags": [],
"nodes": [
{
"id": "c92c104a-6eba-4178-8bf6-991085ee1695",
"name": "Manual Trigger",
"type": "n8n-nodes-base.manualTrigger",
"position": [
0,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "76e24861-9f7d-4b29-b522-6a844b9436bb",
"name": "Set Technology",
"type": "n8n-nodes-base.set",
"position": [
220,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "03833cf1-e817-4466-9507-f8ddb587b5cb",
"name": "Technology",
"type": "string",
"value": "Shopify"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "15417d50-e7dd-4114-b907-fccc811868af",
"name": "Fetch BuiltWith Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
520,
0
],
"parameters": {
"url": "https://api.builtwith.com/v20/api.json",
"options": {},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "KEY",
"value": "YOUR_API_KEY"
},
{
"name": "TECH",
"value": "={{ $json.Technology }}"
},
{
"name": "START",
"value": "0"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "c688d193-0f53-4a83-a60e-8f2c8d10ab33",
"name": "Extract Site Info",
"type": "n8n-nodes-base.code",
"position": [
740,
0
],
"parameters": {
"jsCode": "const techSearched = $json[\"technologies\"] || \"Unknown\"; // fallback in case it's not set\nconst results = $json.Results || [];\n\nreturn results.map(site => {\n return {\n json: {\n domain: site.ResultPath || \"\",\n technology: techSearched,\n firstIndexed: site.FirstIndexed || \"\",\n vertical: site.Vertical || \"\"\n }\n };\n});\n"
},
"typeVersion": 2
},
{
"id": "dda7e1db-6e29-4f2d-b98f-25e1473f4ac8",
"name": "Log to Google Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
1120,
0
],
"parameters": {
"columns": {
"value": {
"Domain": "={{ $json.domain }}",
"Vertical": "={{ $json.vertical }}",
"Technology": "={{ $json.technology }}",
"First Indexed": "={{ $json.firstIndexed }}"
},
"schema": [
{
"id": "Domain",
"type": "string",
"display": true,
"required": false,
"displayName": "Domain",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Technology",
"type": "string",
"display": true,
"required": false,
"displayName": "Technology",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "First Indexed",
"type": "string",
"display": true,
"required": false,
"displayName": "First Indexed",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Vertical",
"type": "string",
"display": true,
"required": false,
"displayName": "Vertical",
"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/1lDu3HvxcpA1nRDJq6Ge-OrMO0v592UfLBIjt3Ylc3Mo/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1lDu3HvxcpA1nRDJq6Ge-OrMO0v592UfLBIjt3Ylc3Mo",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1lDu3HvxcpA1nRDJq6Ge-OrMO0v592UfLBIjt3Ylc3Mo/edit?usp=drivesdk",
"cachedResultName": "Builtwith"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.5
},
{
"id": "9e1ffa72-734e-4a66-a3e8-2b45b8979e4a",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-40,
-980
],
"parameters": {
"color": 3,
"width": 400,
"height": 1160,
"content": "## \ud83e\udde9 SECTION 1: **\ud83d\udd18 Manual Start + \ud83d\udcdd Set Target Technology**\n\n### \ud83c\udfaf Purpose:\n\nThis section allows **you (the user)** to manually start the workflow and specify **which technology** (e.g., Shopify, WordPress, React) you're interested in searching for via BuiltWith.\n\n### \ud83d\udd39 Nodes:\n\n* **\ud83d\udd18 Manual Trigger** (`Manual Trigger`)\n \u27a4 This lets you run the workflow manually while testing or for one-time actions.\n \ud83d\udccd Tip: Great for workflows that don't need to run on a schedule.\n\n* **\ud83d\udcdd Set Technology** (`Set` Node)\n \u27a4 You manually define the **technology name** here (e.g., \"Shopify\").\n \u27a4 You can add a field like:\n\n ```json\n {\n \"technologies\": \"Shopify\"\n }\n ```\n\n \u2705 This makes the workflow dynamic \u2014 you can change the tech each time without editing multiple nodes.\n\n### \ud83d\udd30 What a beginner learns here:\n\n* How to use the **Manual Trigger** to run a test or ad-hoc job.\n* How to use the **Set Node** to insert static/custom data into the flow.\n* How workflows can be made flexible with variables like `technologies`.\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "a43fadd2-cf70-4f67-aa99-f513ea0e404a",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
-1180
],
"parameters": {
"color": 5,
"width": 420,
"height": 1360,
"content": "## \ud83d\udd17 SECTION 2: **\ud83c\udf10 Fetch + \ud83e\udde0 Process BuiltWith Data**\n\n### \ud83c\udfaf Purpose:\n\nUse the HTTP Request node to connect with the BuiltWith API, and then process the JSON response to extract useful data about the websites.\n\n### \ud83d\udd39 Nodes:\n\n* **\ud83c\udf10 Fetch BuiltWith Data** (`HTTP Request`)\n \u27a4 Sends a `GET` request to BuiltWith\u2019s API to find websites using the selected technology.\n \u27a4 Example URL:\n\n ```\n https://api.builtwith.com/v20/api.json?KEY=YOUR_API_KEY&TECH=Shopify&START=0\n ```\n\n \ud83d\udd11 Make sure to replace `YOUR_API_KEY` with your real BuiltWith API key.\n\n* **\ud83e\udde0 Extract Site Info** (`Function` Node)\n \u27a4 This node parses the JSON response from BuiltWith and pulls out the key fields:\n\n * `domain`\n * `technology`\n * `firstIndexed`\n * `vertical`\n \u27a4 Example output (ready for sheets):\n\n ```json\n {\n \"domain\": \"www.example-shop.com\",\n \"technology\": \"Shopify\",\n \"firstIndexed\": \"2024-11-02\",\n \"vertical\": \"E-commerce\"\n }\n ```\n\n### \ud83d\udd30 What a beginner learns here:\n\n* How to use the **HTTP Request** node to work with any public API.\n* How to read API documentation (BuiltWith) and form queries.\n* How to process complex API responses using a **Function Node** to extract and clean data.\n\n---\n\n\n"
},
"typeVersion": 1
},
{
"id": "97ce7536-bc81-4f00-966d-7375c6563fa3",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1000,
-720
],
"parameters": {
"color": 6,
"width": 360,
"height": 900,
"content": "## \ud83d\udcca SECTION 3: **\ud83d\udcc4 Log to Google Sheets**\n\n### \ud83c\udfaf Purpose:\n\nStore the clean data into a Google Sheet so that it can be used for:\n\n* Lead generation\n* Email campaigns\n* Technology tracking\n* Competitor research\n\n### \ud83d\udd39 Node:\n\n* **\ud83d\udcc4 Log to Google Sheet** (`Google Sheets \u2192 Append`)\n \u27a4 Appends the parsed data from the previous step to your spreadsheet.\n \u27a4 Each row represents a different website using the technology.\n \u27a4 Example columns:\n\n * A: Domain\n * B: Technology\n * C: First Indexed\n * D: Vertical\n\n\ud83d\udd10 You\u2019ll authenticate this once using Google OAuth2 \u2014 n8n saves the connection for future runs.\n\n"
},
"typeVersion": 1
},
{
"id": "dd0c5a1a-c155-4f8b-8680-8ccd4dd4196d",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1680,
-980
],
"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": "d3a277a7-ad8c-4f8c-bd08-5ac2b3e7f87e",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1680,
-640
],
"parameters": {
"color": 4,
"width": 1289,
"height": 2658,
"content": "# \u2728 **n8n Workflow: Monitor Tech Stack with BuiltWith & Send Email Alerts**\n\n---\n\n## \ud83d\udd36 **SECTION 1: Trigger & Input Setup**\n\n\ud83e\udde9 *Nodes Involved:*\n1\ufe0f\u20e3 `Trigger: Manual Run`\n2\ufe0f\u20e3 `Set: BuiltWith Parameters`\n\n---\n\n### \ud83c\udfaf **What Happens Here?**\n\nThis section **starts the workflow** and **sets up the inputs** needed to make the BuiltWith API request.\n\n#### \ud83d\uddb1\ufe0f 1. `Trigger: Manual Run`\n\n* \u2699\ufe0f *Type:* Manual Trigger\n* \ud83d\udd0d *Purpose:* Allows you to **test the workflow manually** by clicking \u201cExecute Workflow\u201d inside n8n.\n* \u2705 Useful for debugging or running ad hoc checks.\n\n#### \ud83d\udcdd 2. `Set: BuiltWith Parameters`\n\n* \ud83e\uddea *Type:* Set Node (manual input field editor)\n* \ud83d\udce4 *Purpose:* Adds key input fields such as:\n\n * `API Key`: Your BuiltWith API Key \ud83d\udd10\n * `TECH`: The technology you want to track (e.g., `Webflow`, `Shopify`, etc.) \ud83e\uddf1\n\n> \ud83d\udca1 **Beginner Tip:** You can reuse this node to switch techs any time. Just change the `TECH` value to track other platforms like `Shopify`, `Wix`, etc.\n\n---\n\n## \ud83d\udd37 **SECTION 2: Fetch & Format Website Data**\n\n\ud83e\udde9 *Nodes Involved:*\n3\ufe0f\u20e3 `Fetch Tech Domains (BuiltWith API)`\n4\ufe0f\u20e3 `Format BuiltWith Response`\n\n---\n\n### \ud83e\udde0 **What Happens Here?**\n\nThis section talks to the **BuiltWith API**, gets the data, and formats it so it's readable and usable.\n\n#### \ud83c\udf10 3. `Fetch Tech Domains (BuiltWith API)`\n\n* \ud83d\udd17 *Type:* HTTP Request Node\n* \ud83d\udce1 *Purpose:* Makes a `GET` request to the [BuiltWith API](https://builtwith.com/), asking:\n\n > \u201cHey! Show me websites using this specific tech.\u201d\n* \ud83e\uddfe It returns a list of domains using the tech you entered in the previous step, including:\n\n * Domain name \ud83c\udf10\n * First detected date \ud83d\udcc5\n * Other technologies found \ud83e\udde9\n\n#### \ud83d\udee0\ufe0f 4. `Format BuiltWith Response`\n\n* \ud83e\uddee *Type:* Code Node (JavaScript)\n* \ud83e\udde0 *Purpose:* Extracts and formats the response into clean, readable values:\n\n * `Domain`: `example1.com`\n * `Technologies`: `Webflow, Stripe, Google Analytics`\n * `First Detected Dates`: `2025-06-04, N/A, 2025-06-05`\n\n> \ud83d\udca1 **Beginner Tip:** This code transforms messy JSON into something clear, which you can now send in an email, Slack, or save in Airtable.\n\n---\n\n## \ud83d\udfe5 **SECTION 3: Send Email Alert**\n\n\ud83e\udde9 *Node Involved:*\n5\ufe0f\u20e3 `Send Alert Email (Gmail)`\n\n---\n\n### \ud83d\udcec **What Happens Here?**\n\nThis final section takes the formatted data and **sends it to your inbox** using Gmail.\n\n#### \ud83d\udce4 5. `Send Alert Email (Gmail)`\n\n* \u2709\ufe0f *Type:* Gmail Node\n* \ud83d\udd14 *Purpose:* Sends you an email for each domain found using the tech.\n* \ud83d\udd0d Includes:\n\n * Domain name\n * All technologies used\n * Detection dates\n* \ud83e\uddd1\u200d\ud83d\udcbc Perfect for sending leads to your **sales**, **BD**, or **marketing team**.\n\n> \ud83d\udca1 **Beginner Tip:** You can change the \"To\" address to send alerts to team members, or use conditional logic to notify only when specific techs are found.\n\n---\n\n## \ud83c\udf1f **Summary: Why This Workflow is Powerful**\n\n| Benefit \ud83d\udca1 | Description |\n| --------------------------- | -------------------------------------------------------------------------- |\n| \ud83d\udd0d Discover Leads | Automatically find websites using tools your business supports or sells to |\n| \ud83d\udce7 Instant Alerts | Get notified via Gmail when new websites appear |\n| \ud83e\udde9 Highly Customizable | Change tech stack (e.g. `Webflow`, `Shopify`, `WordPress`) in seconds |\n| \ud83d\udeab No-Code-Friendly | Easy to maintain even if you're not a developer |\n| \ud83c\udfd7\ufe0f Reusable Building Block | Can be extended to Slack, Airtable, or CRM integrations |\n\n---\n\n"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "97826b84-6499-4d64-b608-f6a256cb8684",
"connections": {
"Manual Trigger": {
"main": [
[
{
"node": "Set Technology",
"type": "main",
"index": 0
}
]
]
},
"Set Technology": {
"main": [
[
{
"node": "Fetch BuiltWith Data",
"type": "main",
"index": 0
}
]
]
},
"Extract Site Info": {
"main": [
[
{
"node": "Log to Google Sheet",
"type": "main",
"index": 0
}
]
]
},
"Fetch BuiltWith Data": {
"main": [
[
{
"node": "Extract Site Info",
"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.
googleSheetsOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Automated monitoring system that sends instant alerts when target companies make technology changes, delivered directly to your inbox or Slack. Monitors technology stack changes Sends real-time email alerts Posts updates to Slack Tracks historical changes Filters by technology…
Source: https://n8n.io/workflows/4787/ — 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 template is ideal for solo store owners, eCommerce marketers, automation beginners, or anyone using Shopify and Gmail who wants to recover lost revenue without coding.
PCN. Uses googleSheets, httpRequest, @n-octo-n/n8n-nodes-json-database, itemLists. Event-driven trigger; 60 nodes.
The workflow automates the process of gathering extensive keyword data for a "Main Keyword." It starts by reading initial parameters from a Google Sheets template, creates a new dedicated Google Sheet
🔥 March Sale – n8n Community Members Get ideoGener8r for Just $27! (Reg. $47) Use Coupon Code: (Valid until 3/31/2025 for n8n community members)
📄 Documentation: Notion Guide