Hourly
Announce new starters and flag leavers
New starters get a welcome post in Slack, and you get an email when someone's employment ends.
- Runs
- Hourly
- Apps
- BambooHR
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every hour, check BambooHR for changed employees. Post new starters to #general with their name, job title and start date, and email me when someone has a termination date set.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Joiners and leavers touch half the company, and the HR system is where the facts first appear. An employee record is created in BambooHR on Monday, but IT hears about it on Wednesday when the new person cannot log in. A termination date is entered on Friday afternoon, and nobody revokes the person's access to the shared drive until the following week. Both gaps cost something: a wasted first day for a joiner, and a security exposure for a leaver.
Every hour, ClickRuntime asks BambooHR which employees changed since its last check, looks at their hire and termination dates and posts a welcome to Slack for new starters. Terminations are sent privately to the people you name, such as IT and HR, not to the whole company.
Companies with fewer than a few hundred employees, where HR, IT and facilities are separate people, benefit most.
What you get out of it
New starters have what they need on day one
IT, facilities and managers know about a hire when the record is created. Laptops, accounts and desks can be ready, so the first morning is about the job and not about missing logins.
Access for leavers is removed promptly
A private note the moment a termination date is entered gives IT the chance to disable accounts on time. Former employees do not keep access to customer data for days after leaving.
Welcomes feel timely and personal
A public message introducing a new colleague on their first morning helps them feel noticed. Teams can reply in the thread and start building relationships before the first meeting. Employees feel noticed from the very first morning at work.
Sensitive news reaches only the right people
Hires are celebrated openly, while terminations go to a short list. That respects the privacy of departing employees and still ensures the people who must act are informed. Everyone who must act is told, and nobody else is.
HR does not become a message relay
Instead of sending the same note to IT, facilities and managers by hand, HR enters the data once. The rest follows, which reduces mistakes and forgotten steps. Fewer manual messages means fewer forgotten steps.
How it works
What happens, step by step
Every hour, ClickRuntime checks BambooHR for employee records that changed since its last check.
It looks at each one for a new hire date or a new end date.
New starters get a welcome message in your Slack channel with their role and start date.
When someone's employment is ending, you get an email instead, so access and equipment can be handled quietly.
Before it runs live
- Connect BambooHR
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 BambooHR steps into one automation
Under the hood
The code that runs this automation
from datetime import datetime, timezone
from clickruntime import on_trigger, credentials, http, state, notify, report_fetched
COMPANY = "northwind"
def bamboo(path, **params):
resp = http.get(f"https://api.bamboohr.com/api/gateway.php/{COMPANY}/v1/{path}",
auth=(credentials.secret("BAMBOOHR_API_KEY"), "x"),
headers={"Accept": "application/json"}, params=params)
resp.raise_for_status()
return resp.json()
@on_trigger
def run(event):
since = state.get("since") or datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
changed = bamboo("employees/changed/", since=since).get("employees", {})
report_fetched(len(changed))
if not changed:
return {"summary": "Nothing new"}
notified = set(state.get("notified") or [])
for emp_id in changed:
e = bamboo(f"employees/{emp_id}/", fields="displayName,jobTitle,hireDate,terminationDate,status")
if e.get("hireDate") and f"hire:{emp_id}" not in notified and e["hireDate"] >= since[:10]:
notify.slack(f"Welcome {e['displayName']}, joining as {e['jobTitle']} on {e['hireDate']}!",
channel="#general")
notified.add(f"hire:{emp_id}")
if e.get("terminationDate") and e["terminationDate"] != "0000-00-00" and f"term:{emp_id}" not in notified:
notify.email_me(f"Leaver: {e['displayName']}", f"Termination date set: {e['terminationDate']}")
notified.add(f"term:{emp_id}")
state.set("notified", sorted(notified))
state.set("since", datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ"))
return {"changed": len(changed)}FAQ
Common questions
How does it know someone is a new hire?
Where do termination notices go?
What if a hire date is entered in advance?
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
Get an email for every new time-off request
You hear about each leave request within 15 minutes, so you can approve it or plan cover.
See how it worksPost who's out today to Slack
Every weekday morning your team sees who is on leave, so nobody waits on a reply that won't come.
See how it worksGet this week's work anniversaries by email
Each Monday you know whose anniversary is coming, in time to say something.
See how it worksKeep exploring
Set up “Announce new starters and flag leavers” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
