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 →
{
"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
}
]
]
}
}
}
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 →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
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
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
YogiAI. Uses googleSheets, googleSheetsTool, httpRequest, stopAndError. Scheduled trigger; 61 nodes.
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
Useful if a team is working within a single instance and you want to be notified of what workflows have changed since you last visited them. Another use-case might be monitoring your managed instances