Phone screen new Greenhouse applicants with an AI voice agent

Every weekday at 9am, an AI voice agent calls your new applicants, scores their answers against the role, and posts a ranked shortlist to Slack.

Agentic Task
Bland AIGreenhouseSlack BotHR & PeopleDaily DigestsData Sync
PromptCreate

Every weekday at 9am, phone screen my new Greenhouse applicants with a Bland AI voice agent so my recruiters only spend time on the ones worth reading.

Start by pulling applications with Greenhouse List Applications, filtered to those created since the previous run. Narrow them to the high volume roles I care about, which I will name specifically (for example Warehouse Associate and Delivery Driver). Ignore applications to any other job.

For each applicant in scope, use Greenhouse Get Candidate to pull their phone number, then use Greenhouse Get Candidate Activity Feed to check whether a screening note already exists on their profile. If one does, skip them so nobody gets called twice. This dedupe check is what makes repeat runs safe. Normalize every phone number to E.164 format (for example +14155551234) before dialing, because Bland AI rejects numbers in any other format, and drop anyone whose number is missing or unusable into a list I can review.

For each remaining candidate, dispatch a Bland AI Send Call with a task prompt built from that specific job's must have criteria: shift availability, work authorization, notice period, and salary expectation. The exact questions should come from the role the person applied to, not a single generic script. Have the agent open the call by telling the candidate they are speaking with an automated assistant. Dispatch the call with recording enabled so a transcript exists afterward. Stagger the dispatches so I never place two calls to the same number inside Bland's ten second cooldown, which would otherwise be rejected.

Poll Bland AI Get Call Details for each call until it reaches a terminal state, then use Bland AI Get Corrected Transcript for a cleaner read of what was actually said. Cap the total time spent waiting across the run: any call still in progress when that cap is reached should be left alone and simply picked up on the next morning's run. Do not use Bland's per question call analysis endpoint, since it is billed per call; score the transcript yourself instead.

Score each completed call against that role's criteria and write the result back to the candidate with Greenhouse Add Candidate Note. The note should contain the score, a short summary of how the call went, and the candidate's key answers on each criterion, so a recruiter can read the profile alone and know what happened.

Finish with one Slack digest using Slack Bot Send a Message to the recruiting channel I name. Rank candidates by score, highest first, with a one line reason for each. Group no answers and voicemails separately at the bottom so they read as unreached rather than rejected, and note how many calls were deferred to tomorrow's run.

What does this prompt do?

  • Each weekday morning, finds everyone who applied to your high volume roles since the last run and calls them with an AI voice agent
  • Asks the questions that actually decide the hire: shift availability, work authorization, notice period, and salary expectation
  • Scores every completed call against that role's criteria and writes the score, a short summary, and the candidate's answers straight onto their Greenhouse profile
  • Posts one Slack digest ranking candidates best to worst, with people who did not pick up grouped separately at the bottom

What do I need to use this?

  • A Greenhouse account with the roles you want screened
  • A Bland AI account for placing the calls
  • A Slack workspace and a channel for the daily digest
  • The must have criteria for each role you want screened, so the agent knows what to ask and how to score

How can I customize it?

  • Pick which roles get screened. High volume jobs like warehouse, delivery, or support are the usual fit, and you can add or remove roles at any time
  • Change the questions and how they are weighted per role, so a shift availability answer can count for more than salary expectation
  • Move the call time, change which Slack channel gets the digest, or adjust how long the workflow waits before leaving a call for tomorrow
  • Adjust the opening disclosure and recording notice. Candidates should be told at the start that they are speaking with an automated assistant, and call recording consent rules vary by region, so check what applies where you hire

FAQs

Will candidates know they are talking to an AI?
Yes. The agent opens by telling each candidate they are speaking with an automated assistant. That disclosure is part of the prompt, and you can reword it to match how your team talks about it.
What happens if someone does not answer?
Nothing bad. No answers and voicemails are grouped separately at the bottom of the Slack digest so they are clearly not rejections, and your recruiters can decide whether to follow up by hand.
Could the same person get called twice?
No. Before dialing, the workflow checks each candidate's Greenhouse profile for an existing screening note and skips anyone who already has one, so repeat runs are safe.
Does this replace a recruiter screen?
No, it filters. The call captures the factual answers that usually decide whether a conversation is worth having, then ranks candidates so recruiters spend their time on the strongest ones instead of dialing through a whole list.
Is there a record of what was said?
Yes. Calls are recorded, and a cleaned up transcript is used to score each candidate. The score, a short summary, and the candidate's key answers all get written back onto their Greenhouse profile.
What if a call is still going when the workflow finishes?
The workflow caps how long it waits. Any call still in progress is simply left alone and picked up on the next morning's run, so a single long call never holds up the digest.

Related templates

Share of voice dashboard for your brand and competitors

See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.

GDELT
Notion
Slack Bot
App
Approval war room for every social post awaiting sign-off

One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.

Hootsuite
Slack Bot
App
Turn champion job changes into new pipeline in Attio

Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.

Boomerang
Attio
Slack Bot
Agentic Task
Collect social post requests and schedule them in Hootsuite

Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.

Hootsuite
Slack Bot
General Input Database
App
Voice agent QA review board for your Hume EVI calls

Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.

Hume
Linear
Slack Bot
App
Clear your Guru verification backlog in one weekly app

A personal queue of every overdue Guru card, sorted by how late it is, with one-click verify, reassign, comment, and an agent that drafts the refresh for you.

Guru
Slack Bot
App

Stop dialing through a stack of applications.

Let an AI voice agent run the first screen every morning so your recruiters only read the candidates who already answered the questions that matter.