google-calendar-automation by composiohq/awesome-claude-skills
npx skills add https://github.com/composiohq/awesome-claude-skills --skill google-calendar-automation通过 Composio 的 Google Calendar 工具包,自动化 Google Calendar 工作流程,包括事件创建、日程安排、可用性检查、参与者管理和日历浏览。
工具包文档 : composio.dev/toolkits/googlecalendar
RUBE_SEARCH_TOOLS 可用)RUBE_MANAGE_CONNECTIONS 使用 googlecalendar 工具包建立活跃的 Google Calendar 连接RUBE_SEARCH_TOOLS 以获取当前工具模式获取 Rube MCP : 在您的客户端配置中将 https://rube.app/mcp 添加为 MCP 服务器。无需 API 密钥——只需添加端点即可工作。
RUBE_SEARCH_TOOLS 有响应来验证 Rube MCP 是否可用广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
googlecalendar 工具包调用 RUBE_MANAGE_CONNECTIONS使用场景 : 用户希望创建、更新或删除日历事件
工具调用顺序 :
GOOGLECALENDAR_LIST_CALENDARS - 识别目标日历 ID [前提条件]GOOGLECALENDAR_GET_CURRENT_DATE_TIME - 获取带有时区的当前时间 [可选]GOOGLECALENDAR_FIND_FREE_SLOTS - 在预订前检查可用性 [可选]GOOGLECALENDAR_CREATE_EVENT - 创建事件 [必需]GOOGLECALENDAR_PATCH_EVENT - 更新现有事件的特定字段 [替代方案]GOOGLECALENDAR_UPDATE_EVENT - 完整替换更新事件 [替代方案]GOOGLECALENDAR_DELETE_EVENT - 删除事件 [可选]关键参数 :
calendar_id: 主日历使用 'primary',或使用特定的日历 IDstart_datetime: ISO 8601 格式 'YYYY-MM-DDTHH:MM:SS'(不能使用自然语言)timezone: IANA 时区名称(例如 'America/New_York',不能使用 'EST' 或 'PST')event_duration_hour: 小时数 (0+)event_duration_minutes: 分钟数 (仅限 0-59;绝不能使用 60+)summary: 事件标题attendees: 电子邮件地址数组(不能使用姓名)location: 事件地点的自由格式文本常见陷阱 :
start_datetime 必须是 ISO 8601 格式;自然语言如 'tomorrow' 会被拒绝event_duration_minutes 最大值为 59;应使用 event_duration_hour=1 而不是 event_duration_minutes=60timezone 必须是 IANA 标识符;缩写如 'EST'、'PST' 无效attendees 仅接受电子邮件地址,不接受姓名;请先解析姓名exclude_organizer=true使用场景 : 用户希望查找或浏览其日历上的事件
工具调用顺序 :
GOOGLECALENDAR_LIST_CALENDARS - 获取可用日历 [前提条件]GOOGLECALENDAR_FIND_EVENT - 按标题/关键词和时间范围搜索 [必需]GOOGLECALENDAR_EVENTS_LIST - 列出某个时间范围内的事件 [替代方案]GOOGLECALENDAR_EVENTS_INSTANCES - 列出重复事件的实例 [可选]关键参数 :
query / q: 自由文本搜索(匹配摘要、描述、地点、参与者)timeMin: 下限(带时区偏移的 RFC3339 格式,例如 '2024-01-01T00:00:00-08:00')timeMax: 上限(带时区偏移的 RFC3339 格式)singleEvents: true 表示将重复事件展开为实例orderBy: 'startTime'(需要 singleEvents=true)或 'updated'maxResults: 每页结果数(最大 2500)常见陷阱 :
timeMin/timeMax 会扫描整个日历,可能很慢pageToken 表示还有更多结果;请继续分页直到它消失orderBy='startTime' 需要 singleEvents=true使用场景 : 用户希望添加、移除或更新事件参与者
工具调用顺序 :
GOOGLECALENDAR_FIND_EVENT 或 GOOGLECALENDAR_EVENTS_LIST - 查找事件 [前提条件]GOOGLECALENDAR_PATCH_EVENT - 添加参与者(替换整个参与者列表)[必需]GOOGLECALENDAR_REMOVE_ATTENDEE - 通过电子邮件移除特定参与者 [必需]关键参数 :
event_id: 唯一事件标识符(不透明字符串,不是事件标题)attendees: 参与者电子邮件的完整列表(PATCH 会替换整个列表)attendee_email: 要移除的参与者电子邮件send_updates: 'all'、'externalOnly' 或 'none'常见陷阱 :
event_id 是技术标识符,不是事件标题;请始终先搜索以获取 IDPATCH_EVENT 的 attendees 字段会替换整个列表;请包含现有参与者以避免意外移除他们GMAIL_SEARCH_PEOPLE 将姓名解析为电子邮件使用场景 : 用户希望查找可用时间段或检查忙碌时段
工具调用顺序 :
GOOGLECALENDAR_LIST_CALENDARS - 识别要检查的日历 [前提条件]GOOGLECALENDAR_GET_CURRENT_DATE_TIME - 获取带时区的当前时间 [可选]GOOGLECALENDAR_FIND_FREE_SLOTS - 跨日历查找空闲时段 [必需]GOOGLECALENDAR_FREE_BUSY_QUERY - 获取原始忙碌时段以计算间隙 [备用方案]GOOGLECALENDAR_CREATE_EVENT - 预订确认的时间段 [必需]关键参数 :
items: 要检查的日历 ID 列表(例如 ['primary'])time_min/time_max: 查询间隔(如果省略,默认为当前日期)timezone: 用于解释无时区时间戳的 IANA 时区calendarExpansionMax: 最大日历数 (1-50)groupExpansionMax: 每组最大成员数 (1-100)常见陷阱 :
GOOGLECALENDAR_FREE_BUSY_QUERY 需要带时区的 RFC3339 时间戳GOOGLECALENDAR_LIST_CALENDARS 用于枚举所有日历GOOGLECALENDAR_FIND_EVENT 或 GOOGLECALENDAR_EVENTS_LISTGMAIL_SEARCH_PEOPLEGOOGLECALENDAR_GET_CURRENT_DATE_TIME 获取用户时区的当前时间GOOGLECALENDAR_EVENTS_LIST 返回 nextPageToken;请迭代直到它消失GOOGLECALENDAR_LIST_CALENDARS 也支持分页;使用 page_tokenevent_duration_minutes 最大 59;更长的持续时间请使用小时| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 列出日历 | GOOGLECALENDAR_LIST_CALENDARS | max_results |
| 创建事件 | GOOGLECALENDAR_CREATE_EVENT | start_datetime, timezone, summary |
| 更新事件 | GOOGLECALENDAR_PATCH_EVENT | calendar_id, event_id, 要更新的字段 |
| 删除事件 | GOOGLECALENDAR_DELETE_EVENT | calendar_id, event_id |
| 搜索事件 | GOOGLECALENDAR_FIND_EVENT | query, timeMin, timeMax |
| 列出事件 | GOOGLECALENDAR_EVENTS_LIST | calendarId, timeMin, timeMax |
| 重复事件实例 | GOOGLECALENDAR_EVENTS_INSTANCES | calendarId, eventId |
| 查找空闲时段 | GOOGLECALENDAR_FIND_FREE_SLOTS | items, time_min, time_max, timezone |
| 空闲/忙碌查询 | GOOGLECALENDAR_FREE_BUSY_QUERY | timeMin, timeMax, items |
| 移除参与者 | GOOGLECALENDAR_REMOVE_ATTENDEE | event_id, attendee_email |
| 获取当前时间 | GOOGLECALENDAR_GET_CURRENT_DATE_TIME | timezone |
| 获取日历 | GOOGLECALENDAR_GET_CALENDAR | calendar_id |
由Composio提供支持
每周安装数
159
代码仓库
GitHub 星标数
47.0K
首次出现
2026年2月6日
安全审计
安装于
opencode107
gemini-cli100
claude-code99
codex90
openclaw90
antigravity71
Automate Google Calendar workflows including event creation, scheduling, availability checks, attendee management, and calendar browsing through Composio's Google Calendar toolkit.
Toolkit docs : composio.dev/toolkits/googlecalendar
RUBE_MANAGE_CONNECTIONS with toolkit googlecalendarRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP : Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit googlecalendarWhen to use : User wants to create, update, or delete calendar events
Tool sequence :
GOOGLECALENDAR_LIST_CALENDARS - Identify target calendar ID [Prerequisite]GOOGLECALENDAR_GET_CURRENT_DATE_TIME - Get current time with proper timezone [Optional]GOOGLECALENDAR_FIND_FREE_SLOTS - Check availability before booking [Optional]GOOGLECALENDAR_CREATE_EVENT - Create the event [Required]GOOGLECALENDAR_PATCH_EVENT - Update specific fields of an existing event [Alternative]GOOGLECALENDAR_UPDATE_EVENT - Full replacement update of an event [Alternative]GOOGLECALENDAR_DELETE_EVENT - Delete an event [Optional]Key parameters :
calendar_id: Use 'primary' for main calendar, or specific calendar IDstart_datetime: ISO 8601 format 'YYYY-MM-DDTHH:MM:SS' (NOT natural language)timezone: IANA timezone name (e.g., 'America/New_York', NOT 'EST' or 'PST')event_duration_hour: Hours (0+)event_duration_minutes: Minutes (0-59 only; NEVER use 60+)summary: Event titleattendees: Array of email addresses (NOT names)location: Free-form text for event locationPitfalls :
start_datetime must be ISO 8601; natural language like 'tomorrow' is rejectedevent_duration_minutes max is 59; use event_duration_hour=1 instead of event_duration_minutes=60timezone must be IANA identifier; abbreviations like 'EST', 'PST' are NOT validattendees only accepts email addresses, not names; resolve names firstexclude_organizer=trueWhen to use : User wants to find or browse events on their calendar
Tool sequence :
GOOGLECALENDAR_LIST_CALENDARS - Get available calendars [Prerequisite]GOOGLECALENDAR_FIND_EVENT - Search by title/keyword with time bounds [Required]GOOGLECALENDAR_EVENTS_LIST - List events in a time range [Alternative]GOOGLECALENDAR_EVENTS_INSTANCES - List instances of a recurring event [Optional]Key parameters :
query / q: Free-text search (matches summary, description, location, attendees)timeMin: Lower bound (RFC3339 with timezone offset, e.g., '2024-01-01T00:00:00-08:00')timeMax: Upper bound (RFC3339 with timezone offset)singleEvents: true to expand recurring events into instancesorderBy: 'startTime' (requires singleEvents=true) or 'updated'maxResults: Results per page (max 2500)Pitfalls :
timeMin/timeMax scans the full calendar and can be slowpageToken in response means more results; paginate until absentorderBy='startTime' requires singleEvents=trueWhen to use : User wants to add, remove, or update event attendees
Tool sequence :
GOOGLECALENDAR_FIND_EVENT or GOOGLECALENDAR_EVENTS_LIST - Find the event [Prerequisite]GOOGLECALENDAR_PATCH_EVENT - Add attendees (replaces entire attendees list) [Required]GOOGLECALENDAR_REMOVE_ATTENDEE - Remove a specific attendee by email [Required]Key parameters :
event_id: Unique event identifier (opaque string, NOT the event title)attendees: Full list of attendee emails (PATCH replaces entire list)attendee_email: Email to removesend_updates: 'all', 'externalOnly', or 'none'Pitfalls :
event_id is a technical identifier, NOT the event title; always search first to get the IDPATCH_EVENT attendees field replaces the entire list; include existing attendees to avoid removing themGMAIL_SEARCH_PEOPLE to resolve names to emails before managing attendeesWhen to use : User wants to find available time slots or check busy periods
Tool sequence :
GOOGLECALENDAR_LIST_CALENDARS - Identify calendars to check [Prerequisite]GOOGLECALENDAR_GET_CURRENT_DATE_TIME - Get current time with timezone [Optional]GOOGLECALENDAR_FIND_FREE_SLOTS - Find free intervals across calendars [Required]GOOGLECALENDAR_FREE_BUSY_QUERY - Get raw busy periods for computing gaps [Fallback]GOOGLECALENDAR_CREATE_EVENT - Book a confirmed slot [Required]Key parameters :
items: List of calendar IDs to check (e.g., ['primary'])time_min/time_max: Query interval (defaults to current day if omitted)timezone: IANA timezone for interpreting naive timestampscalendarExpansionMax: Max calendars (1-50)groupExpansionMax: Max members per group (1-100)Pitfalls :
GOOGLECALENDAR_FREE_BUSY_QUERY requires RFC3339 timestamps with timezoneGOOGLECALENDAR_LIST_CALENDARS to enumerate all calendarsGOOGLECALENDAR_FIND_EVENT or GOOGLECALENDAR_EVENTS_LISTGMAIL_SEARCH_PEOPLEGOOGLECALENDAR_GET_CURRENT_DATE_TIME to get current time in user's timezoneGOOGLECALENDAR_EVENTS_LIST returns nextPageToken; iterate until absentGOOGLECALENDAR_LIST_CALENDARS also paginates; use page_tokenevent_duration_minutes max 59; use hours for longer durations| Task | Tool Slug | Key Params |
|---|---|---|
| List calendars | GOOGLECALENDAR_LIST_CALENDARS | max_results |
| Create event | GOOGLECALENDAR_CREATE_EVENT | start_datetime, timezone, summary |
| Update event | GOOGLECALENDAR_PATCH_EVENT |
Powered byComposio
Weekly Installs
159
Repository
GitHub Stars
47.0K
First Seen
Feb 6, 2026
Security Audits
Gen Agent Trust HubWarnSocketPassSnykPass
Installed on
opencode107
gemini-cli100
claude-code99
codex90
openclaw90
antigravity71
Skills CLI 使用指南:AI Agent 技能包管理器安装与管理教程
33,600 周安装
calendar_id, event_id, fields to update |
| Delete event | GOOGLECALENDAR_DELETE_EVENT | calendar_id, event_id |
| Search events | GOOGLECALENDAR_FIND_EVENT | query, timeMin, timeMax |
| List events | GOOGLECALENDAR_EVENTS_LIST | calendarId, timeMin, timeMax |
| Recurring instances | GOOGLECALENDAR_EVENTS_INSTANCES | calendarId, eventId |
| Find free slots | GOOGLECALENDAR_FIND_FREE_SLOTS | items, time_min, time_max, timezone |
| Free/busy query | GOOGLECALENDAR_FREE_BUSY_QUERY | timeMin, timeMax, items |
| Remove attendee | GOOGLECALENDAR_REMOVE_ATTENDEE | event_id, attendee_email |
| Get current time | GOOGLECALENDAR_GET_CURRENT_DATE_TIME | timezone |
| Get calendar | GOOGLECALENDAR_GET_CALENDAR | calendar_id |