@trg-admin/n8n-nodes-zoho-projects
v0.1.14
Published
n8n community node for Zoho Projects with OAuth2 token refresh delegated to n8n
Readme
n8n-nodes-zoho-projects
Zoho Projects community node for n8n, implemented in TypeScript with OAuth2 refresh-token handling delegated to n8n via this.helpers.requestOAuth2.
Authentication Pattern
- Credential extends
oAuth2Api. - OAuth endpoints are selectable for US/EU/IN/AU/CN.
authQueryParametersis set toaccess_type=offlineso Zoho can issue refresh tokens.authenticationis set tobody.- Requests are made with
this.helpers.requestOAuth2('zohoProjectsOAuth2Api', options). - No manual refresh-token logic is implemented.
Official OAuth references:
- Get authorization code (includes
access_type=offline): https://www.zoho.com/accounts/protocol/oauth/web-apps/authorization.html - Get access token (includes
api_domainand refresh behavior notes): https://www.zoho.com/accounts/protocol/oauth/web-apps/access-token.html - Multi-DC flow (
api_domainusage): https://www.zoho.com/accounts/protocol/oauth/multi-dc.html
Base URL Resolution
The request helper resolves API base URL in this order:
- Explicit credential override (
projectsBaseUrl) oauthTokenData.api_domain- Fallback from selected auth/token region
Implemented Operations
- Portal: Get Many, Get
- Project: Get Many, Get, Create, Update
- Task: Get Many, Get, Create, Update
- Trigger: Polling trigger (task created/updated) + webhook callback receiver
Trigger Capability
The package includes two trigger modes:
Zoho Projects Trigger(polling)- Task Created, Task Updated, Task Created Or Updated
- Polling is hard-limited to 6:00 AM-6:00 PM server local time
- This limit is enforced in code regardless of selected poll interval
Zoho Projects Webhook Trigger(push mode)No periodic API polling
Starts workflow only when your Zoho Projects webhook calls the n8n URL
Optional shared-token verification via header or query parameter
Endpoint Audit (Official Sources)
Portals
Get Many
- Endpoint:
GET /restapi/portals/ - Scope:
ZohoProjects.portals.READ - Doc: Portals API > All Portals
- URL: https://www.zoho.com/projects/help/rest-api/portals-api.html
- Endpoint:
Get
- Endpoint:
GET /restapi/portal/[PORTALID]/ - Scope:
ZohoProjects.portals.READ - Doc: Portals API > Portal Details
- URL: https://www.zoho.com/projects/help/rest-api/portals-api.html
- Endpoint:
Projects
Get Many
- Endpoint:
GET /restapi/portal/[PORTALID]/projects/ - Scope:
ZohoProjects.projects.READ - Doc: Projects API > All Projects
- URL: https://www.zoho.com/projects/help/rest-api/projects-api.html
- Endpoint:
Get
- Endpoint:
GET /restapi/portal/[PORTALID]/projects/[PROJECTID]/ - Scope:
ZohoProjects.projects.READ - Doc: Projects API > Project Details
- URL: https://www.zoho.com/projects/help/rest-api/projects-api.html
- Endpoint:
Create
- Endpoint:
POST /restapi/portal/[PORTALID]/projects/ - Scope:
ZohoProjects.projects.CREATE - Doc: Projects API > Create a Project
- URL: https://www.zoho.com/projects/help/rest-api/projects-api.html
- Endpoint:
Update
- Endpoint:
POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/ - Scope:
ZohoProjects.projects.UPDATE - Doc: Projects API > Update a Project
- URL: https://www.zoho.com/projects/help/rest-api/projects-api.html
- Endpoint:
Tasks
Get Many
- Endpoint:
GET /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/ - Scope:
ZohoProjects.tasks.READ - Doc: Tasks API > All Tasks
- URL: https://www.zoho.com/projects/help/rest-api/tasks-api.html
- Endpoint:
Get
- Endpoint:
GET /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/ - Scope:
ZohoProjects.tasks.READ - Doc: Tasks API > Task Details
- URL: https://www.zoho.com/projects/help/rest-api/tasks-api.html
- Endpoint:
Create
- Endpoint:
POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/ - Scope:
ZohoProjects.tasks.CREATE - Doc: Tasks API > Create Task
- URL: https://www.zoho.com/projects/help/rest-api/tasks-api.html
- Endpoint:
Update
- Endpoint:
POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/ - Scope:
ZohoProjects.tasks.UPDATE - Doc: Tasks API > Update Task
- URL: https://www.zoho.com/projects/help/rest-api/tasks-api.html
- Endpoint:
Required Request Header and Param Style
- Zoho examples show
Authorization: Zoho-oauthtoken <access_token>and use query/form-style request params: https://www.zoho.com/projects/help/rest-api/examples.html
Known Documentation Ambiguity
- The fetched Zoho Projects REST docs consistently show
projectsapi.zoho.comexamples. - The same docs (as fetched) do not provide a clear, product-specific table listing all regional
projectsapidomains. - This package therefore prioritizes
oauthTokenData.api_domainand keeps explicit region overrides configurable.
