FlowRunner
PricingContact
Theme
Start Free

Zoho Calendar

Scheduling

Connect AI agents to Zoho Calendar, the calendar app in the Zoho suite. Agents create and update calendars and events and check free/busy availability so schedules across the Zoho suite stay coordinated automatically.

Verified 10 actions OAuth available
A record in another system reaches a state that requires a scheduled commitment
List Calendars resolves the right calendar UID for the team or the workstream
Get Free Busy returns the busy periods for each attendee without exposing event details
Create Event writes the event with attendees, location, and a Zoho Meeting conference
Get Event reads the event back with a fresh etag, ready for any later change
Attendees are invited by email and the originating record is updated with the event UID
A person approves before Delete Calendar removes a calendar and everything on it

What This Integration Enables

Zoho Calendar is the calendar most useful when the rest of the work already lives in Zoho, which makes this connector a coordination layer rather than a scheduling product in its own right. It does two things well. It manages calendars as objects, so a flow can create a dedicated calendar for a project, a cohort, or a rotation and take it away again when the work ends. And it manages events on those calendars with attendees invited by email, an optional Zoho Meeting conference attached, all-day handling, and recurring occurrences expanded on request.

The design detail worth building around is the etag. Get Event returns one alongside the event, and Update Event and Delete Event both require it, so Zoho can tell whether the version you are acting on is the version you last read. That is a real concurrency guard and it changes how flows should be written: read the event first, carry the etag, and let the platform reject a change that would have quietly overwritten somebody else's edit. Get Free Busy is the other operation that earns its place, because it answers the availability question over a date range without exposing what anybody is actually doing, which is the only version of that question a lot of organizations will allow an automation to ask. Two boundaries shape flow design. Event list ranges are capped at 31 days by Zoho, so surveying a longer period means paging through windows. And there are no triggers here, so flows start from a schedule or from an event in another system rather than from a push out of the calendar. Connection is by OAuth2 against your Zoho data center region. Agents create, read, update, and coordinate. Removing a container whose full contents nobody has seen goes to a person, which is the human-in-the-loop default FlowRunner builds around. Every operation here is built and verified against Zoho's official API.

Without FlowRunner

Calendars created and forgotten Project and team calendars accumulate, and nobody is sure which ones are still live
Availability checked by asking Finding a time means messaging people or opening calendars that may not be shared
Concurrent edits overwrite each other Two changes to the same event land in sequence and the second one silently wins

With FlowRunner

Calendar structure managed in flow Create Calendar and List Calendars keep the calendar layout in step with how work is organized
Availability read directly Get Free Busy returns busy periods across a date range without revealing what anybody is doing
Concurrent edits detected, not absorbed Update Event carries the etag from the last read, so Zoho can tell when something changed underneath

Use Case Scenarios

A Calendar That Exists for Exactly as Long as the Project Does

A new client engagement is approved in the CRM. The agent runs Create Calendar with the client name, a color drawn from the account's segment, and the delivery team's timezone, then records the returned UID against the HubSpot deal so every later flow can find it. Kickoff, milestone reviews, and the retrospective are written with Create Event as the plan firms up, each with the delivery team as attendees and a Zoho Meeting conference attached. The engagement's schedule lives in one place that did not exist last week, and everyone who joins the project inherits it rather than reconstructing it from a thread.

Finding a Time Without Reading Anyone's Calendar

An escalation needs four people in a room within 48 hours. The agent runs Get Free Busy for each of them across the next two days, receiving busy periods with no titles, no attendees, and no detail about what those blocks are. It computes the overlap, picks the earliest window that clears a 30 minute duration, and runs Create Event with all four as attendees. Zoho sends the invitations. A summary posts to Slack naming the time and the reason. Nobody had to share a calendar, and no automation ever saw the contents of one.

Changing an Event Without Overwriting Somebody Else's Change

A supplier moves a delivery window, and the coordination call needs to shift with it. The agent runs Get Event for the existing entry, which returns the full record and a current etag, then builds the update from what it read rather than from what it assumed. Update Event goes out with the new start and end times and the etag from that read. If a colleague had already moved the same event while the flow was running, Zoho detects the mismatch instead of accepting a change built on stale data. The agent reports the conflict to the coordinator through Microsoft Teams and the originating record in Airtable is updated only once the write actually lands.

