gws-calendar
googleworkspace/cli
Manage Google Calendar events, calendars, and access control via CLI.
What is gws-calendar?
Google Calendar skill provides command-line access to Google Calendar API resources including events, calendars, ACL rules, and free/busy information. Use it to create, update, delete, and query calendar data programmatically.
- Create, read, update, and delete calendar events
- Manage calendar metadata and properties
- Control calendar access rules (ACL)
- Query free/busy availability across calendars
- Import events and create recurring event instances
- Watch for real-time changes to calendars and events
How to install gws-calendar
npx skills add null --skill gws-calendar- gws CLI installed and configured
- Google Workspace authentication set up (see gws-shared/SKILL.md)
- Appropriate Google Calendar API permissions
How to use gws-calendar
- 1.Run `gws calendar --help` to browse available resources and methods
- 2.Use `gws schema calendar.<resource>.<method>` to inspect required parameters and types
- 3.Build commands with `gws calendar <resource> <method> [flags]` using discovered parameters
- 4.Use helper commands like `gws calendar +insert` for common tasks or `gws calendar +agenda` to view upcoming events
- 5.Pass parameters via `--params` or `--json` flags based on API requirements
Use cases
- Automate event creation from external data sources
- Bulk manage calendar access permissions
- Query team availability for scheduling
- Integrate calendar data into workflows
- Monitor calendar changes in real-time
- Developers automating calendar workflows
- System administrators managing shared calendars
- Teams building calendar integrations
- Anyone needing programmatic calendar control
gws-calendar FAQ
This skill provides full access to all Google Calendar API resources and methods. The gws-calendar-insert helper command is a convenience wrapper for creating events. Use the main skill for advanced operations like ACL management, free/busy queries, or calendar metadata updates.
Authentication is handled by the gws CLI framework. See gws-shared/SKILL.md for setup instructions. You must be authenticated as the intended data owner for operations like creating calendars.
Yes, use the `calendars.clear` method to delete all events from a primary calendar. For secondary calendars, use `calendars.delete` to remove the calendar itself.
Use the `freebusy.query` method to check availability across multiple calendars. This returns free/busy blocks without exposing event details.
Run `gws schema calendar.<resource>.<method>` to see required and optional parameters, their types, and defaults. Use `--params` or `--json` flags to pass values.
Full instructions (SKILL.md)
Source of truth, from googleworkspace/cli.
name: gws-calendar description: "Google Calendar: Manage calendars and events." metadata: version: 0.22.5 openclaw: category: "productivity" requires: bins: - gws cliHelp: "gws calendar --help"
calendar (v3)
PREREQUISITE: Read
../gws-shared/SKILL.mdfor auth, global flags, and security rules. If missing, rungws generate-skillsto create it.
gws calendar <resource> <method> [flags]
Helper Commands
| Command | Description |
|---|---|
+insert | create a new event |
+agenda | Show upcoming events across all calendars |
API Resources
acl
delete— Deletes an access control rule.get— Returns an access control rule.insert— Creates an access control rule.list— Returns the rules in the access control list for the calendar.patch— Updates an access control rule. This method supports patch semantics.update— Updates an access control rule.watch— Watch for changes to ACL resources.
calendarList
delete— Removes a calendar from the user's calendar list.get— Returns a calendar from the user's calendar list.insert— Inserts an existing calendar into the user's calendar list.list— Returns the calendars on the user's calendar list.patch— Updates an existing calendar on the user's calendar list. This method supports patch semantics.update— Updates an existing calendar on the user's calendar list.watch— Watch for changes to CalendarList resources.
calendars
clear— Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account.delete— Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars.get— Returns metadata for a calendar.insert— Creates a secondary calendar. The authenticated user for the request is made the data owner of the new calendar.
Note: We recommend to authenticate as the intended data owner of the calendar. You can use domain-wide delegation of authority to allow applications to act on behalf of a specific user. Don't use a service account for authentication. If you use a service account for authentication, the service account is the data owner, which can lead to unexpected behavior.
patch— Updates metadata for a calendar. This method supports patch semantics.update— Updates metadata for a calendar.
channels
stop— Stop watching resources through this channel
colors
get— Returns the color definitions for calendars and events.
events
delete— Deletes an event.get— Returns an event based on its Google Calendar ID. To retrieve an event using its iCalendar ID, call the events.list method using the iCalUID parameter.import— Imports an event. This operation is used to add a private copy of an existing event to a calendar. Only events with an eventType of default may be imported. Deprecated behavior: If a non-default event is imported, its type will be changed to default and any event-type-specific properties it may have will be dropped.insert— Creates an event.instances— Returns instances of the specified recurring event.list— Returns events on the specified calendar.move— Moves an event to another calendar, i.e. changes an event's organizer. Note that only default events can be moved; birthday, focusTime, fromGmail, outOfOffice and workingLocation events cannot be moved.patch— Updates an event. This method supports patch semantics.quickAdd— Creates an event based on a simple text string.update— Updates an event.watch— Watch for changes to Events resources.
freebusy
query— Returns free/busy information for a set of calendars.
settings
get— Returns a single user setting.list— Returns all user settings for the authenticated user.watch— Watch for changes to Settings resources.
Discovering Commands
Before calling any API method, inspect it:
# Browse resources and methods
gws calendar --help
# Inspect a method's required params, types, and defaults
gws schema calendar.<resource>.<method>
Use gws schema output to build your --params and --json flags.
Related skills
More from googleworkspace/cli and the wider catalog.
gws-gmail
Send, read, and manage Gmail emails via Google Workspace CLI.
gws-drive
Manage Google Drive files, folders, and shared drives via CLI.
gws-docs
Read and write Google Docs via command line.
gws-sheets
Read and write Google Sheets spreadsheets via CLI.
gws-gmail-send
Send emails via Gmail with attachments, CC/BCC, HTML support, and draft options.
gws-docs-write
Append plain text to the end of a Google Docs document.