Hand off Breezy HR new hires to BambooHR and announce them in Slack

By General Input

When a candidate moves to Hired in Breezy HR, automatically create their employee record in BambooHR and post a welcome message in Slack.

Integrations

  • Breezy HR
  • BambooHR
  • Slack

Type

Deterministic Code

Categories

  • HR & People
  • Operations

Build a code workflow that hands off new hires from Breezy HR to BambooHR and announces them in Slack, so the recruiting team never has to retype a candidate.

Trigger: a Breezy HR webhook. Use Breezy HR's Create Webhook Endpoint to register the workflow URL against my Breezy company. The webhook should be scoped to candidate events. Each incoming payload must be filtered down to candidate stage-change events where the destination stage is Hired. Match on either the stage label "Hired" (case-insensitive) or the stage id, and ignore every other event type.

Step 1: When a matching stage change arrives, call Breezy HR's Get Candidate using the company id, position id, and candidate id from the webhook payload to pull the full candidate record. Read: first name, last name, work email, phone, the position title from the parent position, and the candidate's start date if Breezy has captured one.

Step 2: Call BambooHR's Create Employee with the candidate mapped onto BambooHR's employee schema: firstName, lastName, workEmail, jobTitle, hireDate (use the Breezy start date if present, otherwise leave hireDate empty and let BambooHR default it). Capture the new employee's id from the Location header BambooHR returns, and build the BambooHR profile URL using the connected instance URL plus /employees/{id}.

Step 3: Post a welcome announcement to a configurable Slack channel using Slack's Send a Message. The message should include the new hire's full name, their role, their start date if known, a link to the candidate in Breezy HR, and a link to their new BambooHR profile. Make the target channel a workflow input so the user can pick #welcome, #people-ops, or any other channel without editing code.

Error handling: if BambooHR rejects the Create Employee call (for example a missing required field, a duplicate work email, or a permission error), do not retry blindly and do not leave a half-created employee. Instead, send a Slack message to the same configured channel that names the candidate, the Breezy candidate link, the BambooHR error message returned in the response header, and a short prompt asking a recruiter to fix the Breezy record. Skip the welcome post in that case.

Other guardrails: only fire on candidate_stage_changed events with the Hired destination; ignore notes, comments, and other stage transitions. Treat duplicate webhook deliveries as idempotent by checking whether a BambooHR employee with the same work email already exists before creating, and if one does, skip the create and just post the Slack welcome with the existing profile link.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionKajabi customer support console for member access fixes