# Zoho Calendar

> Online calendar. Create and manage calendars and events, share calendars, search events and check free/busy.

App · Calendars · 17 actions. Web page: https://docs.lodol.com/docs/integrations/zoho-calendar

## Actions

### Create calendar

Create a personal calendar.

**Inputs**

- Name (`name`, text, required): The calendar's name, up to 50 characters.
- Colour (`color`, text): Optional. A hex colour such as #4986E7.
- Description (`description`, text): Optional. Up to 1,000 characters.
- Time zone (`timezone`, text): Optional. An IANA time zone such as Europe/London. Leave blank for your Zoho Calendar time zone.
- Free/busy (`include_in_free_busy`, text): Optional. Whether this calendar's events make you show as busy. One of: `include` (Count as busy), `exclude` (Don't count as busy).
- Public access (`public_access`, text): Optional. What people without access can see of this calendar. One of: `disable` (Nothing), `freebusy` (Free/busy only), `view` (Events).
- Reminder (minutes before) (`reminder_minutes`, number): Optional. Remind this many minutes before the start. From 0 to 40320.
- Reminder type (`reminder_action`, text): Optional. How to remind (default pop-up). One of: `popup` (Pop-up), `email`, `notification`.

**Outputs**: A Zoho Calendar calendar.

- `allowed_conference` (text): The conferencing services it allows.
- `caltype` (text): Zoho's calendar type name.
- `category` (text): own, group, app or others.
- `color` (text): The calendar's colour, for example #8cbf40.
- `createdtime` (text): When it was created.
- `ctag` (number): Changes whenever the calendar's events change.
- `description` (text): The calendar's description.
- `id` (text): Zoho's internal numeric id (not the one to pass to other actions).
- `include_infreebusy` (true/false): Whether its events count towards free/busy.
- `isdefault` (true/false): Whether it is the user's default calendar.
- `modifiedtime` (text): When it was last changed.
- `name` (text): The calendar's name.
- `order` (number): Its position in the calendar list.
- `owner` (text): The calendar's owner.
- `privilege` (text): What the connected user may do with it, for example owner.
- `reminders` (list): The default reminders for its events.
- `status` (true/false): Whether its events are shown.
- `textcolor` (text): The text colour of its events.
- `timezone` (text): The calendar's time zone, for example Asia/Kolkata.
- `type` (number): Zoho's calendar type number.
- `uid` (text): The calendar's uid: the id every other action takes.
- `visibility` (true/false): Whether it is shown in the calendar list.

**Example output**

```json
{
  "category": "own",
  "color": "#4986E7",
  "description": "Team events",
  "id": "1234567000000012345",
  "include_infreebusy": true,
  "isdefault": false,
  "name": "Team",
  "privilege": "owner",
  "reminders": [
    {
      "action": "popup",
      "minutes": "-15"
    }
  ],
  "status": true,
  "textcolor": "#FFFFFF",
  "timezone": "Europe/London",
  "uid": "l9WWZCf_SJWcr3uIuBOq5g==",
  "visibility": true
}
```

### Create event

Add an event to a calendar: timed (start and end) or all-day (start and end date), optionally repeating, with attendees and a reminder.

**Inputs**

