Build a LinkedIn hiring-signal data table with Apify and Slack

Go to Workflow
0 views
Built by Lenny Lenny
Created on August 02, 2026

Description

Quick overview
Monitor selected companies for new LinkedIn jobs with Curly’s Apify Actor. The workflow normalizes and deduplicates results, stores unseen roles in a reusable n8n Data Table, and can optionally send one Slack digest per company.

How it works
Runs every 12 hours or starts manually to monitor target companies for new LinkedIn job postings.
Sends the configured company slugs/URLs and optional filters to the Apify actor curly/linkedin-jobs-scraper and retrieves the dataset items.
Normalizes the scraped items into a consistent job schema (for example job ID, company, title, location, URLs, and timestamps).
Removes duplicate job IDs returned within the same scrape run.
Checks each job ID against an n8n Data Table to keep only jobs that have not been stored before.
Inserts the new job records into the n8n Data Table as a persistent hiring-signal database.
Optionally groups newly stored jobs by company and posts one digest message per company to a Slack channel.

Setup
Install and configure an Apify credential in n8n.
Create an n8n Data Table named curly_hiring_signals with columns matching the stored fields (including job_id, company/job details, and date fields like published_at, scraped_at, and first_seen_at) and select it in both Data Table steps.
Update the target company slugs/LinkedIn company URLs (and any optional jobTitles, locations, and limits) in the target configuration step.
If you want notifications, add Slack credentials, select the destination channel, and enable the disabled Slack message step.
Test with a manual run and then activate the 12-hour schedule once you confirm rows are being stored as expected.

Requirements
An Apify account and API token; n8n with the verified Apify node; an n8n Data Table using the documented schema; optional Slack credentials.

Customization
Replace the sample companies, adjust job-title and location filters, change the schedule, increase limits for high-volume employers, or replace Slack and the Data Table with your CRM, Postgres, Supabase, or data warehouse.

Additional info
Uses Curly’s LinkedIn Jobs Scraper on Apify: https://apify.com/curly/linkedin-jobs-scraper. No LinkedIn cookies or login are required. includeDetails is disabled by default for faster monitoring; enable it when full job descriptions are needed. Browser-based tool and field reference: https://trycurly.xyz/tools/linkedin-jobs-scraper

Nodes Used (2)

Code
n8n-nodes-base.code
Slack
n8n-nodes-base.slack