Daily pay transparency check for new Ashby job postings

By General Input

Every weekday at 8am ET, compare yesterday's new Ashby postings to live market pay and drop a compliance digest in your recruiting Slack channel.

Integrations

  • Ashby
  • Job Salary Data
  • Slack

Type

Agentic Task

Categories

  • HR & People
  • Operations

Build me an agent workflow that keeps my recruiting team ahead of pay transparency laws by sanity-checking every new Ashby job posting against live market pay.

Trigger: cron. Run every weekday (Monday through Friday) at 8:00am America/New_York.

On each run, use Ashby's List Job Postings to pull every job posting that was created or updated in the last 24 hours. If a posting from the list is missing the fields you need (title, primary location, compensation range, and a direct link back to the posting), fall back to Ashby's Get Job Posting Info for that one posting to fill in the gaps.

For each posting, normalize the free-text job title into a clean canonical role (drop seniority suffixes if needed, expand abbreviations) and identify the posting's primary city and state or country. Then call job-salary-data's Get Job Salary Estimate with that canonical title and location to fetch the market min, median, and max.

Compare the posted compensation band against the market band and assign one of four verdicts:

- compliant: the posted range overlaps the market band in a reasonable way - low: the posted max is meaningfully below the market median - high: the posted min is meaningfully above the market max - unpriced: the posting has no compensation range at all

For anything that isn't compliant, generate a recommended range using the market min and max (rounded to sensible numbers). If the salary estimate confidence is low or the location isn't recognized, mark the row as low confidence rather than forcing a verdict.

Finish by sending exactly one Slack message via Slack's Send a Message to the #recruiting channel. The message should be a short digest with one row per posting containing: role title, city, posted range (or "missing"), market band (min–median–max), verdict, recommended range if off-market, and a direct link back to the Ashby posting. Sort rows so unpriced and low come first. If there were zero new or updated postings in the last 24 hours, send a one-line message saying so instead of a table.

Do not edit anything in Ashby. This workflow is read-only against Ashby; recruiters update the postings themselves using the links in the digest.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionKajabi customer support console for member access fixes