View as Markdown
Harvest icon

Harvest ACTION

Get Projects

Retrieve one or more projects. Omit Project IDs to list every project in the account (up to 200) — use this to discover project IDs for other Harvest tools. Provide Project IDs to fetch specific projects instead. Example: call with no Project IDs to find the ID for "Jurassic Park Construction" before creating a task assignment on it. See the documentation.
  • Action
  • Read only
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

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

Get Projects inputs
Property Type Description
accountId Account ID string
Your Harvest account ID, e.g. 1234567. Run List Account ID Options to find it.
Required
projectIds Project ID string[]
Array of free-form project IDs, e.g. ["14308069"]. Omit this parameter to retrieve every project instead.
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-get-projects
Version
0.1.0
App
Harvest
Authentication
OAuth
Read-only
Yes
Destructive
No
Open world
Yes