View as Markdown
Harvest icon

Harvest ACTION

Update User

Update an existing user. Use List Users to find a valid ID. Example: call with userId set to a user's ID and lastName set to a new value to update their name. See the documentation.
  • Action
  • Writes data
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's Harvest account once, then configure and run Update User 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: "harvest-update-user",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    harvest: { authProvisionId: "apn_xxxxxxx" },
    accountId: "Account ID",
    userId: "User ID",
  },
})

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.

Update User inputs
Property Type Description
accountId Account ID string
Your Harvest account ID, e.g. 1234567. Run List Account ID Options to find it.
Required
userId User ID string
Free-form user ID, e.g. 1782959. Run List Users first to find valid IDs.
Required
firstName First Name string
The user's first name. Run Get User to see the current value.
Optional
lastName Last Name string
The user's last name. Run Get User to see the current value.
Optional
email Email string
The user's email address, e.g. jane@example.com. Run Get User to see the current value.
Optional
timezone Timezone string
The user's IANA timezone name, e.g. America/Chicago. Run Get User to see the current value.
Optional
isContractor Is Contractor boolean
Whether the user is a contractor.
Optional
isActive Is Active boolean
Whether the user is active.
Optional
weeklyCapacity Weekly Capacity integer
Expected weekly working capacity in seconds, e.g. 144000 for a 40-hour week. Run Get User to see the current value.
Optional
defaultHourlyRate Default Hourly Rate string
Default hourly rate, decimal, e.g. 150 or 150.00. Run Get User to see the current rate.
Optional
accessRoles Access Roles string[]
Access roles for the user. One of member, manager, administrator; or one of project_creator, billable_rates_manager, managed_projects_invoice_drafter, managed_projects_invoice_manager, client_and_task_manager, time_and_expenses_manager, estimates_manager — these additional roles can only be combined with manager.
Optional

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
harvest-update-user
Version
0.0.1
App
Harvest
Authentication
OAuth
Read-only
No
Destructive
No
Open world
Yes