Human-in-Loop Highlight

Zoho guards the small destructive act carefully and leaves the large one open. Delete Event will not run without the event's current etag, which means the platform insists you have read that specific version of that specific event before you are allowed to remove it. Delete Calendar takes a UID and nothing else, and it permanently removes the calendar along with every event on it. So the operation that destroys one meeting demands proof you looked, and the operation that destroys hundreds does not. That asymmetry matters more here than it would elsewhere because of a second limit: List Events is capped at 31 days per call by Zoho. An agent trying to establish that a calendar is genuinely obsolete cannot survey it in one read. It can page through windows, but a calendar that looks empty across the four windows it checked may hold an annual audit review, a renewal date, or a compliance deadline sitting just outside them. Certainty about what is on a calendar gets assembled from slices, and Delete Calendar acts on the whole thing. So the agent gathers the slices and stops. It posts to Teams: "Calendar Q1 Vendor Reviews (UID ending 8c11) is proposed for deletion. List Events across the next 120 days in 31 day windows found 2 events, both in March, both with external attendees. Nothing found beyond that range. Delete the calendar, delete just those events, or leave it?" Creating calendars, writing events, reading free and busy time, and reconciling changes against etags all run unsupervised. Removing a container whose full contents nobody has seen does not.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

10 actions

Calendars

4
  • List Calendars Lists every calendar in the connected account, including the default calendar and any additional or subscribed ones, with each calendar's UID, name, color, timezone, and privilege. The UID it returns is what every event operation expects, so most flows begin here.
  • Get Calendar Retrieves one calendar in full by UID, including its name, color, timezone, description, visibility settings, and privilege level. Useful for confirming that the calendar a flow is about to write to is the one a person would recognize by name.
  • Create Calendar Creates a new calendar in the connected account. A name and a hex color are required, and you can optionally set a description, a timezone, and the Free/Busy visibility level. Returns the created calendar with its new UID, ready to store against whatever record the calendar belongs to.
  • Delete Calendar Deletes a calendar from the connected account. This permanently removes the calendar and all of its events in one call, and unlike the event operations it does not require an etag, so nothing forces a read before the removal.

Events

5
  • List Events Lists the events in a calendar, optionally scoped by a start and end date/time and a timezone. Zoho caps the range at 31 days, so longer surveys page through consecutive windows. Set Expand Recurring to return each occurrence of a repeating event separately rather than the series definition.
  • Get Event Retrieves one event in full, including title, description, start and end, attendees, reminders, organizer, and the etag. The etag is required to update or delete the event, so read the event first whenever a flow intends to modify it.
  • Create Event Creates an event in a calendar. A title and both a start and end date/time are required, and location, description, attendees, timezone, an all-day flag, and an attached Zoho Meeting conference are all optional. Attendees are invited by email, so this action reaches people's inboxes. Returns the new UID and etag.
  • Update Event Updates an existing event. The etag from a prior Get Event read is required so Zoho can detect concurrent changes, and the start and end date/time are always required alongside whatever else you are changing. Fields left empty are not modified. Returns the updated event with a fresh etag.
  • Delete Event Deletes an event from a calendar. Both the event UID and its current etag from a prior Get Event read are required, so Zoho can confirm you are removing the event you last saw. This permanently removes the event.

Availability

1
  • Get Free Busy Retrieves a user's free and busy schedule over a date range without exposing any event details. It returns the busy periods, or day by day busy ranges for the time-based type, between the start and end times. This is how a flow finds an open slot in an organization that will not share calendar contents with an automation.

Frequently Asked Questions

What can FlowRunner do with Zoho Calendar?

FlowRunner agents can run List Calendars, Get Calendar, and Create Calendar in Zoho Calendar, plus 7 more actions.

Does connecting Zoho Calendar to FlowRunner require OAuth?

Yes. Zoho Calendar connects to FlowRunner with OAuth 2.0, so agents authenticate without handling raw credentials.

Can Zoho Calendar trigger a FlowRunner workflow automatically?

Zoho Calendar doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with Zoho Calendar

$100 in credits. No card required. Connect in minutes.