The moment it happens
Announce new Lever candidates in Slack
Your hiring channel gets each new candidate's name and the role they applied for as soon as they come in.
- Runs
- The moment it happens
- Apps
- Lever
- AI
- Not needed
- Access
- opportunities read
Send this to your assistant
Create a ClickRuntime automation: when a new candidate is added in Lever, post their name, the posting they applied to and a link to their profile in #recruiting on Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Recruiters know that good candidates get several interviews lined up within days. In Lever, a new applicant lands in the pipeline silently, and a hiring manager who checks the list on Friday may find a strong engineer who applied on Monday and has already been snapped up. Slow first contact is a major reason companies lose candidates they would have hired.
When Lever records a new opportunity, it sends an event to ClickRuntime. The automation fetches the full opportunity, including the candidate's name, the role they applied for and the source, and posts it to Slack. The hiring team sees each applicant as they arrive, in a channel dedicated to that role or to recruiting overall.
Startups with a lean recruiting function and hiring managers who review candidates themselves tend to use it most.
What you get out of it
Strong candidates are contacted quickly
The first company to reply often wins the interview. A Slack message when someone applies lets a recruiter send a screening invite the same day, before competitors have even opened the file.
Hiring managers stay close to the pipeline
A manager who sees each name in Slack feels involved without logging in to Lever. They can flag someone promising or reject an obvious mismatch early, which keeps the process moving.
Source quality becomes visible
The source appears with each candidate, so the team learns whether referrals, job boards or a careers page bring the best applicants. That guides where to spend the recruiting budget.
Nobody assumes someone else saw it
When the team sees the same notice, one person can claim the screening in a thread. That avoids duplicate outreach and the equally common case of no outreach at all.
Bottlenecks in review are exposed
If applicants arrive daily but wait a week for any reaction, the channel makes the delay obvious. It supports a conversation about review capacity with real examples. It helps managers make the case for more screening time.
How it works
What happens, step by step
When a new candidate is added in Lever, Lever tells ClickRuntime straight away.
ClickRuntime looks up the role they applied for.
A message with the candidate's name, the role and a link to their profile is posted to your Slack hiring channel.
Before it runs live
- Connect Lever
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Lever steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, http, notify
def lever(path, **params):
resp = http.get(f"https://api.lever.co/v1/{path}",
auth=(credentials.secret("LEVER_API_KEY"), ""), params=params)
resp.raise_for_status()
return resp.json()["data"]
@on_event
def handle(event):
payload = event.json or {}
if payload.get("event") != "applicationCreated":
return {"posted": False}
opp = lever(f"opportunities/{payload['data']['opportunityId']}", expand="applications")
posting = next((a.get("posting") for a in opp.get("applications", []) if a.get("posting")), None)
title = lever(f"postings/{posting}")["text"] if posting else "no posting"
notify.slack(f"New candidate: {opp['name']} applied to {title}\n{opp['urls']['show']}", channel="#recruiting")
return {"posted": True}FAQ
Common questions
Can I post only applicants for specific roles?
Does the message include the candidate's resume?
Is candidate data safe in a Slack channel?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Hear when a candidate reaches Offer in Lever
You get an email the moment a candidate moves into the stage you care about.
See how it worksFind candidates stuck in your Lever pipeline
Every Monday you get a list of active candidates with no activity in the last two weeks.
See how it worksPost new orders and sign-ups to Slack
When something happens in your shop, app or form, the details land in the right channel straight away.
See how it worksKeep exploring
Set up “Announce new Lever candidates in Slack” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