- Calendar (`calendar_uid`, text, required): The calendar. Pick it from the list, or type its uid (from 'List calendars') or default for your default calendar.
- Title (`title`, text, required): The event's title.
- Start (`start`, date and time): When a timed event starts. For an all-day event, set Start date and End date instead.
- End (`end`, date and time): When a timed event ends.
- Start date (all day) (`start_date`, date): For an all-day event: its first day. Leave blank for a timed event.
- End date (all day) (`end_date`, date): For an all-day event: its last day.
- Time zone (`timezone`, text): Optional. An IANA time zone such as Europe/London. Leave blank for your Zoho Calendar time zone.
- Description (`description`, text): Optional. Up to 10,000 characters.
- Location (`location`, text): Optional. Up to 255 characters.
- Link (`url`, text): Optional. A link to attach to the event.
- Colour (`color`, text): Optional. A hex colour such as #4986E7.
- Privacy (`privacy`, text): Optional. A private event hides its details from others. One of: `public`, `private`.
- Show as (`show_as`, text): Optional. Whether the event makes you busy (default busy). One of: `busy`, `free`.
- Attendees (`attendees`, list): Optional. Email addresses to invite.
- Attendee permission (`attendee_permission`, text): Optional. What the attendees may do with the event. One of: `guest`, `view` (View attendees), `invite` (Invite others), `edit` (Edit the event).
- Reminder (minutes before) (`reminder_minutes`, number): Optional. Remind this many minutes before the start. From 0 to 40320.
- Reminder type (`reminder_action`, text): Optional. How to remind (default pop-up). One of: `popup` (Pop-up), `email`, `notification`.
- Repeat rule (`rrule`, text): Optional. Makes the event repeat, as an iCalendar rule such as FREQ=WEEKLY;BYDAY=MO,WE;COUNT=10 (FREQ is DAILY, WEEKLY, MONTHLY or YEARLY).
- Email attendees (`notify_attendees`, text): Optional. Who Zoho emails about this change (default nobody). One of: `none` (Nobody), `attendees`, `attendees_and_me` (Attendees and me).

**Outputs**: A Zoho Calendar event.

- `attendees` (list): The attendees.
- `calid` (text): Zoho's internal id of that calendar.
- `caluid` (text): The uid of the calendar it is in.
- `color` (text): The event's colour.
- `createdby` (text): Who created it.
- `createdtime` (text): When it was created.
- `dateandtime` (object): The event's start and end.
- `description` (text): The event's description.
- `duration` (number): Its length in seconds.
- `end` (text): The end in the user's time zone.
- `estatus` (text): Zoho's status for the change, for example added or updated.
- `etag` (text): Its version; changes on every edit.
- `isallday` (true/false): Whether it is an all-day event.
- `isprivate` (true/false): Whether it is private.
- `lastmodifiedtime` (text): When it was last changed.
- `location` (text): The event's location.
- `modifiedby` (text): Who last changed it.
- `multiday` (true/false): Whether it spans several days.
- `organizer` (text): The organizer's email address.
- `recurrenceid` (text): Which occurrence this is, for one occurrence of a series.
- `reminders` (list): The reminders.
- `rrule` (text): Its repeat rule, for a repeating event.
- `start` (text): The start in the user's time zone, for example 20261031T100000.
- `title` (text): The event's title.
- `transparency` (number): 0 shows as busy, 1 as free.
- `uid` (text): The event's uid: the id every other event action takes.
- `url` (text): A link attached to the event.
- `viewEventURL` (text): A link to the event in Zoho Calendar.

**Example output**

```json
{
  "attendees": [
    {
      "email": "bob@example.com",
      "status": "NEEDS-ACTION"
    }
  ],
  "caluid": "l9WWZCf_SJWcr3uIuBOq5g==",
  "dateandtime": {
    "end": "20261031T110000+0000",
    "start": "20261031T100000+0000",
    "timezone": "Europe/London"
  },
  "description": "Quarterly planning",
  "end": "20261031T110000",
  "estatus": "added",
  "etag": "1790000000000",
  "isallday": false,
  "isprivate": false,
  "location": "Room 1",
  "organizer": "ada@example.com",
  "start": "20261031T100000",
  "title": "Planning",
  "uid": "8f1c2d3e4f5a46b7a8c9d0e1f2a3b4c5@zoho.com"
}
```

### Delete calendar

Delete a calendar and its events. Your default calendar cannot be deleted.

**Inputs**

- Calendar (`calendar_uid`, text, required): The calendar. Pick it from the list, or type its uid (from 'List calendars') or default for your default calendar.

**Outputs**: The deleted calendar.

- `deleted` (true/false): True: Zoho reported the calendar deleted.
- `uid` (text): The deleted calendar's uid.

**Example output**

```json
{
  "deleted": true,
  "uid": "l9WWZCf_SJWcr3uIuBOq5g=="
}
```

### Delete event

Delete an event (every occurrence, for a repeating one), optionally emailing its attendees.

**Inputs**

