This Clay Workflow Replaced 5 Full-Time VAs

I recently built a Clay workbook that’s doing something pretty remarkable—it’s completely replaced five full-time virtual assistants for one of our clients. Let me walk you through exactly how we did it, because the process reveals some powerful insights about finding and qualifying the right decision makers at scale.

The Manual Process That Needed Automation

When this client first came to us, they had a very specific manual process that their team of five VAs was executing day in and day out. The workflow involved finding job postings, qualifying those jobs based on strict criteria, and then identifying the right decision makers at each company. The catch? They had very particular requirements about who they’d reach out to—only two people per company maximum, and these companies typically had fewer than 50 employees.

The challenge was translating years of manual institutional knowledge into an automated workflow that could maintain the same level of precision and quality.

Starting With Job Data From Multiple Sources

The workbook starts with two different data sources for job postings. The first is Clay’s built-in job search feature, which pulls from LinkedIn job posts. But we didn’t stop there—we also integrated Apify as an alternative source.

Why both? Because Apify opens up a world of job postings that aren’t on LinkedIn, which means dramatically less competition. This is especially valuable for outsourcing companies, recruiting agencies, and any business that uses hiring signals to identify opportunities.

The Power of Formula-Based Filtering

Here’s where things get interesting. When you use Clay’s job search feature, you can set criteria like job titles, keywords, location, and employment type. But you cannot filter by company characteristics like industry, headquarters location, or employee headcount during the search itself.

So we got creative. In the first table, we used extensive formulas to filter out jobs we knew weren’t a fit—before spending a single penny on AI enrichments.

For example, if you’re targeting companies with 300-500 employees max, you know that jobs from massive corporations like Nike or HSBC are a complete waste of time. We built formula columns that check company domains and names against lists of unwanted companies. And here’s a pro tip: you can include up to 200-300 companies in a single formula before it starts having issues. That’s why our workbook has unwanted company filters numbered 1 through 12, plus additional checks from 13 to 18.

We also filtered out staffing-related keywords in company names (since this client is in the staffing world but doesn’t want to reach out to recruitment agencies), eliminated government and educational domains, and removed known big staffing companies like Robert Half.

The beauty of this approach? These formula checks cost absolutely nothing. No OpenAI tokens, no API credits—just pure logic keeping your costs down while processing thousands of rows per day.

Smart Data Architecture With Multiple Tables

The workbook uses multiple interconnected tables, and this is where the real magic happens. Table one finds and filters jobs. Table two handles company qualification. But why send data from table one to table two?

Because a single company might have 3, 5, or even 25 job postings. If you ran a Clay agent to get employee count and company description 25 times for the same company, you’d waste a ton of OpenAI tokens. Instead, we send all qualified jobs to table two and use deduplication settings to ensure each company only appears once. This means you’re enriching each company exactly one time, regardless of how many jobs they have posted.

We also added a clever run condition: the employee count check happens first (it’s cheap, just outputting a number), and only if the company meets the size criteria do we scrape the company description. Why waste credits on companies that are too big anyway?

Additional Smart Filtering Techniques

Once we have company descriptions, we use more formulas to check for cyber security keywords. This might seem oddly specific, but there’s a reason: cyber security companies and their employees tend to be very aware of email deliverability issues. If they mark your emails as spam (which they’re more likely to do if your outreach isn’t perfectly targeted), it can harm your mailbox health faster than other industries.

We also verify that companies aren’t recruitment agencies by analyzing their descriptions—another layer of filtering that happens after the basic company data is enriched but before we invest in finding people.

Getting Clean Job Data

By table three, we have a pristine list of jobs at qualified companies only. Every job in this table has passed through multiple validation layers, and we’re deduplicating on the job application URL to ensure the same posting doesn’t come through twice.

One challenge we’ve faced in 2025: LinkedIn’s anti-scraping measures have made it much harder to pull job descriptions directly. We work around this by first using Clay agent to check if a job post is still accepting applications. If it’s closed, we don’t enrich further. If it’s open, we use Zenrows to get the job description reliably.

Finding The Perfect Decision Makers

