<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Independent Builder</title>
    <description>The latest articles on DEV Community by Independent Builder (@kotaro001).</description>
    <link>https://dev.to/kotaro001</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F282685%2F7de48ac3-7d31-4447-bdc4-7fe2e34fb0bf.webp</url>
      <title>DEV Community: Independent Builder</title>
      <link>https://dev.to/kotaro001</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kotaro001"/>
    <language>en</language>
    <item>
      <title>How I Built an Automated Client-Hunting Funnel for Recruiters &amp; GTM Teams with Apify + n8n ($0 in LLM Costs)</title>
      <dc:creator>Independent Builder</dc:creator>
      <pubDate>Sat, 17 Oct 2026 08:37:47 +0000</pubDate>
      <link>https://dev.to/kotaro001/how-i-built-an-automated-client-hunting-funnel-for-recruiters-gtm-teams-with-apify-n8n-0-in-2c28</link>
      <guid>https://dev.to/kotaro001/how-i-built-an-automated-client-hunting-funnel-for-recruiters-gtm-teams-with-apify-n8n-0-in-2c28</guid>
      <description>&lt;p&gt;If you sell to companies that are hiring — recruiting services, dev shops, GTM tools — your warmest leads are companies &lt;strong&gt;struggling&lt;/strong&gt; to hire. A Staff ML Engineer role sitting open for 50 days is a company in pain, and pain buys.&lt;/p&gt;

&lt;p&gt;The problem: that signal is scattered across 60+ career pages, changing daily. Nobody watches them by hand.&lt;/p&gt;

&lt;p&gt;So I automated the watching. Every morning at 08:00, a 5-node n8n workflow pulls ~700 AI/ML postings from 60 AI companies, flags the hot signals, and sends me &lt;strong&gt;one Telegram message per company&lt;/strong&gt;. Total LLM spend: $0.&lt;/p&gt;

&lt;h2&gt;
  
  
  The data layer
&lt;/h2&gt;

&lt;p&gt;The workflow sits on top of a purpose-built Apify actor (&lt;a href="https://apify.com/kotaro001/ai-jobs-daily" rel="noopener noreferrer"&gt;kotaro001/ai-jobs-daily&lt;/a&gt;) that scrapes 60 AI companies' career pages daily (Greenhouse, Lever, Ashby, Workable). Every row comes enriched — 29 core fields, all deterministic:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Salary normalized to USD&lt;/strong&gt; (ECB rates; monthly ×12; week/day rates rejected)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seniority&lt;/strong&gt; (6 levels), workplace type, country codes, visa sponsorship — pure regex, no LLM&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;days_open&lt;/code&gt; + ghost-job flag&lt;/strong&gt; (&amp;gt;60 days active)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Repost detection&lt;/strong&gt; via content fingerprinting — catches companies quietly reposting the same role, even across board migrations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;company_domain&lt;/code&gt; (DNS-verified) + &lt;code&gt;company_linkedin_url&lt;/code&gt;&lt;/strong&gt; — this is the GTM gold: push straight into Clay/Apollo to find the hiring manager, no enrichment step needed&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The workflow (5 nodes)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Schedule Trigger&lt;/strong&gt; — daily 08:00&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTTP Request&lt;/strong&gt; — calls the actor via &lt;code&gt;run-sync-get-dataset-items&lt;/code&gt;, pulls the FULL dataset (~700 rows, compact mode)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code — Filter hot signals&lt;/strong&gt;: &lt;code&gt;days_open &amp;gt; 35 || is_reposted || comp_max_usd &amp;gt;= 200000&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code — Group by company&lt;/strong&gt;: open roles, repost count, max salary, top 8 skills&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Telegram&lt;/strong&gt; — one message per company:&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Anthropic&lt;/em&gt; — 42 open AI-core roles&lt;br&gt;
💰 Max salary: $405k&lt;br&gt;
🛠 Top skills: python, pytorch, distributed-systems...&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;The cost trick that matters:&lt;/strong&gt; the actor bills per result returned. So I pull the &lt;em&gt;full&lt;/em&gt; dataset and filter &lt;strong&gt;inside n8n (free)&lt;/strong&gt; instead of server-side. Result: ~$1.40 per run on your own Apify account — less than a coffee, for a daily lead list.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup (10 minutes)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Import the workflow JSON into n8n: &lt;a href="https://gist.github.com/tuyentran4992/d57357898c335ed742d7064f10b5e1f2" rel="noopener noreferrer"&gt;template&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Paste your Apify API token (Console → Settings → API tokens)&lt;/li&gt;
&lt;li&gt;Create a Telegram bot via &lt;a class="mentioned-user" href="https://dev.to/botfather"&gt;@botfather&lt;/a&gt;, set your chat ID&lt;/li&gt;
&lt;li&gt;Hit &lt;strong&gt;Execute&lt;/strong&gt; — or activate the schedule and forget about it&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Taking it further
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Outbound in one hop:&lt;/strong&gt; feed &lt;code&gt;company_domain&lt;/code&gt; + &lt;code&gt;company_linkedin_url&lt;/code&gt; into Clay or Apollo → hiring manager, no enrichment vendor needed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trend spotting:&lt;/strong&gt; every run archives to a history dataset — track salary and skill trends per company over months, then sell the &lt;em&gt;trend&lt;/em&gt;, not just the snapshot&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pipeline tracking:&lt;/strong&gt; append a Google Sheets node after Telegram and you have a per-company CRM that updates itself&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The template, the actor, and a free sample dataset are all linked above. If you're a GTM engineer or a technical recruiter, this is 10 minutes of setup for a lead source your competitors are still building by hand.&lt;/p&gt;

</description>
      <category>n8n</category>
      <category>apify</category>
      <category>webscraping</category>
      <category>automation</category>
    </item>
  </channel>
</rss>
