Nudge interviewers on Slack for missing Greenhouse scorecards

Every weekday at 10am, DM each interviewer on Slack about the interviews they still owe a scorecard for, with the candidate, role, and a direct link.

Deterministic Code
GreenhouseSlackHR & PeopleOperationsNotifications & Alerts
PromptCreate

Every weekday at 10am, nudge interviewers on Slack for scorecards they still owe in Greenhouse. This is deterministic filter-and-match logic — no drafting or reasoning — so build it as a code workflow.

Trigger: cron, Monday through Friday at 10am in the workspace's local timezone.

Step 1. Call Greenhouse List Scheduled Interviews and keep interviews whose end time falls in the last three business days (skip weekends when computing the window).

Step 2. For each interview from step 1, call Greenhouse List Scorecards filtered by application to fetch scorecards attached to that interview. Match scorecards to interviews by the interview_id field on each scorecard. A scorecard only counts as complete when submitted_at is not null — interviews with no matching scorecard, or with scorecards where submitted_at is null, are the ones that still owe feedback.

Step 3. For each unsubmitted scorecard, read the interviewer_ids on the scheduled interview and call Greenhouse List Users to resolve each interviewer's email address and display name.

Step 4. Skip any interviewer this workflow already messaged in the last 24 hours. Track that in workflow state keyed by Greenhouse user id, and record the timestamp right after a successful Slack send.

Step 5. For each remaining interviewer, call Slack Open a Conversation with their email to get a DM channel id, then call Slack Send a Message to that channel. Include the candidate name, the role, the interview date, and a direct link to submit the scorecard in Greenhouse (the app.greenhouse.io scorecard URL that jumps straight to the unsubmitted scorecard). Keep the message short and friendly.

Group multiple owed scorecards for the same interviewer into a single DM rather than sending one message per scorecard.

Additional information

What does this prompt do?
  • Every weekday morning, finds interviews from the last three business days that still don't have a submitted scorecard.
  • Looks up each interviewer's email in Greenhouse and sends them a Slack DM with the candidate name, role, interview date, and a direct link to submit their scorecard.
  • Skips anyone who already got a nudge in the past 24 hours so no one gets double-pinged.
  • Runs Monday to Friday at 10am, so scorecards land while the interview is still fresh.
What do I need to use this?
  • A Greenhouse account with permission to read scheduled interviews, scorecards, and users.
  • A Slack workspace connected to the same team as your interviewers, so we can DM them by email.
How can I customize it?
  • Change the schedule (default: Monday to Friday at 10am) to match your team's rhythm, for example 4pm instead of morning.
  • Widen or narrow the lookback window from the default three business days.
  • Adjust the message wording and the cooldown so a slow interviewer only gets nudged once a day, once every two days, or every morning until they submit.

Frequently asked questions

How is this different from Greenhouse's built-in scorecard reminder email?
Greenhouse sends a daily reminder email that quietly stops after ten business days, and most interviewers admit they filter or ignore those emails. A direct Slack message from a bot lands in the same place people already reply to their teammates, which is why recruiting-ops teams consistently see much higher scorecard completion rates after moving the nudge to Slack.
How does it match Greenhouse interviewers to Slack accounts?
It pulls the interviewer's email address from Greenhouse and uses that email to open a DM channel in Slack. As long as the interviewer uses the same email address in both tools, the message reaches them. If someone uses different addresses, add an override list when you set the workflow up.
Will interviewers get spammed if they keep forgetting?
No. The workflow remembers who it messaged in the last 24 hours and skips them the next time it runs. You can tighten or loosen that cooldown when you configure the workflow.
Which interviews does it look at?
By default, interviews that ended in the last three business days. That's long enough to catch someone who forgot right after the interview but short enough to keep the reminder relevant. Both ends of the window are configurable.
Does the message include a link to submit the scorecard?
Yes. Every DM contains the candidate name, role, interview date, and a direct link that opens the correct scorecard in Greenhouse, so the interviewer can submit it in one click.

Stop chasing interviewers for scorecards.

Let a Slack DM handle the follow-up so hiring managers get feedback while the interview is still fresh.