Package Information
Downloads: 0 weekly / 0 monthly
Latest Version: 0.1.6
Documentation
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
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.
