# create_calendar Behavior, inputs, outputs and permissions for create_calendar. Source: https://docs.getridian.com/developers/tools/create_calendar/ Language: en Reviewed: 2026-09-20 This reference is generated from the published tool contract. ## Behavior and boundaries Creates one new secondary Google calendar owned by the connected user. accountCalendarName must exactly and uniquely match the visible name of an existing Google calendar from list_calendars; it is used only to select the connected Google account and that existing calendar is not modified. requestId must be unique for this intended calendar and reused unchanged only for retries. The created calendar is permanently recorded as Ridian-created so delete_created_calendar can later delete it safely. ## Permissions Granted scopes, accounts, calendars and visibility rules limit access. Workspace administrators do not automatically gain access to other users’ accounts. `calendar:read`, `calendar:manage` [Consent and boundaries](https://docs.getridian.com/developers/authentication/) ## Input ```json { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "accountCalendarName": { "type": "string", "minLength": 1, "maxLength": 512, "description": "Exact visible name of one Google calendar returned by list_calendars; used only to choose the connected Google account. The named existing calendar is not modified." }, "requestId": { "type": "string", "minLength": 1, "maxLength": 128, "description": "Stable caller-generated key for this one intended calendar. Reuse it unchanged only when retrying the same creation." }, "name": { "type": "string", "minLength": 1, "maxLength": 512, "description": "Visible name for the new secondary Google calendar." }, "timeZone": { "description": "Optional IANA time zone for the new calendar, for example Europe/Berlin.", "type": "string", "minLength": 1, "maxLength": 128 } }, "required": [ "accountCalendarName", "requestId", "name" ], "additionalProperties": false } ``` ## Output ```json { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "ok": { "type": "boolean", "const": true }, "calendarId": { "type": "string" }, "name": { "type": "string" }, "provider": { "type": "string", "const": "google" }, "timeZone": { "type": "string" }, "idempotentReplay": { "type": "boolean" } }, "required": [ "ok", "calendarId", "name", "provider", "idempotentReplay" ], "additionalProperties": false } ``` ## Errors and retries Check the tool result for errors. Do not blindly retry writes after a timeout. Check the calendar state first. [Error handling](https://docs.getridian.com/developers/errors/)