AutomationFlowsData & Sheets › Log Weekly Glassdoor Reviews to Google Sheets Using Apify

Log Weekly Glassdoor Reviews to Google Sheets Using Apify

ByJohnVC @johnvc on n8n.io

No Glassdoor API key and no scraping account required. This review monitoring template checks your companies every week and appends their newest Glassdoor reviews to Google Sheets, one row per review with star rating, pros, cons, and the per-category ratings breakdown. Runs…

Cron / scheduled trigger★★★★☆ complexity14 nodes@Apify/N8N Nodes ApifyGoogle Sheets
Data & Sheets Trigger: Cron / scheduled Nodes: 14 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #17480 — we link there as the canonical source.

This workflow follows the Apifyn8N Nodes Apify → Google Sheets 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
{
  "name": "Monitor Glassdoor reviews in Google Sheets with Apify",
  "nodes": [
    {
      "id": "8b2e1a4c-0001-4b01-b001-000000000001",
      "name": "Every Monday morning",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        460
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "weeks",
              "triggerAtDay": [
                1
              ],
              "triggerAtHour": 8
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8b2e1a4c-0005-4b05-b005-000000000005",
      "name": "Set your companies",
      "type": "n8n-nodes-base.set",
      "position": [
        260,
        460
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "8b2e1a4c-0002-4b02-b+1234567890",
              "name": "companyUrls",
              "type": "array",
              "value": "[\"https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm\", \"https://www.glassdoor.com/Reviews/Microsoft-Reviews-E1651.htm\", \"https://www.glassdoor.com/Reviews/Amazon-Reviews-E6036.htm\"]"
            },
            {
              "id": "8b2e1a4c-0003-4b03-b+1234567890",
              "name": "maxReviewsPerCompany",
              "type": "number",
              "value": 25
            },
            {
              "id": "8b2e1a4c-0004-4b04-b+1234567890",
              "name": "days",
              "type": "number",
              "value": 7
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "8b2e1a4c-0006-4b06-b006-000000000006",
      "name": "Scrape Glassdoor reviews",
      "type": "@apify/n8n-nodes-apify.apify",
      "position": [
        520,
        460
      ],
      "parameters": {
        "memory": 128,
        "actorId": "johnvc~glassdoor-reviews-api",
        "resource": "Actors",
        "operation": "Run actor and get dataset",
        "customBody": "={{ JSON.stringify({ companyUrls: $json.companyUrls, maxReviewsPerCompany: $json.maxReviewsPerCompany, days: $json.days }) }}"
      },
      "typeVersion": 1
    },
    {
      "id": "8b2e1a4c-0008-4b08-b008-000000000008",
      "name": "Keep only reviews",
      "type": "n8n-nodes-base.filter",
      "position": [
        780,
        460
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "8b2e1a4c-0007-4b07-b+1234567890",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.result_type }}",
              "rightValue": "review"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "8b2e1a4c-0015-4b15-b015-000000000015",
      "name": "Pick fields for the sheet",
      "type": "n8n-nodes-base.set",
      "position": [
        1040,
        460
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "8b2e1a4c-0009-4b09-b+1234567890",
              "name": "Company",
              "type": "string",
              "value": "={{ $json.companyName }}"
            },
            {
              "id": "8b2e1a4c-000a-4b0a-b00a-+1234567890a",
              "name": "Date",
              "type": "string",
              "value": "={{ ($json.datePublished || '').slice(0, 10) }}"
            },
            {
              "id": "8b2e1a4c-000b-4b0b-b00b-+1234567890b",
              "name": "Rating",
              "type": "string",
              "value": "={{ $json.overallRating }}"
            },
            {
              "id": "8b2e1a4c-000c-4b0c-b00c-+1234567890c",
              "name": "Review title",
              "type": "string",
              "value": "={{ $json.reviewSummary }}"
            },
            {
              "id": "8b2e1a4c-000d-4b0d-b00d-+1234567890d",
              "name": "Pros",
              "type": "string",
              "value": "={{ $json.pros }}"
            },
            {
              "id": "8b2e1a4c-000e-4b0e-b00e-+1234567890e",
              "name": "Cons",
              "type": "string",
              "value": "={{ $json.cons }}"
            },
            {
              "id": "8b2e1a4c-000f-4b0f-b00f-+1234567890f",
              "name": "Reviewer",
              "type": "string",
              "value": "={{ $json.employmentType }}"
            },
            {
              "id": "8b2e1a4c-0010-4b10-b010-+1234567890",
              "name": "Culture and values",
              "type": "string",
              "value": "={{ $json.ratingCultureValues }}"
            },
            {
              "id": "8b2e1a4c-0011-4b11-b011-+1234567890",
              "name": "Work-life balance",
              "type": "string",
              "value": "={{ $json.ratingWorkLife }}"
            },
            {
              "id": "8b2e1a4c-0012-4b12-b012-+1234567890",
              "name": "Compensation",
              "type": "string",
              "value": "={{ $json.ratingCompensationBenefits }}"
            },
            {
              "id": "8b2e1a4c-0013-4b13-b013-+1234567890",
              "name": "Senior leadership",
              "type": "string",
              "value": "={{ $json.ratingSeniorLeadership }}"
            },
            {
              "id": "8b2e1a4c-0014-4b14-b014-+1234567890",
              "name": "Review URL",
              "type": "string",
              "value": "={{ $json.reviewUrl }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "8b2e1a4c-0016-4b16-b016-000000000016",
      "name": "Append reviews to sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1300,
        460
      ],
      "parameters": {
        "columns": {
          "value": {},
          "mappingMode": "autoMapInputData",
          "matchingColumns": []
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "8b2e1a4c-0017-4b17-b017-000000000017",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -600,
        40
      ],
      "parameters": {
        "width": 520,
        "height": 1060,
        "content": "## Monitor Glassdoor reviews in Google Sheets with Apify\n\nNo Glassdoor API key and no scraping account required. Track what employees say about the companies you watch on Glassdoor: every week this workflow collects their newest reviews and appends one row per review to your sheet, with the star rating, pros, cons, and the per-category ratings breakdown (culture, compensation, work-life balance, leadership).\n\n**Who's it for**\nHR and employer-branding teams tracking their own reputation, recruiters and analysts watching competitors, and founders keeping an eye on employee sentiment.\n\n**How it works**\n1. A schedule trigger fires once a week\n2. The Apify node runs the Glassdoor Reviews API actor for your companies and returns the reviews from the last 7 days\n3. A filter drops any row that is not a real review\n4. The fields you care about are appended to your Google Sheet\n\n**Setup**\n1. Create a free Apify account and add your API token to the Apify credential\n2. Connect your Google account in the Sheets node and pick a spreadsheet\n3. Replace the example companies with the Glassdoor review page URLs you want to watch, then run once to test\n\n**Good to know**\nCollection costs about $0.004 per review. A weekly check of 3 companies usually stays under $0.30.\nActor: https://apify.com/johnvc/glassdoor-reviews-api?fpr=9n7kx3&fp_sid=n8n"
      },
      "typeVersion": 1
    },
    {
      "id": "8b2e1a4c-0018-4b18-b018-000000000018",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -40,
        60
      ],
      "parameters": {
        "color": 7,
        "width": 240,
        "height": 240,
        "content": "### 1. Schedule\nRuns every Monday morning. Change the cadence or swap in a manual trigger."
      },
      "typeVersion": 1
    },
    {
      "id": "8b2e1a4c-0019-4b19-b019-000000000019",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        220,
        60
      ],
      "parameters": {
        "color": 7,
        "width": 240,
        "height": 240,
        "content": "### 2. Your input\nAdd the Glassdoor review page URLs to watch. This is the only node you edit."
      },
      "typeVersion": 1
    },
    {
      "id": "8b2e1a4c-001a-4b1a-b01a-00000000001a",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        500,
        60
      ],
      "parameters": {
        "color": 7,
        "width": 240,
        "height": 240,
        "content": "### 3. Scrape\nRuns the Glassdoor Reviews API actor. Add your Apify credential here."
      },
      "typeVersion": 1
    },
    {
      "id": "8b2e1a4c-001b-4b1b-b01b-00000000001b",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        760,
        60
      ],
      "parameters": {
        "color": 7,
        "width": 240,
        "height": 240,
        "content": "### 4. Clean\nKeeps only real review rows. Anything else is skipped."
      },
      "typeVersion": 1
    },
    {
      "id": "8b2e1a4c-001c-4b1c-b01c-00000000001c",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1020,
        60
      ],
      "parameters": {
        "color": 7,
        "width": 240,
        "height": 240,
        "content": "### 5. Shape\nChoose which review fields become your sheet columns."
      },
      "typeVersion": 1
    },
    {
      "id": "8b2e1a4c-001d-4b1d-b01d-00000000001d",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1280,
        60
      ],
      "parameters": {
        "color": 7,
        "width": 240,
        "height": 240,
        "content": "### 6. Deliver\nPick your spreadsheet and tab. Columns map automatically."
      },
      "typeVersion": 1
    },
    {
      "id": "8b2e1a4c-001e-4b1e-b01e-00000000001e",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        220,
        740
      ],
      "parameters": {
        "color": 7,
        "width": 360,
        "height": 200,
        "content": "### Self-hosting n8n?\nThere is also a dedicated community node for this actor: `n8n-nodes-glassdoor-reviews-api` on npm."
      },
      "typeVersion": 1
    }
  ],
  "settings": {
    "executionOrder": "v1"
  },
  "connections": {
    "Keep only reviews": {
      "main": [
        [
          {
            "node": "Pick fields for the sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set your companies": {
      "main": [
        [
          {
            "node": "Scrape Glassdoor reviews",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Every Monday morning": {
      "main": [
        [
          {
            "node": "Set your companies",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scrape Glassdoor reviews": {
      "main": [
        [
          {
            "node": "Keep only reviews",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pick fields for the sheet": {
      "main": [
        [
          {
            "node": "Append reviews to sheet",
            "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

No Glassdoor API key and no scraping account required. This review monitoring template checks your companies every week and appends their newest Glassdoor reviews to Google Sheets, one row per review with star rating, pros, cons, and the per-category ratings breakdown. Runs…

Source: https://n8n.io/workflows/17480/ — 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

No rank tracker subscription and no SERP API key. This template checks where your business ranks in Google's local results for the keywords you choose, every week, and appends one row per listing to G

@Apify/N8N Nodes Apify, Google Sheets
Data & Sheets

No Firecrawl API key and no OpenAI key. This template checks every week whether any member of Congress disclosed a trade in the stocks you follow, and appends one row per transaction to Google Sheets:

@Apify/N8N Nodes Apify, Google Sheets
Data & Sheets

No Google Business Profile connection and no SerpApi or Bright Data account. This template runs weekly review tracking across the whole Google local pack for your search term, appending one row per bu

@Apify/N8N Nodes Apify, Google Sheets
Data & Sheets

No IP watch service and no per-seat subscription. Every week this searches Google Patents for the technologies you follow and appends one row per patent to Google Sheets: title, assignee, inventor, pu

@Apify/N8N Nodes Apify, Google Sheets
Data & Sheets

This workflow runs every Monday morning, searches Google Shopping for a list of products using Apify, summarizes credible weekly pricing metrics per product, and appends the results to a Google Sheets

@Apify/N8N Nodes Apify, Google Sheets