Hourly
Get an email when someone is added
You hear about each new person in Personio within the hour, with the details you've whitelisted.
- Runs
- Hourly
- Apps
- Personio
- AI
- Not needed
- Access
- persons read; whitelisted attributes
Send this to your assistant
Create a ClickRuntime automation: every hour, check Personio for newly created employees and email me their name, department, position and hire date.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A new hire in Personio sets off a chain of preparations. Someone orders a laptop, someone creates email and Slack accounts, a manager plans the first week, and the office manager sorts out a desk. When HR creates the record on a Thursday and nobody is told, the new person arrives on Monday to find nothing ready, which is a poor first impression and a wasted day.
Every hour, Personio is checked for people created since the previous run. When a new person is found, you receive an email with their details, so the person responsible for onboarding knows a hire has been entered and can start the checklist right away. Hiring managers who want to prepare a welcome, a buddy and a first-week plan benefit as well.
It helps in companies where hiring is handled by HR but equipment, accounts and welcome are handled by other teams.
What you get out of it
A smooth first day
When IT and the manager know ahead of time, the laptop is ready and accounts exist on day one. New staff are productive sooner and feel that the company was expecting them.
Less chasing between teams
HR does not have to message IT, facilities and the manager one by one. The email goes to whoever needs it, which cuts a recurring source of small, forgotten handoffs.
More lead time to prepare
Hardware has delivery times and licenses have approval steps. Hearing about a hire the hour it is entered gives you as many days as possible to prepare. Orders placed a week early beat rush shipping every time.
Consistent onboarding
Every new record triggers the same notice, regardless of who in HR entered it. The process no longer depends on one person remembering the habit of telling others. Every hire gets the same preparation, whichever recruiter or HR admin entered them.
A record of when hires were announced
The email timestamp shows when the team learned of a hire. If a start date was missed, you can see whether the notice was late or the preparation was. That detail helps when you review how smooth your onboarding really is.
How it works
What happens, step by step
Every hour, ClickRuntime checks Personio for people added since its last check.
For each new person, you get an email with only the details you chose to share, such as department, position and hire date.
It remembers when it last checked, so each person is reported once.
Before it runs live
- Connect Personio
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 Personio steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, state, notify, report_fetched
def personio(path, **params):
auth = http.post("https://api.personio.de/v1/auth", json={
"client_id": credentials.secret("PERSONIO_CLIENT_ID"),
"client_secret": credentials.secret("PERSONIO_CLIENT_SECRET")}).json()["data"]["token"]
resp = http.get(f"https://api.personio.de/v1/{path}", headers={"Authorization": f"Bearer {auth}"}, params=params)
resp.raise_for_status()
return resp.json()["data"]
def val(emp, key):
v = emp["attributes"].get(key, {}).get("value")
return v.get("attributes", {}).get("name") if isinstance(v, dict) else v
@on_trigger
def run(event):
known = state.get("known")
staff = personio("company/employees", limit=200)
new = [e for e in staff if known is not None and val(e, "id") not in known]
report_fetched(len(new))
if known is not None and not new:
return {"summary": "Nothing new"}
for e in new:
notify.email_me(f"New employee: {val(e, 'first_name')} {val(e, 'last_name')}",
f"Department: {val(e, 'department')}\nPosition: {val(e, 'position')}\n"
f"Hire date: {(val(e, 'hire_date') or '')[:10]}")
state.set("known", [val(e, "id") for e in staff])
return {"new": len(new)}FAQ
Common questions
Does it send an email for rehires and transfers?
Who receives the email?
Does the email show personal details like salary?
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
Tell IT when someone is leaving
IT sees each new termination date in Slack, in time to plan removing access.
See how it worksPost today's absences to Slack
Each weekday morning your team sees who is off, whether on holiday or sick.
See how it worksSee new job listings as they're posted
Jobs that match your keywords show up in a Slack channel, each one only once.
See how it worksKeep exploring
Set up “Get an email when someone is added” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.