Quick overview
This workflow runs an Apify Company Career Page Scraper for a single company URL and logs job listings into Google Sheets, maintaining a “current jobs” view, a per-run history table, and a run ledger with safe locking and resume support.
How it works
- Runs manually and loads the target company career/ATS URL, job limit, charge cap, and Google Sheets spreadsheet ID.
- Validates the configuration, reads the target Google Sheets file, creates the required tabs if missing, and adds a temporary lock sheet to prevent overlapping writes.
- Reads and validates existing rows from the Career Current, Career History, and Career Runs tabs to ensure the expected schema and key uniqueness.
- Starts a charge-capped Apify Actor run for the company career page (or resumes a provided Apify run ID) and records the run ID in the Career Runs tab as a checkpoint.
- Polls Apify until the run succeeds, then fetches the complete dataset of scraped jobs.
- Normalizes and deduplicates the job data, updates/creates rows in Career Current, appends per-run observations to Career History, and writes an import status entry to Career Runs.
- Removes the lock sheet and outputs a summary with counts for baseline, new, refreshed, rejected, and replayed observations plus a link to the spreadsheet.
Setup
- Add Apify API credentials in n8n and ensure you have access to run the FalconScrape Company Career Page Scraper Actor (ID HiJYKx437rQqU6YMb).
- Add Google Sheets OAuth2 credentials in n8n with permission to read and edit the destination spreadsheet.
- Create an empty Google Sheets spreadsheet, copy its spreadsheet ID, and paste it into the workflow’s configuration along with the public HTTPS company career/ATS URL.
- Optionally adjust maxJobs (1–100) and maxChargeUsd ($0.01–$1.00), and leave resumeRunId blank unless you are resuming a specific Apify run.
- If a run is interrupted, confirm no execution is active, delete the _CAREER_WORKFLOW_LOCK sheet if it remains, and set resumeRunId to the saved Apify run ID from Career Runs before executing again.
Requirements
- An n8n instance with the official Apify integration available, an Apify account, and a Google account with Sheets OAuth2 access.
Customization
- Track one company URL per spreadsheet. Review maxJobs and the Actor charge cap after the first bounded run; keep your own notes in column S onward.
Additional info
The template is free; Apify Actor runs and n8n hosting may incur charges. The first import is a baseline. NEW means first observed in this spreadsheet, not necessarily newly published. A missing job is not assumed closed. AI enrichment is disabled and scheduling is off.