View as Markdown
BambooHR icon

BambooHR ACTION

Approve Timesheet

Approve a timesheet. Only approval is supported by the API; there is no reject/deny endpoint. lastChangedAt must be the timesheet's hoursLastChangedAt value from Get Timesheet. See the documentation
  • Action
  • Writes data
  • API key
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's BambooHR account once, then configure and run Approve Timesheet from your backend or agent.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "bamboohr-approve-timesheet",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    bamboohr: { authProvisionId: "apn_xxxxxxx" },
    timesheetId: "Timesheet ID",
    lastChangedAt: "Last Changed At",
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Approve Timesheet inputs
Property Type Description
timesheetId Timesheet ID string
The timesheet ID to approve, e.g. 456. Run List Timesheets to discover IDs.
Required
lastChangedAt Last Changed At string
ISO 8601 UTC value from the timesheet's hoursLastChangedAt (via Get Timesheet), for optimistic concurrency, e.g. 2026-01-15T18:30:00Z.
Required

REFERENCE

Tool details

Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.

Registry key
bamboohr-approve-timesheet
Version
0.0.1
App
BambooHR
Authentication
API key
Read-only
No
Destructive
No
Open world
Yes