# Zoho Projects — Pipedream Connect

> Online Project Management Software & Tools

- API slug: `zoho_projects` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: Productivity
- Website: https://www.zoho.com/projects/
- Managed OAuth scopes: `ZohoProjects.portals.all` · `ZohoProjects.projects.all` · `ZohoProjects.activities.create` · `ZohoProjects.status.read` · `ZohoProjects.milestones.all` · `ZohoProjects.tasklists.all` · `ZohoProjects.tasks.all` · `ZohoProjects.timesheets.all` · `ZohoProjects.bugs.all` · `ZohoProjects.tags.all` · `ZohoProjects.events.all` · `ZohoProjects.forums.all` · `ZohoProjects.users.all` · `ZohoProjects.documents.CREATE` · `ZohoPC.files.CREATE` · `ZohoProjects.search.read` · `ZohoProjects.documents.READ` · `WorkDrive.team.ALL` · `WorkDrive.workspace.ALL` · `WorkDrive.files.ALL` · `ZohoProjects.custom_fields.READ`
- This page (HTML): https://pipedream.com/apps/zoho-projects
- Tools: 10 actions · 6 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: zoho_projects`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
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 accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "zoho_projects",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Add Log Time:
const result = await mcp.callTool({
  name: "zoho_projects-add-log-time",
  arguments: {
    portalId: "Portal ID",
    projectId: "Project ID",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Zoho Projects endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://api.example.com/v1/me

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vdjEvbWU?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
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: "zoho_projects-add-log-time",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    zoho_projects: { authProvisionId: "apn_xxxxxxx" },
    portalId: "Portal ID",
    projectId: "Project ID",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (10)

### `zoho_projects-add-log-time` — Add Log Time (Write)

Add Time for a General Log. Adds the time log to other tasks. See the docs here

Full schema: https://pipedream.com/apps/zoho-projects/actions/add-log-time.md

### `zoho_projects-create-bug` — Create Bug (Write)

Creates a bug. See the docs here

Full schema: https://pipedream.com/apps/zoho-projects/actions/create-bug.md

### `zoho_projects-create-milestone` — Create Milestone (Write)

Creates a milestone. See the docs here

Full schema: https://pipedream.com/apps/zoho-projects/actions/create-milestone.md

### `zoho_projects-create-project` — Create Project (Write)

Creates a project. See the docs here

Full schema: https://pipedream.com/apps/zoho-projects/actions/create-project.md

### `zoho_projects-create-task` — Create Task (Write)

Creates a task. See the docs here

Full schema: https://pipedream.com/apps/zoho-projects/actions/create-task.md

### `zoho_projects-create-task-list` — Create Task List (Write)

Creates a task list. See the docs here

Full schema: https://pipedream.com/apps/zoho-projects/actions/create-task-list.md

### `zoho_projects-find-project` — Find Project (Write)

Lists the modules across the portal based on the search term. The API returns both active and archived projects for the users having admin privileges. See the docs here

Full schema: https://pipedream.com/apps/zoho-projects/actions/find-project.md

### `zoho_projects-list-portal-id-options` — List Portal ID Options (Read-only)

Retrieves available options for the Portal ID field.

Full schema: https://pipedream.com/apps/zoho-projects/actions/list-portal-id-options.md

### `zoho_projects-update-project` — Update Project (Write)

Updates a project. See the docs here

Full schema: https://pipedream.com/apps/zoho-projects/actions/update-project.md

### `zoho_projects-upload-file` — Upload File (Write)

Add a document. See the docs here

Full schema: https://pipedream.com/apps/zoho-projects/actions/upload-file.md

## Triggers (6)

### `zoho_projects-new-bug` — New Bug (Polling)

Emit new event when a new bug is created. See the docs here

Full schema: https://pipedream.com/apps/zoho-projects/triggers/new-bug.md

### `zoho_projects-new-log-time` — New Log Time (Polling)

Emit new event when a log time is created. See the docs here

Full schema: https://pipedream.com/apps/zoho-projects/triggers/new-log-time.md

### `zoho_projects-new-milestone` — New Milestone (Polling)

Emit new event when a new milestone is created. See the docs here

Full schema: https://pipedream.com/apps/zoho-projects/triggers/new-milestone.md

### `zoho_projects-new-project` — New Project (Polling)

Emit new event when a new project is created. See the docs here

Full schema: https://pipedream.com/apps/zoho-projects/triggers/new-project.md

### `zoho_projects-new-task` — New Task (Polling)

Emit new event when a new task is created. See the docs here

Full schema: https://pipedream.com/apps/zoho-projects/triggers/new-task.md

### `zoho_projects-new-task-list` — New Task List (Polling)

Emit new event when a task list is created. See the docs here

Full schema: https://pipedream.com/apps/zoho-projects/triggers/new-task-list.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
