In a nutshell
Sync to external calendar (iCalendar feed) automatically exports data from published reports to external calendars, ensuring real-time updates and seamless synchronization across platforms.
Note: Sync to an external calendar is only applicable for published reports.
Availability
- Sync to external calendar is only available in the paid plans of Creator.
- Only the super admin, admins and developers can enable 'sync to external calendar'.
1. iCalendar feed in Zoho Creator
Sync to external calendar allows published reports from your app to be integrated with external calendar tools like Zoho Calendar, Google Calendar, Outlook, Apple Calendar, and others. This is done using the iCal feed which is the standard format for calendar data synchronisation. Once the link is established, this keeps your external calendar automatically updated with data changes from your app.
How does it work?
- When sync is enabled under Operations, an iCal feed URL, unique to that report, will be generated.
- This URL can be pasted in any calendar application that supports .ics files.
- The external calendar will then be synced whenever events are added or modified in the Zoho Creator application's report.
1.1. See how it works
1.2. Use case
Automatically syncing staff shifts
A healthcare provider uses a Zoho Creator app to manage staff scheduling across multiple clinics. Each department maintains a report that displays weekly shift allocations for doctors and nurses. Staff members need to stay updated with their schedules, but manually checking the app or distributing updates creates confusion and delays, especially when last-minute changes are made. This ensures schedules are automated, keeping staff informed in real time without manual tracking or delays.
The admin enables the
Sync to external calendar option and shares
iCal feed URLs of the published report with staff members, allowing them to subscribe to the report’s calendar via Google Calendar or Outlook.
As a result, staff members receive real-time updates directly on their personal calendars. Any changes made in the Zoho Creator report, such as shift swaps or time edits, are automatically updated and reflected in staff member's calendar. This eliminates confusion and improves operational efficiency without manual communication.
1.3. Navigation guide
Navigate to the live mode of the report that has been published. Locate the hamburger icon (three horizontal lines) at the top-right corner of the report interface. Click the icon to open the drop-down menu, then select Sync External Calendar in the drop-down.
1.4. Prerequisites
To sync reports successfully with an external calendar, ensure the following prerequisites are met:
- Published report
The report you want to sync must be published. Learn how to publish a report. - Sync enabled in the app
The Sync to external calendar toggle must be enabled under Operations published report settings. Learn how to enable sync to external calendar. - Compatible calendar application
The user must use a calendar application that supports iCal feed subscriptions or .ics file formats.
The iCal feed URL for a report in Zoho Creator follows this structure:
URL components
Placeholder | Explanation |
<org_namespace> | |
<app_link_name> | |
<report_link_name> | Link name of the report whose record is to be printed/exported. |
<private_key> (Applicable only for published reports) | The set of alphanumeric characters following the report link name in the permalink. It is the last path of the URL that is obtained after publishing the report. Retrieve private_key using the Creator report's permalink: |
<property_name>=<value> | These are iCal properties <mapped to report fields>. - Property: An iCal field (e.g., DTSTART, SUMMARY, DESCRIPTION)
- Value: The value refers to the <field_link_name> of the corresponding field in the report. For each record, the iCal property is populated with the value stored in that field.
|
Note: The iCal property ICAL-DTSTART is mandatory.
1.6. Mapping fields with properties
You can append the following iCal properties as query parameters in the URL using the format:
- ICAL-<property_name>=<deluge_field_name>
Each property's value corresponds to the <field_link_name> of its respective field in the report. For every record, the iCal property is populated with the value stored in that field.
Property Name | Allowed Field Types | Requirement | Description/Example |
DTSTART | Date, Date-Time | Mandatory | Event start time |
DTEND | Date, Date-Time | Optional | Event end time |
SUMMARY | Text | Optional | Event title |
ORGANIZER | Text | Optional | |
CREATED | | Optional | |
CLASS | Text | Optional | Access level: PUBLIC, PRIVATE, or CONFIDENTIAL |
DESCRIPTION | Text | Optional | Event details |
LAST-MODIFIED | Date-Time | Optional | Last modified timestamp |
LOCATION | Text | Optional | Event location |
PRIORITY | Integer | Optional | Priority value |
STATUS
| Text | Optional | Event status: TENTATIVE, CONFIRMED, or CANCELLED |
The integer field type includes: Auto_Number and Number field.
The Text field type includes: Name, Email, Address, Single Line, Multi Line, Drop Down, Radio, Multi Select, Checkbox, Decision box, Users, Rich Text, Time, Formula, Prediction, Keyword Extraction, Sentiment Analysis, OCR, Object Detection.
Note: If a valid field is not mapped to its corresponding property, that property will be skipped in the calendar output.
1.7. Assigning a name to the iCal calendar
By default, the iCal calendar takes the name of the report. You can customize this by assigning a personalized name using the format provided below.
1.7.1. Format:
- ICAL-ZC_CAL_NAME_VAR=<Calendar_Name>
1.7.2. Example:
For example, if your school maintains multiple calendars for different classes, teachers can assign distinct names to each calendar while editing the link, making it easier to differentiate between grade levels.
- ICAL-ZC_CAL_NAME_VAR=Grade_5
This ensures clear differentiation between calendars.
1.8. Assigning iCal property values manually
If you want to manually set a value for an iCal property using a query string in the URL, follow the below steps:
1.8.1. Format:
- ICAL-ZC_SET-<property_name>=<value>
1.8.2. Example:
For example, you can use this syntax to set the CLASS property to 'Public', making all report entries visible to anyone with access to the calendar feed:
This sets the iCal property CLASS to 'PUBLIC' for all rows in your report.
Note:
- The value for custom Date and Date-Time fields must follow the date format configured in the application.
- DTSTART and DTEND values cannot be manually set using ICAL-ZC_SET. They can only be assigned by mapping fields.
1.9. Handling full-day vs timed events
When your report includes both full-day and timed events, follow these steps:
1. Add a text field to the form associated with your published report. This field will store whether or not the event is a full-day event:
- true if it is a full-day event
- false or leave it empty if it is a timed event
2. Append the iCal feed URL with the following query string:
- ICAL-ZC_FULL_DAY_EVENT_VAR=<field_link_name>
Where <field_link_name> is the link name of the field you created in step 1.
2. Points to note
- All report types are supported in Sync to External Calendar, except pivot chart and pivot table reports.
- In some instances, the resulting iCal URL may become too long for a calendar application to read. In such cases, you need to use any external URL shortening tool and then add the shortened URL to your calendar application.
- The export limit is 50,000 records per request.
- If a report exceeds this limit, only the top 50,000 entries displayed in the report will be exported.
- To copy the ICS file, paste your iCal feed URL into your browser’s address bar. The .ics content will be displayed, which you can then copy manually.
- External applications, including Google Calendar and Zoho Calendar, will periodically sync data fetched from Zoho Creator.
- Synchronization will be stopped if any changes are made to fields configured in the URL. This includes deleting a field from a form, changing a field’s link name, deleting a field in reports, or enabling encryption with masking. It is recommended to review and plan such changes in advance to avoid disrupting ongoing sync processes.
- Configure Sync to External Calendar
- Publish Reports
- Export data from Reports