Oct 19, 2023
Blue ocean
Read Time Icon - Portfolio Z Webflow Template
 min read

From listings to leads - deciphering job ads and extracting gold nuggets.

A lot of folks skim through job postings and I don't think they fully appreciate the potential that is in front of them. Sure if you're evaluating them from the perspective of whether to apply or not, you take on a different pair of glasses but I'm talking more in the context of sales and (ABM) marketing. When I stumble upon an interesting one, I'm like a kid in a candy store, thinking, "Whoa, this is a goldmine!" because it's not just about who's hiring and for what.

These listings can spill the beans on company strategy, emerging industry trends, and even the skills that are hot right now. So, while most people might just see a call for resumes, I'm diving deep, decoding the what's beneath the obvious. It's way more than just hiring stuff, trust me.

Read between the lines you must.

Think about it: shelling out cash for salaries? It's like one of the biggest money-eaters for most businesses. Sure, it swings a lot depending on where you're looking, but it ain't wild to see it munching up to 30% (or even more) of the total budget. So, when a company drops a job ad out there, it's like them waving a flag saying, "Hey, we've got demands over here (and budget)!" 

And if you can crack the code, read between the lines, and get your hands on some sweet, structured data? Boom! That's your cue. There's a good chance you could be selling them something they really need. Because, let's be real, if they're hiring, they're also buying.

Sniffing out tech stack & jobs-to-be-done

Being knee-deep in the SaaS world, there's two things I'm hunting for in these job ads: 

  1. What's their tech stack? As in, what tools are they using?
  2. What's the gigs they need doing, the so-called "jobs-to-be-done"?

This could be for the new recruit they're scouting or, hey, maybe there's a product or service angle we could slide in with. Because, let's break it down: there's some stuff they need handled, some demands that gotta be met. Sure, our shiny product ain’t about to replace a new hire, but all the details in the job ad tell me a great deal about what they expect from this newbie and his or her work buddies in the same department. Man, it’s like they’re handing over a cheat sheet on whether they'd make a juicy lead.

And, real talk? People aren't out here wanting a quarter-inch drill. Nah, they're chasing after that perfect quarter-inch hole. And the twist? They don't really care about the 'how' too much IMHO – they just want the end game, that hole in the wall. The 'how' is where we come in, and those job ads? They could be our golden tickets.

Here's an example of the structured data we can get out of job ads

What's under the hood?

Alright, so here's the lowdown on how we can make that happen. I've whipped up 4 slick workflows over at make.com (used to be called Integromat) that take care of all of this. Let's dive in: 

Step 1 - Building the query

With a single button click, we set the whole shebang in motion. We kick things off in a Google Sheet, scribbling down our query. It builds that link from keyword and location and zips it straight over to workflow numero uno through a fancy little Apps Script (which sends a webhook to Integromat with a couple of params).

Query builder inside the Google Sheet

Step 2 - Getting the first listings

Now, I won't bore you with the nitty-gritty, but in a nutshell: this first workflow slurps up all those listings from the first 'overview' page and stores them in a temporary data store inside of Integromat. This way we don't have to pull data from the Google Sheet anymore.

Workflow #1 - grabbing listings on page 1 and storing them in an internal data store

Step 2 - Pagination

We then hand the baton to workflow number two, which handles pagination (clicks the next button) and collects those listings until the button no longer appears. The last module either calls the initial webhook again (looping) or it sets workflow number 3 in motion if we've reached the last page. Needless to say all collected listings are stored in our internal data store.

Workflow #2 - going through each page

Step 3 - Getting the details from each job ad

This bad boy burrows deep into each ad, yanking out the raw text that will later on give us all the spicy details – you know, the tech stack, jobs-to-be-done, domains, all these gems. We're grabbing the listings that are stored in our data store and go through them one-by-one. We're extracting the job description as one big block of text for now and writing them back into the internal data store.

Workflow #3 - extracting the details from each job ad

Step 4 - Structured data extraction

And to wrap it all up, workflow 4 swoops in like a pro housekeeper. It grabs the actual job description (the big text block) from the data store and pounds it hard through the OpenAI meat grinder. This one consists of (currently) one function that is instructed to extract the relevant information from the text block. Think of this like an intelligent text parser that will give us what we are looking for in JSON format. The rest of this workflow is essentially just a bunch of error handlers and plopping the data right back into our Google Sheet based on different routes. We're also shooting the domains up to HubSpot (free plan) to capitalize on their free enrichment service (HubSpot Insights - read more here if you're interested). This one is a nice add-on in terms of additional data points we can get on company-side.

Voilà! Fresh, organized intel, ready for our outbound efforts! 

Workflow #4 (aka the monster)- this one extracts the structured data from the job description using OpenAI function calling
Part of the function to extract the data. As OpenAI can only one process one function it would be best to separate this into multiple functions in sequence (I think)

If video is more your thing

Here's a brief walkthrough that will give you a better idea on how these workflows work in sequence. 👇

Don't miss out.

Get notified when I publish a new blog post.
I don't send out regular newsletters so won't spam you - scout's honor! 

Thanks for subscribing.
Oops! Something went wrong - please try again.
By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.