#9615 Zoho plugin

Parent Category:
Calendar plugins
Last Updated:
Allon Moritz, Wednesday, 24 May 2023 12:54
Wednesday, 21 December 2022 12:05

This feature is part of the DPCalendar Professional subscription.
SubscribePHP 7.4PHP 8Joomla 3.10Joomla 4.4Joomla 5


The Zoho calendar plugin integrates events from your Zoho calendars into Joomla through DPCalendar. It is a two way sync plugin, means that you can manage (create/edit/delete) the Zoho events from within your Joomla site.

The ONLY way to make your Zoho calendars accessible in DPCalendar is to import them, because the Zoho API requires a refresh token which is obtained through the import process. To be able to import the calendars you need to get first a client ID and client secret string from the Zoho developer console.

To get a bigger picture how external calendars are handled inside DPCalendar read the article Integration/Import external calendars.

Client ID and Client Secret

To be able to import your Zoho calendars you need a client ID and client secret from the Zoho developer console. This credentials are used to make authenticated requests against the zoho API endpoint. It is OAuth authentication and allows you to revoke the credentials at any time without exposing your private username and password.

Select an API client

Click in the top right corner on "Add client" and choose "Server-based Applications".

Zoho create API client

Create client ID and secret

Define a name for the client and put into the "Homepage URL" your web site url. You have to make sure to set url correctly without any path, and it must start with https. In the "Authorized redirect URIs" field you have to put an url with the following parameters:

Replace with your web site url. This url is important, if it is wrong you can't import your calendars, you will get a redirect_uri_mismatch error! Yo need also to use HTTPS as scheme as HTTP is not supported.

Zoho API client settings

Import the Zoho Calendars

  1. Click on the import button in the plugin edit form.
  2. Copy paste the Client ID and Client Secret from the zoho developer console to the form.
  3. Click the "Import" button.
  4. Accept the permission questions from Zoho.
  5. The Zoho calendars should be imported into the DPCalendar Zoho plugin.
Zoho API client settings


The Zoho calendar API does support attachments. The attachments are rendered in a separate layout in the file /plugins/dpcalendar/zoho/tmpl/attachments.php. If you want to change that, then you need to copy it to /templates/{your template}/html/plg_dpcalendar_zoho/attachments.php and change it to your needs. Unfortunately does Zoho not support to download the attachments as regular user, so only the name is displayed

DPCalendar Options

These settings are the same for every calendar configured in the plugin.

Calendar ID [Type: Text]
The calendar ID can be obtained from the settings of the calendar.
Refresh token [Type: Text]
The refresh token is used to authenticate against Zoho.
Client ID [Type: Text]
The client ID from the Zoho developer console to authenticate. Please check the documentation for more information.
Client Secret [Type: Text]
The client secret Zoho developer console to authenticate. Please check the documentation for more information.
Format Description [Type: Radio] [Default: Yes]
Should the description of the events be formated or should it be left as it is (should be disabled when you have plain HTML descriptions).
The following options are available:
  1. Yes
  2. No

Plugin Options

Caching [Type: List] [Default: Joomla]
Select whether to cache the calendar data.
The following options are available:
  1. Joomla
  2. Database
  3. Never
Cache Time [Type: Text] [Default: 900]
The time for the cache in sec.
Sync Start [Type: Text] [Default: -3 year]
The relative start date to sync from.
Sync End [Type: Text] [Default: +3 year]
The relative end date to sync from.
Sync Steps [Type: Text] [Default: 1 year]
The sync steps.

Comments (0)

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.