- Calendar (`calendar_uid`, text, required): The calendar. Pick it from the list, or type its uid (from 'List calendars') or default for your default calendar.
- Event uid (`event_uid`, text, required): The event's uid (ends in @zoho.com), from 'List events', 'Search events' or 'Create event'.
- Email attendees (`notify_attendees`, text): Optional. Who Zoho emails about this change (default nobody). One of: `none` (Nobody), `attendees`, `attendees_and_me` (Attendees and me).

**Outputs**: The deleted event.

- `calendar_uid` (text): The uid of the calendar it was in.
- `deleted` (true/false): True: Zoho reported the event deleted.
- `uid` (text): The deleted event's uid.

**Example output**

```json
{
  "calendar_uid": "l9WWZCf_SJWcr3uIuBOq5g==",
  "deleted": true,
  "uid": "8f1c2d3e4f5a46b7a8c9d0e1f2a3b4c5@zoho.com"
}
```

### Get calendar

Get one calendar's name, colour, time zone and settings.

**Inputs**

- Calendar (`calendar_uid`, text, required): The calendar. Pick it from the list, or type its uid (from 'List calendars') or default for your default calendar.

**Outputs**: A Zoho Calendar calendar.

- `allowed_conference` (text): The conferencing services it allows.
- `caltype` (text): Zoho's calendar type name.
- `category` (text): own, group, app or others.
- `color` (text): The calendar's colour, for example #8cbf40.
- `createdtime` (text): When it was created.
- `ctag` (number): Changes whenever the calendar's events change.
- `description` (text): The calendar's description.
- `id` (text): Zoho's internal numeric id (not the one to pass to other actions).
- `include_infreebusy` (true/false): Whether its events count towards free/busy.
- `isdefault` (true/false): Whether it is the user's default calendar.
- `modifiedtime` (text): When it was last changed.
- `name` (text): The calendar's name.
- `order` (number): Its position in the calendar list.
- `owner` (text): The calendar's owner.
- `privilege` (text): What the connected user may do with it, for example owner.
- `reminders` (list): The default reminders for its events.
- `status` (true/false): Whether its events are shown.
- `textcolor` (text): The text colour of its events.
- `timezone` (text): The calendar's time zone, for example Asia/Kolkata.
- `type` (number): Zoho's calendar type number.
- `uid` (text): The calendar's uid: the id every other action takes.
- `visibility` (true/false): Whether it is shown in the calendar list.

**Example output**

```json
{
  "category": "own",
  "color": "#4986E7",
  "description": "Team events",
  "id": "1234567000000012345",
  "include_infreebusy": true,
  "isdefault": false,
  "name": "Team",
  "privilege": "owner",
  "reminders": [
    {
      "action": "popup",
      "minutes": "-15"
    }
  ],
  "status": true,
  "textcolor": "#FFFFFF",
  "timezone": "Europe/London",
  "uid": "l9WWZCf_SJWcr3uIuBOq5g==",
  "visibility": true
}
```

### Get calendar sharing

List who a calendar is shared with, and their access.

**Inputs**

- Calendar (`calendar_uid`, text, required): The calendar. Pick it from the list, or type its uid (from 'List calendars') or default for your default calendar.

**Outputs**: Who a calendar is shared with.

- `calendar_uid` (text): The calendar's uid.
- `count` (number): How many there are.
- `shares` (list): The people and groups it is shared with.

**Example output**

```json
{
  "calendar_uid": "l9WWZCf_SJWcr3uIuBOq5g==",
  "count": 1,
  "shares": [
    {
      "emailid": "bob@example.com",
      "privilege": "view"
    }
  ]
}
```

### Get event

Get one event with its description, attendees and reminders.

**Inputs**

- Calendar (`calendar_uid`, text, required): The calendar. Pick it from the list, or type its uid (from 'List calendars') or default for your default calendar.
- Event uid (`event_uid`, text, required): The event's uid (ends in @zoho.com), from 'List events', 'Search events' or 'Create event'.

**Outputs**: A Zoho Calendar event.

