[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-google-workspace-recipe-find-free-time":3,"mdc-knqsqz-key":49,"related-org-google-workspace-recipe-find-free-time":137,"related-repo-google-workspace-recipe-find-free-time":282},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":44,"sourceUrl":47,"mdContent":48},"recipe-find-free-time","find meeting slots using calendar availability","Query Google Calendar free\u002Fbusy status for multiple users to find a meeting slot.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"google-workspace","Google Workspace","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fgoogle-workspace.png","googleworkspace",[13,15,18,21],{"name":9,"slug":8,"type":14},"tag",{"name":16,"slug":17,"type":14},"Google Calendar","google-calendar",{"name":19,"slug":20,"type":14},"Scheduling","scheduling",{"name":22,"slug":23,"type":14},"Meetings","meetings",29614,"https:\u002F\u002Fgithub.com\u002Fgoogleworkspace\u002Fcli","2026-07-12T08:25:14.868119",null,1717,[30,31,32,33,34,35,36,37,17,38,39,40,41,8,42,43],"agent-skills","ai-agent","automation","cli","discovery-api","gemini-cli-extension","google-admin","google-api","google-chat","google-docs","google-drive","google-sheets","oauth2","rust",{"repoUrl":25,"stars":24,"forks":28,"topics":45,"description":46},[30,31,32,33,34,35,36,37,17,38,39,40,41,8,42,43],"Google Workspace CLI — one command-line tool for Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin, and more. Dynamically built from Google Discovery Service. Includes AI agent skills.","https:\u002F\u002Fgithub.com\u002Fgoogleworkspace\u002Fcli\u002Ftree\u002FHEAD\u002Fskills\u002Frecipe-find-free-time","---\nname: recipe-find-free-time\ndescription: \"Query Google Calendar free\u002Fbusy status for multiple users to find a meeting slot.\"\nmetadata:\n  version: 0.22.5\n  openclaw:\n    category: \"recipe\"\n    domain: \"scheduling\"\n    requires:\n      bins:\n        - gws\n      skills:\n        - gws-calendar\n---\n\n# Find Free Time Across Calendars\n\n> **PREREQUISITE:** Load the following skills to execute this recipe: `gws-calendar`\n\nQuery Google Calendar free\u002Fbusy status for multiple users to find a meeting slot.\n\n## Steps\n\n1. Query free\u002Fbusy: `gws calendar freebusy query --json '{\"timeMin\": \"2024-03-18T08:00:00Z\", \"timeMax\": \"2024-03-18T18:00:00Z\", \"items\": [{\"id\": \"user1@company.com\"}, {\"id\": \"user2@company.com\"}]}'`\n2. Review the output to find overlapping free slots\n3. Create event in the free slot: `gws calendar +insert --summary 'Meeting' --attendee user1@company.com --attendee user2@company.com --start '2024-03-18T14:00:00' --end '2024-03-18T14:30:00'`\n\n",{"data":50,"body":60},{"name":4,"description":6,"metadata":51},{"version":52,"openclaw":53},"0.22.5",{"category":54,"domain":20,"requires":55},"recipe",{"bins":56,"skills":58},[57],"gws",[59],"gws-calendar",{"type":61,"children":62},"root",[63,72,94,98,105],{"type":64,"tag":65,"props":66,"children":68},"element","h1",{"id":67},"find-free-time-across-calendars",[69],{"type":70,"value":71},"text","Find Free Time Across Calendars",{"type":64,"tag":73,"props":74,"children":75},"blockquote",{},[76],{"type":64,"tag":77,"props":78,"children":79},"p",{},[80,86,88],{"type":64,"tag":81,"props":82,"children":83},"strong",{},[84],{"type":70,"value":85},"PREREQUISITE:",{"type":70,"value":87}," Load the following skills to execute this recipe: ",{"type":64,"tag":89,"props":90,"children":92},"code",{"className":91},[],[93],{"type":70,"value":59},{"type":64,"tag":77,"props":95,"children":96},{},[97],{"type":70,"value":6},{"type":64,"tag":99,"props":100,"children":102},"h2",{"id":101},"steps",[103],{"type":70,"value":104},"Steps",{"type":64,"tag":106,"props":107,"children":108},"ol",{},[109,121,126],{"type":64,"tag":110,"props":111,"children":112},"li",{},[113,115],{"type":70,"value":114},"Query free\u002Fbusy: ",{"type":64,"tag":89,"props":116,"children":118},{"className":117},[],[119],{"type":70,"value":120},"gws calendar freebusy query --json '{\"timeMin\": \"2024-03-18T08:00:00Z\", \"timeMax\": \"2024-03-18T18:00:00Z\", \"items\": [{\"id\": \"user1@company.com\"}, {\"id\": \"user2@company.com\"}]}'",{"type":64,"tag":110,"props":122,"children":123},{},[124],{"type":70,"value":125},"Review the output to find overlapping free slots",{"type":64,"tag":110,"props":127,"children":128},{},[129,131],{"type":70,"value":130},"Create event in the free slot: ",{"type":64,"tag":89,"props":132,"children":134},{"className":133},[],[135],{"type":70,"value":136},"gws calendar +insert --summary 'Meeting' --attendee user1@company.com --attendee user2@company.com --start '2024-03-18T14:00:00' --end '2024-03-18T14:30:00'",{"items":138,"total":281},[139,156,165,175,185,196,205,216,229,242,255,268],{"slug":140,"name":140,"fn":141,"description":142,"org":143,"tags":144,"stars":24,"repoUrl":25,"updatedAt":155},"gws-admin-reports","generate Google Workspace audit and usage reports","Google Workspace Admin SDK: Audit logs and usage reports.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[145,148,149,152],{"name":146,"slug":147,"type":14},"Audit","audit",{"name":9,"slug":8,"type":14},{"name":150,"slug":151,"type":14},"Logs","logs",{"name":153,"slug":154,"type":14},"Reporting","reporting","2026-07-12T08:26:31.062227",{"slug":59,"name":59,"fn":157,"description":158,"org":159,"tags":160,"stars":24,"repoUrl":25,"updatedAt":164},"manage Google Calendar events and schedules","Google Calendar: Manage calendars and events.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[161,162,163],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":19,"slug":20,"type":14},"2026-07-12T08:24:59.616333",{"slug":166,"name":166,"fn":167,"description":168,"org":169,"tags":170,"stars":24,"repoUrl":25,"updatedAt":174},"gws-calendar-agenda","show upcoming Google Calendar events","Google Calendar: Show upcoming events across all calendars.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[171,172,173],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":22,"slug":23,"type":14},"2026-07-12T08:25:10.888894",{"slug":176,"name":176,"fn":177,"description":178,"org":179,"tags":180,"stars":24,"repoUrl":25,"updatedAt":184},"gws-calendar-insert","create Google Calendar events","Google Calendar: Create a new event.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[181,182,183],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":19,"slug":20,"type":14},"2026-07-12T08:25:09.604012",{"slug":186,"name":186,"fn":187,"description":188,"org":189,"tags":190,"stars":24,"repoUrl":25,"updatedAt":195},"gws-chat","manage Google Chat spaces and messages","Google Chat: Manage Chat spaces and messages.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[191,192],{"name":9,"slug":8,"type":14},{"name":193,"slug":194,"type":14},"Messaging","messaging","2026-07-12T08:26:10.121585",{"slug":197,"name":197,"fn":198,"description":199,"org":200,"tags":201,"stars":24,"repoUrl":25,"updatedAt":204},"gws-chat-send","send messages to Google Chat spaces","Google Chat: Send a message to a space.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[202,203],{"name":9,"slug":8,"type":14},{"name":193,"slug":194,"type":14},"2026-07-12T08:24:45.761728",{"slug":206,"name":206,"fn":207,"description":208,"org":209,"tags":210,"stars":24,"repoUrl":25,"updatedAt":215},"gws-classroom","manage Google Classroom rosters and coursework","Google Classroom: Manage classes, rosters, and coursework.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[211,214],{"name":212,"slug":213,"type":14},"Education","education",{"name":9,"slug":8,"type":14},"2026-07-12T08:25:00.846861",{"slug":217,"name":217,"fn":218,"description":219,"org":220,"tags":221,"stars":24,"repoUrl":25,"updatedAt":228},"gws-docs","read and write Google Docs","Read and write Google Docs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[222,225,227],{"name":223,"slug":224,"type":14},"Documents","documents",{"name":226,"slug":39,"type":14},"Google Docs",{"name":9,"slug":8,"type":14},"2026-07-12T08:26:07.645598",{"slug":230,"name":230,"fn":231,"description":232,"org":233,"tags":234,"stars":24,"repoUrl":25,"updatedAt":241},"gws-docs-write","append text to Google Docs","Google Docs: Append text to a document.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[235,236,237,238],{"name":223,"slug":224,"type":14},{"name":226,"slug":39,"type":14},{"name":9,"slug":8,"type":14},{"name":239,"slug":240,"type":14},"Writing","writing","2026-07-12T08:26:22.261687",{"slug":243,"name":243,"fn":244,"description":245,"org":246,"tags":247,"stars":24,"repoUrl":25,"updatedAt":254},"gws-drive","manage files in Google Drive","Google Drive: Manage files, folders, and shared drives.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[248,251,253],{"name":249,"slug":250,"type":14},"File Storage","file-storage",{"name":252,"slug":40,"type":14},"Google Drive",{"name":9,"slug":8,"type":14},"2026-07-12T08:24:42.025037",{"slug":256,"name":256,"fn":257,"description":258,"org":259,"tags":260,"stars":24,"repoUrl":25,"updatedAt":267},"gws-drive-upload","upload files to Google Drive","Google Drive: Upload a file with automatic metadata.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[261,262,265,266],{"name":249,"slug":250,"type":14},{"name":263,"slug":264,"type":14},"File Uploads","file-uploads",{"name":252,"slug":40,"type":14},{"name":9,"slug":8,"type":14},"2026-07-12T08:25:02.071018",{"slug":269,"name":269,"fn":270,"description":271,"org":272,"tags":273,"stars":24,"repoUrl":25,"updatedAt":280},"gws-events","subscribe to Google Workspace events","Subscribe to Google Workspace events.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[274,276,277],{"name":275,"slug":32,"type":14},"Automation",{"name":9,"slug":8,"type":14},{"name":278,"slug":279,"type":14},"Notifications","notifications","2026-07-12T08:24:35.741351",95,{"items":283,"total":281},[284,291,297,303,309,314,319],{"slug":140,"name":140,"fn":141,"description":142,"org":285,"tags":286,"stars":24,"repoUrl":25,"updatedAt":155},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[287,288,289,290],{"name":146,"slug":147,"type":14},{"name":9,"slug":8,"type":14},{"name":150,"slug":151,"type":14},{"name":153,"slug":154,"type":14},{"slug":59,"name":59,"fn":157,"description":158,"org":292,"tags":293,"stars":24,"repoUrl":25,"updatedAt":164},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[294,295,296],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":19,"slug":20,"type":14},{"slug":166,"name":166,"fn":167,"description":168,"org":298,"tags":299,"stars":24,"repoUrl":25,"updatedAt":174},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[300,301,302],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":22,"slug":23,"type":14},{"slug":176,"name":176,"fn":177,"description":178,"org":304,"tags":305,"stars":24,"repoUrl":25,"updatedAt":184},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[306,307,308],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":19,"slug":20,"type":14},{"slug":186,"name":186,"fn":187,"description":188,"org":310,"tags":311,"stars":24,"repoUrl":25,"updatedAt":195},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[312,313],{"name":9,"slug":8,"type":14},{"name":193,"slug":194,"type":14},{"slug":197,"name":197,"fn":198,"description":199,"org":315,"tags":316,"stars":24,"repoUrl":25,"updatedAt":204},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[317,318],{"name":9,"slug":8,"type":14},{"name":193,"slug":194,"type":14},{"slug":206,"name":206,"fn":207,"description":208,"org":320,"tags":321,"stars":24,"repoUrl":25,"updatedAt":215},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[322,323],{"name":212,"slug":213,"type":14},{"name":9,"slug":8,"type":14}]