The moment it happens
Get an email when an offer is made or someone is hired
You're told as soon as an offer is created in Ashby or a candidate is marked hired.
- Runs
- The moment it happens
- Apps
- Ashby
- AI
- Not needed
- Access
- offers read (confidential if needed)
Send this to your assistant
Create a ClickRuntime automation: email me when an offer is created in Ashby or a candidate is hired, with the candidate's name, the job and the hiring manager.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
In a hiring process, the two moments that matter most to people outside recruiting are the offer and the hire. Finance needs to budget the salary, IT needs to order a laptop, the office manager needs a desk, and the team lead wants to plan the first week. If the recruiter has to remember to tell each of them, somebody is always missed, and a new engineer arrives on Monday to find no account and no equipment.
When an offer is created or a candidate is marked as hired in Ashby, Ashby notifies ClickRuntime, and ClickRuntime puts the candidate's name, the job, the offer or hire details it receives and a link to the record into one email, and sends it to the people you list, as soon as the status changes.
People operations teams of a few people, who coordinate onboarding across several departments, will find the most value in it.
What you get out of it
Equipment and accounts are ready on day one
IT hears about a hire the moment it is recorded, which leaves days instead of hours to order hardware and create logins. New starters spend their first morning working, not waiting for a laptop.
Finance sees commitments as they are made
An offer email tells finance a new salary may be coming. Headcount forecasts and cash planning use up-to-date numbers instead of a list assembled at month end from recruiter memory.
Hiring managers stop chasing status
A manager who wonders whether the offer went out can check their inbox instead of messaging the recruiter. That removes a whole category of interruptions during busy hiring weeks. The answer is already in the inbox.
Handoffs do not rely on one person
If the recruiter is ill or on holiday, the notifications still reach everyone on the list. Onboarding does not stall because one person was the only link between hiring and the rest.
A dated trail for audits and reviews
Each email records when an offer was created and when a hire was confirmed. When someone asks how long offers took to close, the timestamps give a straight answer. That evidence helps HR when processes are reviewed.
How it works
What happens, step by step
When an offer is created in Ashby, or a candidate is marked as hired, Ashby tells ClickRuntime straight away.
ClickRuntime picks out the candidate, the job and the hiring manager.
You get an email saying what happened and to whom.
Before it runs live
- Connect Ashby
- 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 Ashby steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, http, notify
def ashby(endpoint, body):
resp = http.post(f"https://api.ashbyhq.com/{endpoint}", auth=(credentials.secret("ASHBY_API_KEY"), ""), json=body)
resp.raise_for_status()
return resp.json()["results"]
@on_event
def handle(event):
payload = event.json or {}
action = payload.get("action")
if action not in ("offerCreate", "candidateHire"):
return {"sent": False}
data = payload["data"]
app_id = data["offer"]["applicationId"] if action == "offerCreate" else data["application"]["id"]
app = ashby("application.info", {"applicationId": app_id})
manager = next((m["firstName"] + " " + m["lastName"] for m in app.get("hiringTeam", [])
if m.get("role") == "Hiring Manager"), "not set")
what = "Offer created" if action == "offerCreate" else "Hired"
notify.email_me(f"{what}: {app['candidate']['name']}",
f"{what}: {app['candidate']['name']}\nJob: {app['job']['title']}\nHiring manager: {manager}")
return {"sent": True, "action": action}FAQ
Common questions
What details are in the email?
Who should receive these emails?
Does an offer being created mean it was accepted?
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
See new Ashby applications in Slack
Each submitted application shows up in Slack with the candidate and job straight away.
See how it worksTell hiring managers when candidates move stage
Hiring managers see in Slack when a candidate reaches the stages they care about.
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 “Get an email when an offer is made or someone is hired” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
