n8n-nodes-zoho-projects
v0.1.0
Published
n8n community node for Zoho Projects API v3
Maintainers
Readme
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
NodeApiErrormapping, - retry/backoff for
429and transient5xxresponses.
Zoho OAuth2 Setup
- In Zoho API Console, create a Server-based application.
- Add n8n callback URL:
https://<your-n8n-host>/rest/oauth2-credential/callback
- Use the credential type Zoho Projects OAuth2 API in n8n.
- Set
Client ID,Client Secret, and select your Zoho data center. - Default scopes include Projects/Tasks/Milestones/Users/Timesheets read+write scopes.
Build, Lint, Test
npm install
npm run lint
npm run build
npm testLocal 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 n8nVerification Checklist
Use an n8n workflow with this node and a valid Zoho credential.
Project -> Get Many(Return All: false)
- Expected: list of projects, each with
id,name, and metadata.
Task -> Create
- Inputs:
Portal ID,Project ID, taskName - Expected: created task payload with generated
id.
Milestone -> Update
- Inputs:
Portal ID,Project ID,Milestone ID, updated fields - Expected: updated milestone details returned.
User -> Get Many
- Inputs:
Type,View Type, paging - Expected:
usersarray withpage_infosupport.
Time Log -> Get
- Inputs:
Portal ID,Project ID,Log ID,Log Type - Expected: single time log object.
- 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).