- `attendees` (list): The attendees.
- `calid` (text): Zoho's internal id of that calendar.
- `caluid` (text): The uid of the calendar it is in.
- `color` (text): The event's colour.
- `createdby` (text): Who created it.
- `createdtime` (text): When it was created.
- `dateandtime` (object): The event's start and end.
- `description` (text): The event's description.
- `duration` (number): Its length in seconds.
- `end` (text): The end in the user's time zone.
- `estatus` (text): Zoho's status for the change, for example added or updated.
- `etag` (text): Its version; changes on every edit.
- `isallday` (true/false): Whether it is an all-day event.
- `isprivate` (true/false): Whether it is private.
- `lastmodifiedtime` (text): When it was last changed.
- `location` (text): The event's location.
- `modifiedby` (text): Who last changed it.
- `multiday` (true/false): Whether it spans several days.
- `organizer` (text): The organizer's email address.
- `recurrenceid` (text): Which occurrence this is, for one occurrence of a series.
- `reminders` (list): The reminders.
- `rrule` (text): Its repeat rule, for a repeating event.
- `start` (text): The start in the user's time zone, for example 20261031T100000.
- `title` (text): The event's title.
- `transparency` (number): 0 shows as busy, 1 as free.
- `uid` (text): The event's uid: the id every other event action takes.
- `url` (text): A link attached to the event.
- `viewEventURL` (text): A link to the event in Zoho Calendar.

**Example output**

```json
{
  "attendees": [
    {
      "email": "bob@example.com",
      "status": "NEEDS-ACTION"
    }
  ],
  "caluid": "l9WWZCf_SJWcr3uIuBOq5g==",
  "dateandtime": {
    "end": "20261031T110000+0000",
    "start": "20261031T100000+0000",
    "timezone": "Europe/London"
  },
  "description": "Quarterly planning",
  "end": "20261031T110000",
  "etag": "1790000000000",
  "isallday": false,
  "isprivate": false,
  "location": "Room 1",
  "organizer": "ada@example.com",
  "start": "20261031T100000",
  "title": "Planning",
  "uid": "8f1c2d3e4f5a46b7a8c9d0e1f2a3b4c5@zoho.com"
}
```

### Get free/busy

See when someone in your Zoho organization (or you) is busy between two days.

**Inputs**

- Email (`email`, text, required): The Zoho user's email address.
- From (`from_date`, date, required): The first day.
- To (`to_date`, date, required): The last day.
- Breakdown (`breakdown`, text): Optional. How to report busy time (default busy periods). One of: `eventbased` (Busy periods), `timebased` (Busy hours per day).

**Outputs**: When a user is busy.

- `busy` (list): The busy periods (the Busy periods breakdown).
- `count` (number): How many busy periods or days were returned.
- `days` (list): The days (the Busy hours per day breakdown).
- `email` (text): The user asked about.

**Example output**

```json
{
  "busy": [
    {
      "endTime": "20261031T110000Z",
      "fbtype": "busy",
      "startTime": "20261031T100000Z"
    }
  ],
  "count": 1,
  "days": [],
  "email": "ada@example.com"
}
```

### Get settings

Get your Zoho Calendar settings: time zone, date and time format, working hours and week start.

**Inputs**: None.

**Outputs**: The connected user's Zoho Calendar settings.

- `dateformat` (text): How dates are shown.
- `default_view` (text): The view Zoho Calendar opens on.
- `event_duration` (number): The default event length.
- `hourend` (number): When the working day ends.
- `hourstart` (number): When the working day starts.
- `timeformat` (text): 12 or 24 hour clock.
- `timezone` (text): The user's time zone, for example Europe/London.
- `weekstart` (number): The first day of the week.
- `workweek_end` (number): The last working day.
- `workweek_start` (number): The first working day.

**Example output**

```json
{
  "dateformat": "dd/MM/yyyy",
  "hourend": 17,
  "hourstart": 9,
  "timeformat": "24",
  "timezone": "Europe/London",
  "weekstart": 1
}
```

### List calendars

List your calendars with the uid each other action takes. By default only your own calendars; choose a category for group, app or shared ones.

**Inputs**

