Zoho Projects

Zoho Projects is a cloud-based solution for project planning and tracking projects for team collaboration, and achieving project goals.

Data integration: Skyvia supports importing data to and from Zoho Projects, exporting Zoho Projects data to CSV files, replicating Zoho Projects data to relational databases, and synchronizing Zoho Projects data with other cloud apps and relational databases.

Backup: Skyvia Backup does not support Zoho Projects backup.

Query: Skyvia Query supports Zoho Projects.

Establishing Connection

To create a connection, log in with Zoho account, then specify Data Center and Portal Name. Skyvia stores only the OAuth authentication token. Skyvia does not store your credentials.

Creating Connection

connection

To connect to Zoho Projects, perform the following steps:

  1. Click Sign In with Zoho Projects in the connection editor in Skyvia.

  2. Enter your Zoho credentials to log in.

    signin

  3. Give Skyvia permission to perform actions in Zoho Projects.

    permissions

  4. Specify the Data Center. By default the value is set to US.

  5. Enter the Portal Name. Login to Zoho Projects, click on your account avatar and go to My Portal to obtain the Portal Name.

  6. Click Create Connection.

Additional Connection Parameters

For some objects, Zoho Projects API returns only part of the fields when querying multiple records. In order to query values of additional fields, Skyvia performs additional extended requests. Such API requests can be performed for each record of such object. However, this can decrease performance and significantly increase the number of API calls used.

To reduce the number of API calls, you can select the Suppress Extended Requests checkbox. However, please note that some of the fields in such objects will not be available in Skyvia (will return empty values) even if they have values in Zoho Projects because its API does not return them without extended requests.

Connector Specifics

Object Peculiarities

Fields with DATE Datatype

Skyvia works with date fields (StartDate, EndDate, DueDate, LogDate in all tables storing such fields) as String because of datatype conversion specifics in Zoho Projects API. Pass the dates in the ‘MM-DD-YYYY’ format when importing data to such fields.

InternalTaskList and ExternalTaskList

The TaskList object in Skyvia is represented as two objects: InternalTaskList and ExternalTaskList The InternalTaskLists table returns the records where the Flag field is set to Internal or AllFlag. The ExternalTaskLists returns the records with Flag set to External or AllFlag.

Events

Add the 0 character to a single-digit value when performing the INSERT operation to the Hour, Minutes, DurationHour, DurationMinutes fields.

For example, you have to pass the values 1, 2, …, 9 like 01, 02, …, 09.

Documents

This table has empty records with a single value Split = true. Such records visually divide the table content by upload date. For example by Today, Previous 7 days, Earlier.

API Limit

Zoho Projects allows performing 100 API calls per 2 minutes against one endpoint. When this limit is exceeded, all further calls to the same endpoint are blocked for 30 minutes. However, you can perform API calls to other Zoho Projects endpoints.

For example, you can Import 100 records at once for the Tasks table. All other records return the Cannot execute more than 100 requests per API in 2 minutes. Try again after 29 minutes. In this case the Import is blocked for the Tasks table, however you can select data from this table

Incremental Replication and Synchronization

Replication with Incremental Updates is supported for the following objects: BugComments, Bugs, Documents, Events, ExternalTaskLists, Forums, InternalTaskLists, Milestones, MyBugs, MyMilestones, MyTasks, Projects, Subtasks, TaskComments, Tasks, TaskTimeLogs.

Incremental Replication considers only the new records for the Events, Projects, TaskComments tables. These tables contain only the CreatedDate field, and there is no the UpdatedDate field which would have allowed considering the updated records.

Synchronization is supported for the following objects: Bugs, ExternalTaskLists, InternalTaskLists, Milestones, TaskTimeLogs.

DML Operations Support

Operation Object
INSERT, UPDATE, DELETE Bugs, ExternalTaskLists, InternalTaskLists, Milestones, Projects, TaskComments, Tasks, TaskTimeLogs
INSERT, DELETE BugComments, Events
INSERT BugFollowers, Clients, ProjectClients, ProjectGroups, Subtasks

Stored Procedures

Skyvia implements such actions as adding, updating, and deleting _Users) from the portal and creating contacts as stored procedures.

AddUserToPortal

call AddUserToPortal(:email, :profileId, :roleId, :workProjects)

This stored procedure adds users to a Portal. Note that these should be the users that are already added to the Zoho One account. You cannot just add arbitrary emails.

Here is the list of parameters:

  • email - Email ID of users separated by a comma.
  • profileId - The ID of the user profile to assign to the user. Note that this should be a user profile, not the client profile.
  • roleId - The ID of the role to assign to the user. Note that this should be a user role, not the client role.
  • workProjects - A JSON array of project ids.

UpdateUserInPortal

call UpdateUserInPortal(:userId, :profileId, :roleId, :projectIds)

This stored procedure updates a User on the Portal. Here is the list of parameters:

  • userId - The ID of the user to update.
  • profileId - The ID of the user profile to assign to the user. Note that this should be a user profile, not the client profile.
  • roleId - The ID of the role to assign to the user. Note that this should be a user role, not the client role.
  • workProjects - A JSON array of project ids.

DeleteUserFromPortal

call DeleteUserFromPortal(:userId) - deletes the user from a portal.

CreateContacts

call CreateContacts(:portalId, :clientId, :contacts, :workProjects)

This procedure creates new client contacts in the portal. Here is the list of parameters:

  • portalId - the id of the portal.
  • clientId - the id of the client company.
  • contacts - the contacts to add. You need to specify one or more contacts as an array of JSON objects. For example: [{ "first_name": "somename", "last_name": "somelastname", "email": "[email protected]", "invoice_rate": 45 }]
  • workprojects - a JSON array of project ids. For example: [170876000011141285, 170876000011141005]

You can use a call to the stored procedure, for example as a text of the command in the ExecuteCommand action in a Target component of a Data Flow.

Supported Actions

Skyvia supports all the common actions for Zoho Projects.