PluginBench
Skill
Pass
Audit score 90

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
Prerequisites
  • gws CLI installed and configured
  • Google Workspace authentication set up (see gws-shared/SKILL.md)
  • Appropriate Google Calendar API permissions
Claude Code
Cursor
Windsurf
Cline

How to use gws-calendar

  1. 1.Run `gws calendar --help` to browse available resources and methods
  2. 2.Use `gws schema calendar.<resource>.<method>` to inspect required parameters and types
  3. 3.Build commands with `gws calendar <resource> <method> [flags]` using discovered parameters
  4. 4.Use helper commands like `gws calendar +insert` for common tasks or `gws calendar +agenda` to view upcoming events
  5. 5.Pass parameters via `--params` or `--json` flags based on API requirements

Use cases

Good for
  • 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
Who it's for
  • Developers automating calendar workflows
  • System administrators managing shared calendars
  • Teams building calendar integrations
  • Anyone needing programmatic calendar control

gws-calendar FAQ

What's the difference between this skill and gws-calendar-insert?

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.

How do I authenticate with Google Calendar?

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.

Can I delete all events from a calendar?

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.

How do I find free/busy information?

Use the `freebusy.query` method to check availability across multiple calendars. This returns free/busy blocks without exposing event details.

What parameters do I need to pass for each method?

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.md for auth, global flags, and security rules. If missing, run gws generate-skills to create it.

gws calendar <resource> <method> [flags]

Helper Commands

CommandDescription
+insertcreate a new event
+agendaShow 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.