- Category (`category`, text): Optional. Which calendars (default your own). One of: `own` (My calendars), `group` (Group calendars), `app` (App calendars), `others` (Shared with me), `all`.
- Include hidden calendars (`include_hidden`, true/false): Optional. Also list calendars you have hidden. Default: `false`.

**Outputs**: Calendars.

- `calendars` (list): The calendars.
- `count` (number): How many calendars were returned.

**Example output**

```json
{
  "calendars": [
    {
      "category": "own",
      "color": "#4986E7",
      "description": "Team events",
      "id": "1234567000000012345",
      "include_infreebusy": true,
      "isdefault": false,
      "name": "Team",
      "privilege": "owner",
      "reminders": [
        {
          "action": "popup",
          "minutes": "-15"
        }
      ],
      "status": true,
      "textcolor": "#FFFFFF",
      "timezone": "Europe/London",
      "uid": "l9WWZCf_SJWcr3uIuBOq5g==",
      "visibility": true
    }
  ],
  "count": 1
}
```

### List events

List a calendar's events between two days, at most 31 days apart counting both.

**Inputs**

- Calendar (`calendar_uid`, text, required): The calendar. Pick it from the list, or type its uid (from 'List calendars') or default for your default calendar.
- From (`from_date`, date, required): The first day.
- To (`to_date`, date, required): The last day.
- One row per occurrence (`expand_recurring`, true/false): Optional. List each occurrence of a repeating event separately (Zoho then returns fewer details). Default: `false`.
- Time zone (`timezone`, text): Optional. An IANA time zone such as Europe/London. Leave blank for your Zoho Calendar time zone.

**Outputs**: Events.

- `count` (number): How many events were returned.
- `events` (list): The events.

**Example output**

```json
{
  "count": 1,
  "events": [
    {
      "attendees": [
        {
          "email": "bob@example.com",
          "status": "NEEDS-ACTION"
        }
      ],
      "caluid": "l9WWZCf_SJWcr3uIuBOq5g==",
      "dateandtime": {
        "end": "20261031T110000+0000",
        "start": "20261031T100000+0000",
        "timezone": "Europe/London"
      },
      "description": "Quarterly planning",
      "end": "20261031T110000",
      "etag": "1790000000000",
      "isallday": false,
      "isprivate": false,
      "location": "Room 1",
      "organizer": "ada@example.com",
      "start": "20261031T100000",
      "title": "Planning",
      "uid": "8f1c2d3e4f5a46b7a8c9d0e1f2a3b4c5@zoho.com"
    }
  ]
}
```

### List occurrences of a repeating event

List the occurrences of a repeating event between two days, at most 90 days apart counting both.

**Inputs**

- Calendar (`calendar_uid`, text, required): The calendar. Pick it from the list, or type its uid (from 'List calendars') or default for your default calendar.
- Event uid (`event_uid`, text, required): The event's uid (ends in @zoho.com), from 'List events', 'Search events' or 'Create event'.
- From (`from_date`, date, required): The first day.
- To (`to_date`, date, required): The last day.

**Outputs**: Events.

- `count` (number): How many events were returned.
- `events` (list): The events.

**Example output**

```json
{
  "count": 1,
  "events": [
    {
      "attendees": [
        {
          "email": "bob@example.com",
          "status": "NEEDS-ACTION"
        }
      ],
      "caluid": "l9WWZCf_SJWcr3uIuBOq5g==",
      "dateandtime": {
        "end": "20261031T110000+0000",
        "start": "20261031T100000+0000",
        "timezone": "Europe/London"
      },
      "description": "Quarterly planning",
      "end": "20261031T110000",
      "etag": "1790000000000",
      "isallday": false,
      "isprivate": false,
      "location": "Room 1",
      "organizer": "ada@example.com",
      "recurrenceid": "20261031T100000Z",
      "start": "20261031T100000",
      "title": "Planning",
      "uid": "8f1c2d3e4f5a46b7a8c9d0e1f2a3b4c5@zoho.com"
    }
  ]
}
```

### Move event

Move an event to another of your calendars. Works between personal and group calendars, not shared or app calendars.

**Inputs**