This is where the workflow gets really sophisticated. Remember, the client only wants to reach out to two people per company, and they want them to be the right two people.

First, we check if there’s a recruiter attached to the job posting (this sometimes happens with LinkedIn jobs). If yes, that’s automatically one of our two contacts—they’re a stakeholder in the hiring process.

Next, we analyze the job description to see if it mentions a reporting line. Often job posts will say something like “this role reports to the QA Manager” or “you’ll be part of the Innovation team.” When we find this information, we use Clay agent to locate that specific person at the company. If the reporting line person is different from the recruiter, great—we potentially have two excellent contacts already.

But what if we still need more contacts? We move to plan B: finding HR people.

The HR People Selection Process

Table five runs a find people search specifically for HR, talent acquisition, and recruitment roles at each qualified company. But not all HR people are created equal for outreach purposes. We need to select the best ones.

Here’s how we score them:

  • Recruitment role keywords: Does their title include words like “recruiter,” “recruiting,” “recruitment,” or “talent acquisition”?
  • LinkedIn activity: Have they recently posted or shared content about this specific job opening? We check their recent posts and verify the dates align with when the job was posted.
  • Location match score: For small local businesses with multiple offices, we assign a score from 0-3 based on how closely the person’s location matches the job location. A score of 3 means they’re in the exact same city.

We then use AI to analyze all the HR people found and select the top one or two based on these criteria, depending on how many contacts we still need.

Senior Leadership As Backup

If we didn’t find enough HR people, we move to finding senior leadership—CEOs, founders, owners, managing directors. We run the same selection process: checking for LinkedIn posts about the job and calculating location match scores.

The Website Scraping Wildcard

Here’s a really powerful technique for local businesses: many small companies (think roofing companies, local contractors, small professional services firms) don’t have their leadership on LinkedIn at all. In those cases, we use Clay agent to scrape their website, find the “Meet the Team” or “About Us” page, and extract names of relevant people—as long as they’re in the right location.

This catches decision makers who would be completely invisible using LinkedIn-only approaches.

The Final Enrichment Table

By table 10, we have a carefully curated list of decision makers. Each company has at most two contacts, and those contacts were selected based on multiple quality signals:

  • Recruiters attached to job postings
  • Reporting line managers mentioned in job descriptions
  • HR people who posted about the job or have the best location match
  • Senior leadership who are geographically relevant
  • Website-found contacts who might not be on LinkedIn

At this stage, we enrich with email addresses, validate those emails, generate personalization, and add them to an outreach campaign using SmartLead.

Key Takeaways From This Workflow

Building this workbook required translating years of manual processes and institutional knowledge into an automated system. Here are the principles that made it work:

1. Use formulas before AI whenever possible. Formula-based filtering costs nothing and can eliminate huge volumes of irrelevant data before you spend on enrichments.

2. Structure your tables to avoid duplicate enrichments. By deduplicating companies early and sending jobs to a separate qualification table, we avoided enriching the same company multiple times.

3. Layer your qualification criteria. Start with cheap checks (employee count), then move to more expensive ones (company description) only for records that passed the first gates.

4. Use multiple signals to identify decision makers. Don’t just grab any two people—look for recruiters on the job post, reporting lines mentioned in descriptions, HR people who posted about the role, and location matches for local businesses.

5. Don’t rely solely on LinkedIn. Website scraping can find decision makers who are invisible on social media, especially for smaller local companies.

The Result: Five VAs Replaced

This workflow now processes thousands of jobs per day, qualifies companies based on multiple criteria, and identifies the best decision makers to contact—all with precision that matches (and in many ways exceeds) what five virtual assistants were doing manually.

The client gets higher quality leads, faster turnaround times, and dramatically lower operational costs. And perhaps most importantly, the process is now documented, consistent, and scalable in ways that manual processes simply cannot be.

If you’re doing any kind of outbound prospecting that starts with job postings, hiring signals, or needs to identify specific decision makers at companies, hopefully this breakdown gives you ideas for what’s possible when you combine Clay’s powerful features with thoughtful workflow design.

Want help automating your lead generation? Book a call