update_public_calendar
Behavior, inputs, outputs and permissions for update_public_calendar.
Reviewed · 2026-10-06 / Ridian
This reference is generated from the published tool contract.
Behavior and boundaries
Section titled “Behavior and boundaries”Changes name, description, time zone, language, default event length, color, website or whether upcoming events show on the subscribe page. Overwrites the given fields; subscribers see the change on their next fetch. mode=live switches a test calendar to live: [TEST] disappears from its name and it counts toward the plan’s live calendars; a live calendar cannot go back to test. Confirm with the user before switching to live.
Permissions
Section titled “Permissions”Granted scopes, accounts, calendars and visibility rules limit access. Workspace administrators do not automatically gain access to other users’ accounts.
public_calendars:write
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "calendar_id": { "type": "string", "minLength": 1, "maxLength": 64, "description": "Calendar id from list_public_calendars." }, "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "description": { "type": "string", "maxLength": 1000 }, "timezone": { "description": "IANA time zone, e.g. \"Europe/Berlin\". Default for events without their own zone.", "type": "string", "maxLength": 64 }, "language": { "type": "string", "enum": [ "de", "en" ] }, "default_duration_minutes": { "type": "integer", "minimum": 1, "maximum": 1440 }, "brand_color": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" }, "site_url": { "type": "string", "maxLength": 2000, "format": "uri" }, "show_events": { "type": "boolean" }, "mode": { "description": "Switch a test calendar to live. Omit to keep the mode.", "type": "string", "const": "live" } }, "required": [ "calendar_id" ], "additionalProperties": false}Output
Section titled “Output”{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "calendar": { "type": "object", "properties": { "id": { "type": "string" }, "mode": { "type": "string", "enum": [ "live", "test" ] }, "name": { "type": "string" }, "timezone": { "type": "string" }, "feed_url": { "type": "string" }, "subscribe_links": { "type": "object", "properties": { "google": { "type": "string" }, "outlook": { "type": "string" }, "office365": { "type": "string" }, "apple": { "type": "string" } }, "required": [ "google", "outlook", "office365", "apple" ], "additionalProperties": false }, "event_count": { "type": "number" }, "active_subscribers": { "type": "number" }, "console_url": { "type": "string" } }, "required": [ "id", "mode", "name", "timezone", "feed_url", "subscribe_links", "event_count", "active_subscribers", "console_url" ], "additionalProperties": false } }, "required": [ "calendar" ], "additionalProperties": false}Errors and retries
Section titled “Errors and retries”Check the tool result for errors. Do not blindly retry writes after a timeout. Check the current resource or send status first.