- Calendar (`calendar_uid`, text, required): The calendar. Pick it from the list, or type its uid (from 'List calendars') or default for your default calendar.
- Event uid (`event_uid`, text, required): The event's uid (ends in @zoho.com), from 'List events', 'Search events' or 'Create event'.
- Move to calendar (`destination_calendar_uid`, text, required): The calendar to move it to.

**Outputs**: A Zoho Calendar event.

- `attendees` (list): The attendees.
- `calid` (text): Zoho's internal id of that calendar.
- `caluid` (text): The uid of the calendar it is in.
- `color` (text): The event's colour.
- `createdby` (text): Who created it.
- `createdtime` (text): When it was created.
- `dateandtime` (object): The event's start and end.
- `description` (text): The event's description.
- `duration` (number): Its length in seconds.
- `end` (text): The end in the user's time zone.
- `estatus` (text): Zoho's status for the change, for example added or updated.
- `etag` (text): Its version; changes on every edit.
- `isallday` (true/false): Whether it is an all-day event.
- `isprivate` (true/false): Whether it is private.
- `lastmodifiedtime` (text): When it was last changed.
- `location` (text): The event's location.
- `modifiedby` (text): Who last changed it.
- `multiday` (true/false): Whether it spans several days.
- `organizer` (text): The organizer's email address.
- `recurrenceid` (text): Which occurrence this is, for one occurrence of a series.
- `reminders` (list): The reminders.
- `rrule` (text): Its repeat rule, for a repeating event.
- `start` (text): The start in the user's time zone, for example 20261031T100000.
- `title` (text): The event's title.
- `transparency` (number): 0 shows as busy, 1 as free.
- `uid` (text): The event's uid: the id every other event action takes.
- `url` (text): A link attached to the event.
- `viewEventURL` (text): A link to the event in Zoho Calendar.

**Example output**

```json
{
  "attendees": [
    {
      "email": "bob@example.com",
      "status": "NEEDS-ACTION"
    }
  ],
  "caluid": "a3fe8c1b2d4e4f6a8b0c2d4e6f8a0b1c",
  "dateandtime": {
    "end": "20261031T110000+0000",
    "start": "20261031T100000+0000",
    "timezone": "Europe/London"
  },
  "description": "Quarterly planning",
  "end": "20261031T110000",
  "estatus": "updated",
  "etag": "1790000000000",
  "isallday": false,
  "isprivate": false,
  "location": "Room 1",
  "organizer": "ada@example.com",
  "start": "20261031T100000",
  "title": "Planning",
  "uid": "8f1c2d3e4f5a46b7a8c9d0e1f2a3b4c5@zoho.com"
}
```

### Search events

Find a calendar's events whose title contains some text, between two days at most 90 days apart.

**Inputs**

- Calendar (`calendar_uid`, text, required): The calendar. Pick it from the list, or type its uid (from 'List calendars') or default for your default calendar.
- Title contains (`search_text`, text, required): The text to look for in event titles.
- From (`from_date`, date, required): The first day.
- To (`to_date`, date, required): The last day.

**Outputs**: Events whose title matched.

- `count` (number): How many matched.
- `events` (list): The matching events.

**Example output**

```json
{
  "count": 1,
  "events": [
    {
      "caluid": "l9WWZCf_SJWcr3uIuBOq5g==",
      "dateandtime": {
        "end": "20261031T110000+0000",
        "start": "20261031T100000+0000",
        "timezone": "Europe/London"
      },
      "isallday": false,
      "timezone": "Europe/London",
      "title": "Planning",
      "uid": "8f1c2d3e4f5a46b7a8c9d0e1f2a3b4c5@zoho.com"
    }
  ]
}
```

### Share calendar

Share a calendar with someone by email, change their access, or stop sharing with them.

**Inputs**

- Calendar (`calendar_uid`, text, required): The calendar. Pick it from the list, or type its uid (from 'List calendars') or default for your default calendar.
- Email (`email`, text, required): The person's email address.
- Access (`privilege`, text): Optional. What they can see or do (default view). One of: `freebusy` (Free/busy only), `view` (View events), `moderate` (Add and edit events), `delegate` (Manage on my behalf).
- Change (`mode`, text): Optional. Share, change access, or stop (default share). One of: `add` (Share), `edit` (Change access), `delete` (Stop sharing).

