View as Markdown
Harvest icon

Harvest ACTION

Create Project

Create a new project. Example: call with clientId set to InGen Corp's client ID, projectName="Compound Perimeter Fence Upgrade", isBillable=true, billBy="Project", budgetBy="none". See the documentation.
  • Action
  • Writes data
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's Harvest account once, then configure and run Create Project 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-create-project",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    harvest: { authProvisionId: "apn_xxxxxxx" },
    accountId: "Account ID",
    clientId: "Client 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.

Create Project inputs
Property Type Description
accountId Account ID string
Your Harvest account ID, e.g. 1234567. Run List Account ID Options to find it.
Required
clientId Client ID string
Free-form client ID, e.g. 5735776. Run List Clients first to find valid IDs.
Required
projectName Project Name string
The name of the project. Run Get Project or Get Projects to see names on existing projects.
Required
isBillable Is Billable boolean
Whether the project is billable.
Required
billBy Bill By string
Method by which the project is invoiced. One of: Project, Tasks, People, none.
Required
budgetBy Budget By string
Method by which the project is budgeted. project, task, and person budget in hours (set Budget); project_cost and task_fees budget in money (set Cost Budget); none sets no budget.
Required
code Code string
The code associated with the project, e.g. PRJ-100. Run Get Project or Get Projects to see codes on existing projects.
Optional
isActive Is Active boolean
Whether the project is active.
Optional
isFixedFee Is Fixed Fee boolean
Whether the project is a fixed-fee project.
Optional
hourlyRate Hourly Rate string
Rate for projects billed by Project Hourly Rate, decimal, e.g. 150 or 150.00. Run Get Project to see the current rate.
Optional
budget Budget string
The budget in hours, decimal, e.g. 120 or 120.5. Only applies when Budget By is project, task, or person. Run Get Project to see the current budget.
Optional
costBudget Cost Budget string
The budget in money, decimal, e.g. 10000 or 10000.00. Only applies when Budget By is project_cost or task_fees. Run Get Project to see the current cost budget.
Optional
notes Notes string
Notes about the project. Run Get Project to see any existing notes.
Optional
startsOn Starts On string
Start date, format YYYY-MM-DD, e.g. 2026-09-01. Run Get Project to see the current start date.
Optional
endsOn Ends On string
End date, format YYYY-MM-DD, e.g. 2026-12-31. Run Get Project to see the current end date.
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-create-project
Version
0.0.1
App
Harvest
Authentication
OAuth
Read-only
No
Destructive
No
Open world
Yes