Hiring Gap Bridge Offer Scorer avatar

Hiring Gap Bridge Offer Scorer

Pricing

Pay per usage

Go to Apify Store
Hiring Gap Bridge Offer Scorer

Hiring Gap Bridge Offer Scorer

Turn job-post rows into scored hiring-gap buying signals, bridge-offer angles, and CRM-ready outreach hooks.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Wit Nomad

Wit Nomad

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

4 days ago

Last modified

Share

Turn job-post rows into scored hiring-gap buying signals, bridge-offer angles, and CRM-ready outreach hooks.

This Actor is intentionally ingest-first. It does not scrape job boards in v0.1. Bring rows from existing Apify job scrapers, CSV exports, Clay/Airtable/Sheets exports, or manually collected job posts. The Actor normalizes, deduplicates, scores, and adds sales context.

Who it is for

  • B2B agencies using job postings as buying-intent signals.
  • RevOps / Salesforce / HubSpot consultants looking for timely accounts.
  • Staffing, fractional, and implementation teams that sell a short-term bridge while a role is open.
  • GTM teams that already scrape job posts but need CRM-ready prioritization and outreach context.

Example use cases

  • Score job posts from existing Apify job scrapers before importing accounts into a CRM.
  • Find companies hiring for roles your agency can temporarily bridge while recruiting continues.
  • Detect tool mentions like Salesforce, HubSpot, Outreach, or your custom keywords inside job descriptions.
  • Turn a job post into a short, evidence-backed outreach hook for sales development.
  • Prioritize noisy job-post exports by urgency, seniority, department, and tool-stack fit.

Input

Required:

  • mode: must be items.
  • items: non-empty array of job-post-like objects.

Optional:

  • serviceProfile: what you sell, e.g. fractional RevOps team.
  • targetRoles: role/function terms that indicate fit.
  • toolKeywords: tools, platforms, or competitors to detect in titles/descriptions.
  • maxItems: cap input rows. Defaults to 500; maximum 5000.

Common input row fields:

  • companyName, employer, or company.name
  • domain, companyWebsite, website, or company.website
  • jobTitle, title, or position
  • jobUrl, url, or applyUrl
  • postedAt, datePosted, or createdAt
  • location, description, source

Example:

{
"mode": "items",
"serviceProfile": "fractional RevOps team",
"targetRoles": ["Revenue Operations", "Sales Operations", "Salesforce"],
"toolKeywords": ["Salesforce", "HubSpot", "Outreach"],
"items": [
{
"companyName": "Northstar CRM",
"domain": "northstarcrm.com",
"jobTitle": "Senior Salesforce Revenue Operations Manager",
"jobUrl": "https://jobs.ashbyhq.com/northstar/sr-revops",
"postedAt": "2026-07-01",
"description": "Own Salesforce, HubSpot, attribution workflows, pipeline reporting, and urgent GTM automation projects while we scale the sales team."
}
]
}

Output

Each output row includes:

  • Identity: dedupeKey, companyName, domain, jobTitle, jobUrl, postedAt, location, source
  • Classification: department, seniority, detectedTools, signalTypes
  • Scoring: opportunityScore, scoreReasons, urgencyLabel, warnings
  • Sales context: buyerPersona, bridgeOfferAngle, outreachHook, vacancyCostFrame, evidenceSnippets
  • Metadata: scrapedAt

Example output fields:

{
"dedupeKey": "job:northstarcrm.com|senior-salesforce-revenue-operations-manager",
"companyName": "Northstar CRM",
"domain": "northstarcrm.com",
"jobTitle": "Senior Salesforce Revenue Operations Manager",
"detectedTools": ["Salesforce", "HubSpot"],
"signalTypes": ["target_role_match", "seniority_signal", "tool_or_stack_signal", "urgency_signal"],
"opportunityScore": 80,
"urgencyLabel": "hot",
"buyerPersona": "Sales / Revenue leader",
"bridgeOfferAngle": "Offer a fractional RevOps team to bridge the Revenue Operations gap while the role is still open, using the job post as evidence of current priorities."
}

Scoring v0.1

The scoring is deterministic and transparent:

  • target role/function match: +20
  • seniority signal: +15
  • detected tool/stack keyword: +15
  • posted date present: +10
  • domain present: +10
  • urgency/ownership/implementation language: +10
  • missing domain: -10

Scores are clamped to 0..100.

Urgency labels:

  • hot: 75+
  • warm: 50-74
  • watch: 25-49
  • low: below 25

Local development

npm install
npm test
node src/main.js --input ../../samples/hiring-gap/hiring-gap-bridge-offer-scorer-input.json --output ../../samples/hiring-gap/hiring-gap-bridge-offer-scorer-output.json
apify validate-schema
apify run

Limitations

  • v0.1 supports items mode only. It does not fetch job URLs or scrape job boards.
  • Generated copy is deterministic template text, not personalized human review.
  • It does not find emails or contacts.
  • It does not guarantee replies, sales, revenue, or hiring outcomes.
  • Treat job posts as signals to verify, not proof of budget authority.

Next possible upgrades

  • datasetId input for direct Apify Dataset chaining.
  • Role packs for RevOps, Salesforce, recruiting, AI automation, security, and agencies.
  • Multi-post company aggregation: detect hiring spikes across related roles.
  • Optional lightweight URL fetch only after items mode proves useful.