**Outputs**: The sharing change.

- `calendar_uid` (text): The calendar's uid.
- `email` (text): The email address the change was for.
- `message` (text): Zoho's confirmation, for example Updated Successfully.
- `mode` (text): add, edit or delete.
- `privilege` (text): The access given, for add and edit.
- `status` (text): success.

**Example output**

```json
{
  "calendar_uid": "l9WWZCf_SJWcr3uIuBOq5g==",
  "email": "bob@example.com",
  "message": "Updated Successfully",
  "mode": "add",
  "privilege": "view",
  "status": "success"
}
```

### Update calendar

Rename a calendar or change its colour, description, time zone or visibility. Only what you fill in is changed.

**Inputs**

- Calendar (`calendar_uid`, text, required): The calendar. Pick it from the list, or type its uid (from 'List calendars') or default for your default calendar.
- Name (`name`, text): Optional. A new name, up to 50 characters.
- Colour (`color`, text): Optional. A hex colour such as #4986E7.
- Description (`description`, text): Optional. A new description.
- Time zone (`timezone`, text): Optional. An IANA time zone such as Europe/London. Leave blank for your Zoho Calendar time zone.
- Free/busy (`include_in_free_busy`, text): Optional. Whether this calendar's events make you show as busy. One of: `include` (Count as busy), `exclude` (Don't count as busy).
- Public access (`public_access`, text): Optional. What people without access can see of this calendar. One of: `disable` (Nothing), `freebusy` (Free/busy only), `view` (Events).

**Outputs**: A Zoho Calendar calendar.

- `allowed_conference` (text): The conferencing services it allows.
- `caltype` (text): Zoho's calendar type name.
- `category` (text): own, group, app or others.
- `color` (text): The calendar's colour, for example #8cbf40.
- `createdtime` (text): When it was created.
- `ctag` (number): Changes whenever the calendar's events change.
- `description` (text): The calendar's description.
- `id` (text): Zoho's internal numeric id (not the one to pass to other actions).
- `include_infreebusy` (true/false): Whether its events count towards free/busy.
- `isdefault` (true/false): Whether it is the user's default calendar.
- `modifiedtime` (text): When it was last changed.
- `name` (text): The calendar's name.
- `order` (number): Its position in the calendar list.
- `owner` (text): The calendar's owner.
- `privilege` (text): What the connected user may do with it, for example owner.
- `reminders` (list): The default reminders for its events.
- `status` (true/false): Whether its events are shown.
- `textcolor` (text): The text colour of its events.
- `timezone` (text): The calendar's time zone, for example Asia/Kolkata.
- `type` (number): Zoho's calendar type number.
- `uid` (text): The calendar's uid: the id every other action takes.
- `visibility` (true/false): Whether it is shown in the calendar list.

**Example output**

```json
{
  "category": "own",
  "color": "#4986E7",
  "description": "Team events",
  "id": "1234567000000012345",
  "include_infreebusy": true,
  "isdefault": false,
  "name": "Team",
  "privilege": "owner",
  "reminders": [
    {
      "action": "popup",
      "minutes": "-15"
    }
  ],
  "status": true,
  "textcolor": "#FFFFFF",
  "timezone": "Europe/London",
  "uid": "l9WWZCf_SJWcr3uIuBOq5g==",
  "visibility": true
}
```

### Update event

Change an event. Only what you fill in is changed; for a repeating event the whole series changes.

**Inputs**

