Monday morning compensation pulse for tracked roles

Every Monday at 9am ET, refresh salary benchmarks for the roles you're hiring, log a dated snapshot to a sheet, and post a digest of movers to Slack.

Agentic Task
Job Salary DataGoogle SheetsSlackHR & PeopleOperationsAI ReportsDaily DigestsResearch & Monitoring
PromptCreate

Every Monday at 9am ET, run a compensation pulse for the roles my team is actively hiring or planning to hire for. This should be an agent workflow on a cron trigger.

Inputs the agent should accept when I configure it: the Google Sheets spreadsheet ID and tab/range that holds my tracked roles, the Slack channel ID for the digest, and a movement threshold (default 3 percent).

Step 1: Read the tracked roles from the Google Sheet using Google Sheets Get Values. The sheet has one row per role with a job title column and a location column, plus columns for the prior week's min, median, and max so the agent can compare week over week.

Step 2: For each role, call Job Salary Data Get Job Salary Estimate with the job title and location to fetch the current min, median, and max plus the confidence rating. Iterate over the data array (up to three publisher estimates) and aggregate sensibly (for example median of medians, or pick the top result) rather than blindly indexing the first element.

Step 3: Append a dated snapshot row per role back to the same sheet using Google Sheets Append Values. Each appended row should include the date, job title, location, this week's min, median, max, and confidence, so we build a clean longitudinal record over time.

Step 4: Compare this week's median to last week's median (from the prior-week columns the sheet already carries) for every role. Flag any role whose median moved by more than the configurable threshold (default 3 percent) in either direction.

Step 5: Write a short markdown digest that opens with a one-line summary, lists the movers with direction and percent change, calls out any roles that came back with low confidence, and includes a link to the underlying Google Sheet so the team can drill in.

Step 6: Send that digest to the configured Slack channel using Slack Send a Message so the comp and recruiting team sees it in their Monday morning standup feed.

Be resilient: if a single role lookup fails or the API returns a 429, log the role and skip it rather than failing the whole run. If no roles moved beyond the threshold, still post a brief 'no significant movement this week' note so the team knows the pulse ran.

Additional information

What does this prompt do?
  • Pulls your list of tracked roles (job title plus location) from a Google Sheet you control.
  • Fetches a fresh salary range and confidence rating for every role from real-time market data.
  • Appends a dated snapshot row back to the sheet so you build a longitudinal record week over week.
  • Posts a short Monday morning Slack digest that highlights roles whose median pay moved beyond your threshold and flags any low-confidence estimates.
What do I need to use this?
  • A Google account with access to the sheet that tracks your roles and a header row for the new snapshot columns.
  • A RapidAPI account subscribed to Job Salary Data (the free tier covers a small list of roles).
  • A Slack workspace and the channel where your comp or recruiting team reads Monday updates.
How can I customize it?
  • Change the cadence or send time (for example daily, biweekly, or 8am PT instead of 9am ET).
  • Tune the movement threshold (the default flags any role whose median shifts by more than 3 percent week over week).
  • Swap the Slack channel, add a second channel for leadership, or route low-confidence roles to a separate thread.

Frequently asked questions

Where does the salary data come from?
Real-time job market estimates by title and location, sourced from public job listings. Each role comes back with a minimum, median, and maximum, plus a confidence rating that tells you how solid the underlying sample is.
What does my Google Sheet need to look like?
One row per role with at least a job title column and a location column. The agent will append new dated rows beneath your existing data with this week's minimum, median, maximum, and confidence, so you keep a clean longitudinal record.
How does it decide what counts as a mover?
It compares this week's median to last week's median for the same role. Anything that moved by more than your threshold (3 percent by default) shows up in the Slack digest, with the direction and size of the change spelled out.
Can I run it more or less often than weekly?
Yes. Weekly on Monday morning is the default because comp data does not move that fast, but you can switch to daily, biweekly, or any custom schedule when you set it up.
What happens if a role returns a low confidence rating?
Low-confidence roles still get logged to the sheet, but they are called out separately in the Slack digest so your team knows to treat that number with more caution.

Stop refreshing comp benchmarks by hand every Monday.

Connect Google Sheets, Slack, and Job Salary Data once, and Geni will run this comp pulse every Monday morning for you.