Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to BambooHR

Scalekit connector
Open markdown

The BambooHR connector lets your AI agent act in each user's BambooHR account. Each user connects their own BambooHR API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 89 tools.

Tools
89
What they doRead · write · destructive
54 · 35 · 054 read35 write0 destructive
Users sign in with

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the BambooHR connection

    In AgentKit > Connections, create a BambooHR connection. The name you give it is the connection_name your code passes. See Configure connections.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • bamboohr_applicant_statuses_listList the applicant statuses configured for the company, both system-defined and custom.Read-only

    List Applicant Statuses

    List the applicant statuses configured for the company, both system-defined and custom. Returns each status's id, code, name, translatedName, description, enabled and manageable flags. Use bamboohr_applicant_statuses_list to get status IDs for bamboohr_application_status_update or for filtering bamboohr_applications_list.

    Inputs

    This tool takes no inputs.

  • bamboohr_application_getGet the full details of one job application.Read-only

    Get Job Application

    Get the full details of one job application. Returns applicant contact info, the job, answers to application questions, attachments metadata and status history. Use bamboohr_application_get when you have an application ID. Use bamboohr_applications_list to search applications.

    Inputs

    application_idstringrequired
    Application ID, from bamboohr_applications_list. Example: 381.
  • bamboohr_applications_listList job applications in BambooHR applicant tracking, filtered by job, status, search text or submission time.Read-only

    List Job Applications

    List job applications in BambooHR applicant tracking, filtered by job, status, search text or submission time. Returns applications with applicant name, job, status, rating and dates, plus paging details (paginationComplete, nextPageUrl). Use bamboohr_applications_list to find candidates. Use bamboohr_application_get for one application's answers and history, and bamboohr_jobs_list for job openings. Requires a user with access to hiring (ATS) settings.

    Inputs

    application_statusstring
    Comma-separated status groups: ALL, ALL_ACTIVE, NEW, ACTIVE, INACTIVE, HIRED. Example: NEW,ACTIVE.
    application_status_idstring
    Comma-separated applicant status IDs, from bamboohr_applicant_statuses_list. Example: 1,2.
    job_idinteger
    Only applications for this job opening ID, from bamboohr_jobs_list. Example: 12.
    job_status_groupsstring
    Comma-separated job status groups: ALL, DRAFT_AND_OPEN, Open, Filled, Draft, Deleted, On Hold, Canceled. Example: Open.
    new_sincestring
    Only applications submitted after this UTC time, formatted YYYY-MM-DD HH:MM:SS (not ISO 8601). Example: 2026-10-01 13:00:00.
    pageinteger
    Page number to return, starting at 1. Example: 2.
    search_stringstring
    Free-text search across applications. Example: Nguyen.
    sort_bystring
    Field to sort by. Example: created_date.one of first_namejob_titleratingphonestatuslast_updatedcreated_date
    sort_orderstring
    Sort direction. Example: DESC.one of ASCDESC
  • bamboohr_ats_locations_listList the company locations available for job openings.Read-only

    List Job Locations

    List the company locations available for job openings. Returns an array of locations with id, name, description, address, city, state, country, zipcode and phone. Use bamboohr_ats_locations_list for hiring locations. Use bamboohr_list_fields_list for the employee Location list used on employee records.

    Inputs

    This tool takes no inputs.

  • bamboohr_benefit_coverages_listList the benefit coverage levels configured in the company, such as Employee Only or Employee + Family.Read-only

    List Benefit Coverages

    List the benefit coverage levels configured in the company, such as Employee Only or Employee + Family. Returns a "Benefit Coverages" array with id, shortName, description, sortOrder and benefitPlanId. Use bamboohr_benefit_coverages_list for coverage tiers. Use bamboohr_company_benefits_list for the plans themselves. Requires benefits administration access.

    Inputs

    This tool takes no inputs.

  • bamboohr_calendar_events_listList company calendar events (approved time off, holidays, birthdays and work anniversaries) that overlap a date range.Read-only

    List Calendar Events

    List company calendar events (approved time off, holidays, birthdays and work anniversaries) that overlap a date range. Returns events sorted by start date, each with id, type, start and end dates and the related employee or holiday, plus pagination; events the caller cannot view are omitted. Use bamboohr_calendar_events_list to filter calendar entries by type, department, division or location. Use bamboohr_whos_out_list for a quick out-of-office list and bamboohr_holidays_list for holiday configuration.

    Inputs

    endstringrequired
    Inclusive end date, YYYY-MM-DD; must be on or after start and less than one year later. Example: 2026-12-31.
    startstringrequired
    Inclusive start date, YYYY-MM-DD, in the company timezone. Example: 2026-12-01.
    direct_reports_onlyboolean
    When true, only events for the caller's direct reports (holidays are unaffected). Defaults to false. Example: true.
    filterstring
    OData filter using eq, in and and. Fields: type (TIME_OFF, HOLIDAY, BIRTHDAY, ANNIVERSARY), employeeId, department, division, location. Example: type in ('TIME_OFF','HOLIDAY') and department eq 10.
    include_personsboolean
    When true, include a persons map with display data for each employee in the results. Defaults to false. Example: true.
    pageinteger
    Page number to return, starting at 1. Defaults to 1. Example: 2.
    page_sizeinteger
    Number of items per page. Defaults to 100. Example: 25.
  • bamboohr_clock_entries_listList time tracking clock entries, with OData filtering, sorting and pagination.Read-only

    List Clock Entries

    List time tracking clock entries, with OData filtering, sorting and pagination. Returns data (entries with id, employeeId, timesheetId, date, start, end, timezone, hours, note, projectId, taskId and clock-in/out sources) plus meta and _links. Use bamboohr_clock_entries_list for clock-in/clock-out entries. Use bamboohr_hour_entries_list for hour entries.

    Inputs

    filterstring
    OData filter using eq, ge, le and and. Fields: timesheetId, employeeId, start, end. Example: employeeId eq 40342 and start ge 2026-10-01T00:00:00Z.
    pageinteger
    Page number to return, starting at 1. Defaults to 1. Example: 2.
    page_sizeinteger
    Number of items per page. Defaults to 50 (minimum 10), maximum 200. Example: 25.
    sortstring
    Sort expression; fields start, end, updatedAt. Defaults to start desc. Example: start asc.
  • bamboohr_company_benefits_listList the company's active benefit plans.Read-only

    List Company Benefits

    List the company's active benefit plans. Returns companyBenefits, each with id, name, type, vendor and deduction IDs, start and end dates, catch-up flags, isDraft and editable. Use bamboohr_company_benefits_list for benefit plans. Use bamboohr_benefit_coverages_list for coverage levels.

    Inputs

    This tool takes no inputs.