Turn Lever hires into BambooHR records and a Slack welcome

When a candidate is marked hired in Lever, we create their BambooHR employee record, announce them in Slack, and log the hire in your new starter tracker.

Deterministic Code
LeverBambooHRSlack BotGoogle SheetsHR & PeopleOperationsOnboarding AutomationData Sync
PromptCreate

When a candidate is marked hired in Lever, I want their employee record opened in BambooHR and the team told, with nobody retyping anything. Trigger this workflow from a Lever webhook on the candidate hired event, which gives me the opportunity ID of the person who was just hired.

Start by calling Lever Retrieve Opportunity for that opportunity ID, expanding the contact and the owner so I get the candidate profile and the recruiter who owns them in one call. Then call Lever Get Contact for the canonical person record and read their full name, email, and phone number. Hold on to the opportunity's Lever profile URL (the show URL on the opportunity) so I can link back to it later, and hold on to the owner's name as the recruiter.

Next call Lever List Offers on an Opportunity and take the most recent signed or accepted offer. Read the job title, the start date, and the compensation details off it. For department and location, call Lever Retrieve Posting for the posting on the hired application and use its team or department category and its location category.

Before creating anything, call BambooHR Get Employee Directory and check whether an employee with that work email already exists. If one does, skip the create step entirely and say so in the Slack message rather than creating a duplicate record.

Otherwise create the new starter with BambooHR Create Employee, mapping first name, last name, work email, job title, hire date, department, and location from the Lever record. Lever timestamps come back as Unix milliseconds, so convert the offer start date into the YYYY-MM-DD format BambooHR expects for the hire date. BambooHR returns the new employee ID in the Location header rather than in the response body, so read it from there and keep it for the announcement.

Then post a new hire announcement to the people ops channel with Slack Bot Send a Message. Include the new starter's name, job title, start date, the recruiter who owned the opportunity, a link to their Lever profile, and the new BambooHR employee ID.

Finally append a row to the new hire tracker with Google Sheets Append Values, holding candidate name, role, start date, recruiter, and the Lever profile link.

If the offer has no start date recorded yet, still create the BambooHR record and still post and log everything, but leave the hire date empty and call out the missing start date clearly in the Slack message so someone chases it. Write "Start date missing" in the start date column of the tracker row.

What does this prompt do?

  • Kicks off the moment a candidate is marked hired in Lever, so the handoff never waits on someone remembering to copy details across.
  • Reads the candidate's name, email, and phone from their Lever profile, plus job title, start date, and compensation from their signed offer.
  • Creates the new starter in BambooHR with job title, hire date, department, and location already filled in.
  • Announces the new starter in your people ops Slack channel and logs them in a shared new hire tracker, flagging anyone whose start date is still missing.

What do I need to use this?

  • A Lever account with admin access, so hire events can be sent through automatically
  • A BambooHR account that is allowed to add employees
  • A Slack workspace and the channel where your people ops team wants announcements
  • A Google Sheets new hire tracker with columns for candidate name, role, start date, recruiter, and Lever profile link

How can I customize it?

  • Change which Slack channel gets the announcement and what the welcome message says.
  • Adjust which columns the new hire tracker records, or point it at a different spreadsheet and tab.
  • Change how the department and location on the Lever job posting map to the labels your BambooHR account uses.

FAQs

What happens if the offer has no start date yet?
The employee record is still created in BambooHR with everything else filled in, and the Slack announcement calls out that the start date is missing so someone can chase it. The tracker row records it as missing too.
Which candidate details get copied into BambooHR?
First name, last name, work email, job title, hire date, department, and location, all taken from the candidate's Lever profile and their signed offer. Nobody retypes anything.
Will it create a duplicate if someone is marked hired twice?
No. Before creating anything it checks your BambooHR employee directory for that work email. If the person already exists, it skips the create step and says so in the Slack message.
Can the announcement go somewhere other than a company-wide channel?
Yes. You choose the channel, so it can go to a private people ops channel, a team channel, or anywhere your bot has been invited.
Do we have to use Google Sheets for the tracker?
The workflow appends to a Google Sheet by default, and you can point it at whichever spreadsheet and tab you already use for new starters. If you do not want a tracker at all, that step can simply be removed.

Related templates

Build a credential rotation checklist when someone leaves

When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.

1Password
Rippling
Slack Bot
+1
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Clean up HubSpot contacts from your Amazon SES suppression list

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Amazon SES
HubSpot
Slack Bot
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task

Stop retyping new hire details between Lever and BambooHR.

Set this up once and every Lever hire lands in BambooHR, Slack, and your tracker on its own.