Auto-fill salary bands for new hiring requisitions

When a new role lands in your Airtable hiring tracker, fetch a fresh salary range, write it back to the record, and ping recruiting in Slack.

Deterministic Code
AirtableJob Salary DataSlack BotHR & PeopleOperationsData SyncNotifications & Alerts
PromptCreate

Build a code workflow that auto-fills a suggested salary band on every new role added to our hiring tracker in Airtable, so we never ship a posting without one (pay transparency laws in CA, NY, CO, WA, IL and similar require it).

Trigger: Airtable poll trigger, event type 'new_record', watching our Open Reqs table. The poll payload gives me the new record's fields, including Job Title and Location.

Step 1. Read Job Title and Location off the new record from the trigger payload. If either is missing or blank, skip the rest of the workflow gracefully.

Step 2. Call Job Salary Data 'Get Job Salary Estimate' with that Job Title and Location. The response is an envelope with a data[] array of up to three publisher estimates; take the first entry (typically Glassdoor) and pull out min_salary, median_salary, max_salary, salary_currency, salary_period, publisher_name, and confidence.

Step 3. Format a single string for the Suggested Salary Band field that looks like: "$120,000 min / $145,000 median / $170,000 max, source: Glassdoor, confidence: CONFIDENT". Use thousands separators and the currency from the response. Also keep the raw confidence value to write into a separate Benchmark Confidence field.

Step 4. Call Airtable 'Update Record' (PATCH) on the same record id, in the same base and table the trigger fired from, setting Suggested Salary Band to the formatted string and Benchmark Confidence to the raw confidence value.

Step 5. Call Slack Bot 'Send a Message' to a hiring channel (treat the channel as a configurable input, defaulting to #recruiting) with a short note like: "Fresh salary band ready for review on <Job Title> (<Location>): $120k / $145k / $170k, confidence CONFIDENT. Check the Open Reqs row in Airtable." Use Slack mrkdwn formatting.

This is a deterministic pipeline with no judgement calls, so a code workflow is the right shape. Surface base id, table id, the field names (Job Title, Location, Suggested Salary Band, Benchmark Confidence), and the Slack channel as configuration so a different team can repoint it without editing code.

What does this prompt do?

  • Watches your hiring requisitions table in Airtable for new roles as they are added.
  • Pulls a current salary estimate for the role's title and location, including a low, median, and high figure plus a confidence rating.
  • Writes a clean Suggested Salary Band and Benchmark Confidence back onto the same record so the hiring manager sees it inline.
  • Posts a short heads-up in your recruiting Slack channel so someone can review and approve the band before the posting goes live.

What do I need to use this?

  • An Airtable base with an Open Reqs table that has at least a Job Title field and a Location field, plus empty Suggested Salary Band and Benchmark Confidence fields to write into.
  • A salary data account so we can look up benchmark pay by title and city.
  • A Slack workspace and the name of the channel where your recruiting team wants the notification to land.

How can I customize it?

  • Point it at a different Airtable table or rename the fields it reads from and writes to (for example, swap Location for City or Office).
  • Change the Slack channel, the message wording, or who gets tagged when a fresh band is ready for review.
  • Tweak how the band is formatted in the record, for example showing only the median, or including the data source and confidence level.

FAQs

Why do I need this if I already have a salary philosophy doc?
Pay transparency laws in California, New York, Colorado, Washington, Illinois and other jurisdictions require a range on every public posting. A fresh market benchmark per role saves recruiters from copy-pasting from Levels.fyi or guessing, and gives the hiring manager something concrete to react to.
Does this overwrite a band I already set manually?
It writes whatever you ask it to write. If you want it to skip records that already have a Suggested Salary Band, that is a small tweak you can make when you set it up.
What if the salary lookup has low confidence for a niche role?
The confidence rating is written into its own field on the record, so a recruiter can spot weak benchmarks at a glance and override them before posting.
Can I send the notification somewhere other than Slack?
Yes. The Slack message is just the last step. You can swap it for an email, a Teams message, or skip the notification entirely if you only want the record updated.
Does this work with my existing Airtable hiring tracker?
As long as the table has a Job Title and Location on each row, and somewhere to write the band back to, you can wire it up to whatever base and table you already use.

Related templates

A brand asset library your marketing team actually searches

Every logo, photo, video cut and ad export in one searchable grid, with previews, campaign tags and rights expiry dates at a glance.

General Input Storage
General Input Database
JigsawStack
+1
App
Turn Mailjet email clicks into ranked HubSpot follow-ups

Twice a day we spot the people clicking your pricing and demo pages, create a follow-up task for their owner, and post a ranked recap to Slack.

Mailjet
HubSpot
Slack Bot
Agentic Task
Clean out the Looker dashboards and Looks nobody opens

One board showing every dashboard and Look with its folder, owner and favorite count, so you can find dead content and retire it safely.

Looker
Slack Bot
App
LiveKit live operations console for room moderation

Watch every live room on one screen, remove disruptive guests, start recordings and end stuck sessions without anyone opening a terminal.

LiveKit
Slack Bot
General Input Database
App
Wake up dormant Keap leads with a researched reason

Every Monday we find leads who never bought, research a real reason to reach out, and send a short personal email instead of another check in.

Keap
Slack Bot
Agentic Task
LiveChat coverage board for planning next week's shifts

See the exact hours your chat queue backs up and customers give up waiting, then plan next week's shifts before it happens again.

LiveChat
Slack Bot
General Input Database
App

Stop shipping job postings without a salary range.

Connect Airtable, the salary data source, and Slack once, and every new requisition gets a fresh benchmark band the moment it lands.