AutomationFlowsData & Sheets › Gistfile1

Gistfile1

Gistfile1. Uses httpRequest, googleSheets. Scheduled trigger; 8 nodes.

Cron / scheduled trigger★★★★☆ complexity8 nodesHTTP RequestGoogle Sheets
Data & Sheets Trigger: Cron / scheduled Nodes: 8 Complexity: ★★★★☆ Added:

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 →

Download .json
{
  "nodes": [
    {
      "parameters": {
        "triggerTimes": {
          "item": [
            {
              "hour": 9,
              "minute": 0
            }
          ]
        }
      },
      "name": "Daily Trigger",
      "type": "n8n-nodes-base.cron",
      "typeVersion": 1
    },
    {
      "parameters": {
        "values": {
          "boolean": [],
          "string": [
            {
              "name": "cities",
              "value": "[{\"location\":\"Austin, TX\",\"min_price\":200000,\"max_price\":500000},{\"location\":\"Dallas, TX\",\"min_price\":150000,\"max_price\":400000},{\"location\":\"Houston, TX\",\"min_price\":100000,\"max_price\":300000}]"
            }
          ],
          "number": []
        },
        "options": {}
      },
      "name": "Set Search Cities",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1
    },
    {
      "parameters": {
        "batchSize": 1
      },
      "name": "Split Cities",
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 1
    },
    {
      "parameters": {
        "url": "https://zillowapi.example.com/search",
        "options": {
          "queryParametersJson": "{\"location\": \"={{$json[\"location\"]}}\",\"min_price\": \"={{$json[\"min_price\"]}}\",\"max_price\": \"={{$json[\"max_price\"]}}\"}"
        },
        "responseFormat": "json",
        "headerParametersJson": "{\"X-RapidAPI-Key\":\"YOUR_API_KEY\"}"
      },
      "name": "Zillow API Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 1
    },
    {
      "parameters": {
        "value": "={{ $json[\"results\"] }}"
      },
      "name": "Select Listings Array",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1
    },
    {
      "parameters": {
        "batchSize": 1
      },
      "name": "Loop Listings",
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 1
    },
    {
      "parameters": {
        "functionCode": "const price = Number($json.price);\nconst ARV = price * 0.9;\nconst repair = 20000;\nconst offer = Math.round(ARV * 0.7 - repair);\nreturn [{ json: { city: $json.location, address: $json.address, price, beds: $json.beds, baths: $json.baths, sqft: $json.sqft, listing_url: $json.url, offer } }];"
      },
      "name": "Calculate Offer",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1
    },
    {
      "parameters": {
        "authentication": "oAuth2",
        "operation": "append",
        "sheetId": "YOUR_SHEET_ID",
        "range": "A1",
        "fieldsToSend": "specific",
        "options": {},
        "fields": [
          {
            "name": "City",
            "value": "={{ $json.city }}"
          },
          {
            "name": "Address",
            "value": "={{ $json.address }}"
          },
          {
            "name": "Price",
            "value": "={{ $json.price }}"
          },
          {
            "name": "Beds",
            "value": "={{ $json.beds }}"
          },
          {
            "name": "Baths",
            "value": "={{ $json.baths }}"
          },
          {
            "name": "Sqft",
            "value": "={{ $json.sqft }}"
          },
          {
            "name": "URL",
            "value": "={{ $json.listing_url }}"
          },
          {
            "name": "Offer",
            "value": "={{ $json.offer }}"
          }
        ]
      },
      "name": "Write to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 1
    }
  ],
  "connections": {
    "Daily Trigger": {
      "main": [
        [
          {
            "node": "Set Search Cities",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Search Cities": {
      "main": [
        [
          {
            "node": "Split Cities",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Cities": {
      "main": [
        [
          {
            "node": "Zillow API Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Zillow API Request": {
      "main": [
        [
          {
            "node": "Select Listings Array",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Select Listings Array": {
      "main": [
        [
          {
            "node": "Loop Listings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Listings": {
      "main": [
        [
          {
            "node": "Calculate Offer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Offer": {
      "main": [
        [
          {
            "node": "Write to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Gistfile1. Uses httpRequest, googleSheets. Scheduled trigger; 8 nodes.

Source: https://gist.github.com/kajiuu/f13aa50167e1589e7c1560ef9e24fd80 — original creator credit. Request a take-down →

More Data & Sheets workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Data & Sheets

This workflow automates video distribution to 9 social platforms simultaneously using Blotato's API. It includes both a scheduled publisher (checks Google Sheets for videos marked "Ready") and a subwo

Google Sheets, HTTP Request, Form Trigger +2
Data & Sheets

YogiAI. Uses googleSheets, googleSheetsTool, httpRequest, stopAndError. Scheduled trigger; 61 nodes.

Google Sheets, Google Sheets Tool, HTTP Request +1
Data & Sheets

This workflow monitors Google Calendar for events indicating that a customer will visit the company today or the next day, retrieves the required details, and sends reminder notifications to the relev

Google Calendar, Google Sheets, HTTP Request +1
Data & Sheets

ofn hook v0.24.0 beta. Uses start, httpRequest, functionItem, itemLists. Scheduled trigger; 42 nodes.

Start, HTTP Request, Function Item +3
Data & Sheets

Security teams, DevOps engineers, vulnerability analysts, and automation builders who want to eliminate repetitive Nessus scan parsing, AI-based risk triage, and manual reporting. Designed for orgs fo

Email Send, HTTP Request, Google Sheets +1