Announce new Greenhouse jobs in Slack and log referrals

Every morning, share yesterday's freshly opened Greenhouse roles in your #jobs channel and add each one to a shared referral tracker.

Agentic Task
GreenhouseSlackGoogle SheetsHR & PeopleOperationsNotifications & AlertsData Sync
PromptCreate

Every weekday at 9am workspace time, announce newly opened Greenhouse jobs to our company Slack #jobs channel and log them to a Google Sheets referral tracker so anyone can see what is open and refer someone.

Trigger: cron, daily at 9am in the workspace timezone.

Step 1: read the referral tracker first so we know what has already been announced. Use Google Sheets Get Values on the tracker's Greenhouse job id column, and hold that set of ids in memory as the dedupe list.

Step 2: fetch new roles from Greenhouse. Call Greenhouse List Jobs filtered to status = open and created_at within the previous 24 hours. Drop any job whose Greenhouse job id already appears in the dedupe list from step 1.

Step 3: for each remaining job, call Greenhouse List Job Posts (scoped to that job) to get its job posts. Each job post has both an internal and an external URL. Always use the external URL as the public referral link; the internal one only works for logged-in Greenhouse users. If a job has multiple external posts, prefer the live one; if none is live, skip that job.

Step 4: draft a friendly 3 to 4 line announcement per role. Include the job title, the department, the location (or 'Remote' if no office is set), and one sentence on why the role matters to the company. Keep the tone warm and human, like a teammate wrote it, not a bare 'Job: X posted' line. End with the external job URL so employees can share it in one click.

Step 5: post each announcement to Slack using Send a Message, targeting a configured channel such as #jobs. One message per role, in the order the jobs were opened.

Step 6: in parallel with Slack posting, append one row per new job to the Google Sheets referral tracker using Append Values. Columns, in order: Greenhouse job id, job title, department, location, opened date (from the Greenhouse created_at, formatted as YYYY-MM-DD), public job URL (the external post URL), and an empty Referred By column employees can fill in. The Greenhouse job id column is what powers the dedupe check in step 1, so it must always be written.

If no jobs opened in the previous 24 hours, or every new job is already in the tracker, do nothing and finish quietly. Do not post an empty summary.

The channel name, the referral tracker spreadsheet id, and the sheet/tab name are all configuration values that should be easy to change.

Additional information

What does this prompt do?
  • Post a friendly summary of each new Greenhouse role in your team's Slack #jobs channel every morning.
  • Add every new opening to a shared Google Sheets referral tracker with an empty 'Referred By' column your team can fill in.
  • Skip anything that has already been announced so the same role never gets posted twice.
  • Include the public-facing job link in every message so employees can share it with their network in one click.
What do I need to use this?
  • A Greenhouse account with permission to read jobs and job posts.
  • A Slack workspace and the channel where you want new jobs announced (for example #jobs).
  • A Google Sheets spreadsheet to use as the referral tracker.
How can I customize it?
  • Change the schedule, for example Mondays only or twice a week.
  • Point to a different Slack channel, or fan out to several channels at once.
  • Tweak the tone or length of the announcement to match your company voice.
  • Add or reorder columns in the referral tracker to match how your team already tracks referrals.

Frequently asked questions

How does it know which jobs are new?
It looks at Greenhouse jobs that opened in the last 24 hours and cross-checks against the referral tracker. Anything already logged in the sheet gets skipped.
What if a job gets edited or reopened, will it announce twice?
No. The workflow uses each Greenhouse job's unique id to decide what is new, so the same role never gets posted twice, even if you rename it.
Can it share a link candidates can actually apply through?
Yes. It uses the external, public-facing job post URL from Greenhouse, so the link works for anyone your employees pass it to.
Can we send announcements to more than one Slack channel?
Yes. Add any additional channels in the customization step and the workflow will post to all of them each morning.
What if no new jobs opened yesterday?
The workflow simply does nothing that day. It only posts and logs when there is something new to share, so your channel stays clean.

Turn every open role into a referral opportunity

Give your team a daily nudge so no new hire opening slips past your #jobs channel or your referral tracker.