zoho-projects

n8n community node for Zoho Projects API v3

Package Information

Downloads: 45 weekly / 128 monthly
Latest Version: 0.1.0
Author: fcastrot

Documentation

n8n-nodes-zoho-projects

Production-ready n8n community node for Zoho Projects API v3.

Design Summary

The node is implemented using n8n's resource + operation pattern with one OAuth2 credential and one main node:

  • Resource: Project, Task, Milestone (Zoho v3 “Phases”), User, Time Log
  • Operations per resource: Get, Get Many, Create, Update
  • Shared helper module (GenericFunctions.ts) provides:
    • authenticated HTTP requests via n8n request helpers,
    • automatic pagination support,
    • Zoho error normalization + n8n NodeApiError mapping,
    • retry/backoff for 429 and transient 5xx responses.

Zoho OAuth2 Setup

  1. In Zoho API Console, create a Server-based application.
  2. Add n8n callback URL:
    • https://<your-n8n-host>/rest/oauth2-credential/callback
  3. Use the credential type Zoho Projects OAuth2 API in n8n.
  4. Set Client ID, Client Secret, and select your Zoho data center.
  5. Default scopes include Projects/Tasks/Milestones/Users/Timesheets read+write scopes.

Build, Lint, Test

npm install
npm run lint
npm run build
npm test

Local Install in n8n

# from this repository
npm run build

# in your n8n custom extensions directory
cd ~/.n8n/custom
npm install /absolute/path/to/n8n-nodes-zoho-projects

# restart n8n

Verification Checklist

Use an n8n workflow with this node and a valid Zoho credential.

  1. Project -> Get Many (Return All: false)
  • Expected: list of projects, each with id, name, and metadata.
  1. Task -> Create
  • Inputs: Portal ID, Project ID, task Name
  • Expected: created task payload with generated id.
  1. Milestone -> Update
  • Inputs: Portal ID, Project ID, Milestone ID, updated fields
  • Expected: updated milestone details returned.
  1. User -> Get Many
  • Inputs: Type, View Type, paging
  • Expected: users array with page_info support.
  1. Time Log -> Get
  • Inputs: Portal ID, Project ID, Log ID, Log Type
  • Expected: single time log object.
  1. Continue On Fail behavior
  • Force an invalid ID on one item in batch input.
  • Expected: workflow continues, failed item returns normalized error object.

Known API Quirks / Defaults

  • Milestones are exposed as Phases in Zoho v3 endpoints.
  • Some User and bulk Time Log endpoints in docs use form/query-style payloads; this node serializes complex query payloads safely and keeps advanced fields available through JSON parameters.
  • For update operations, default UI values are intentionally minimized to avoid accidental overwrites; advanced updates can be passed via Additional Fields (JSON).

Discussion