- Calendar (`calendar_uid`, text, required): The calendar. Pick it from the list, or type its uid (from 'List calendars') or default for your default calendar.
- Event uid (`event_uid`, text, required): The event's uid (ends in @zoho.com), from 'List events', 'Search events' or 'Create event'.
- Title (`title`, text): Optional. The event's title. Leave blank to keep the current one.
- Start (`start`, date and time): When a timed event starts. For an all-day event, set Start date and End date instead. Leave blank to keep the current one.
- End (`end`, date and time): When a timed event ends. Leave blank to keep the current one.
- Start date (all day) (`start_date`, date): For an all-day event: its first day. Leave blank for a timed event.
- End date (all day) (`end_date`, date): For an all-day event: its last day.
- Time zone (`timezone`, text): Optional. An IANA time zone such as Europe/London. Leave blank for your Zoho Calendar time zone.
- Description (`description`, text): Optional. Up to 10,000 characters. Leave blank to keep the current one.
- Location (`location`, text): Optional. Up to 255 characters. Leave blank to keep the current one.
- Link (`url`, text): Optional. A link to attach to the event. Leave blank to keep the current one.
- Colour (`color`, text): Optional. A hex colour such as #4986E7.
- Privacy (`privacy`, text): Optional. A private event hides its details from others. One of: `public`, `private`.
- Show as (`show_as`, text): Optional. Whether the event makes you busy (default busy). One of: `busy`, `free`.
- Attendees (`attendees`, list): Optional. Email addresses to invite. Replaces the current attendees.
- Attendee permission (`attendee_permission`, text): Optional. What the attendees may do with the event. One of: `guest`, `view` (View attendees), `invite` (Invite others), `edit` (Edit the event).
- Reminder (minutes before) (`reminder_minutes`, number): Optional. Remind this many minutes before the start. From 0 to 40320.
- Reminder type (`reminder_action`, text): Optional. How to remind (default pop-up). One of: `popup` (Pop-up), `email`, `notification`.
- Repeat rule (`rrule`, text): Optional. Makes the event repeat, as an iCalendar rule such as FREQ=WEEKLY;BYDAY=MO,WE;COUNT=10 (FREQ is DAILY, WEEKLY, MONTHLY or YEARLY).
- Email attendees (`notify_attendees`, text): Optional. Who Zoho emails about this change (default nobody). One of: `none` (Nobody), `attendees`, `attendees_and_me` (Attendees and me).

**Outputs**: A Zoho Calendar event.

- `attendees` (list): The attendees.
- `calid` (text): Zoho's internal id of that calendar.
- `caluid` (text): The uid of the calendar it is in.
- `color` (text): The event's colour.
- `createdby` (text): Who created it.
- `createdtime` (text): When it was created.
- `dateandtime` (object): The event's start and end.
- `description` (text): The event's description.
- `duration` (number): Its length in seconds.
- `end` (text): The end in the user's time zone.
- `estatus` (text): Zoho's status for the change, for example added or updated.
- `etag` (text): Its version; changes on every edit.
- `isallday` (true/false): Whether it is an all-day event.
- `isprivate` (true/false): Whether it is private.
- `lastmodifiedtime` (text): When it was last changed.
- `location` (text): The event's location.
- `modifiedby` (text): Who last changed it.
- `multiday` (true/false): Whether it spans several days.
- `organizer` (text): The organizer's email address.
- `recurrenceid` (text): Which occurrence this is, for one occurrence of a series.
- `reminders` (list): The reminders.
- `rrule` (text): Its repeat rule, for a repeating event.
- `start` (text): The start in the user's time zone, for example 20261031T100000.
- `title` (text): The event's title.
- `transparency` (number): 0 shows as busy, 1 as free.
- `uid` (text): The event's uid: the id every other event action takes.
- `url` (text): A link attached to the event.
- `viewEventURL` (text): A link to the event in Zoho Calendar.

**Example output**

```json
{
  "attendees": [
    {
      "email": "bob@example.com",
      "status": "NEEDS-ACTION"
    }
  ],
  "caluid": "l9WWZCf_SJWcr3uIuBOq5g==",
  "dateandtime": {
    "end": "20261031T110000+0000",
    "start": "20261031T100000+0000",
    "timezone": "Europe/London"
  },
  "description": "Quarterly planning",
  "end": "20261031T110000",
  "estatus": "updated",
  "etag": "1790000000000",
  "isallday": false,
  "isprivate": false,
  "location": "Room 1",
  "organizer": "ada@example.com",
  "start": "20261031T100000",
  "title": "Planning",
  "uid": "8f1c2d3e4f5a46b7a8c9d0e1f2a3b4c5@zoho.com"
}
```
