[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-google-workspace-recipe-generate-report-from-sheet":3,"mdc--8430zk-key":48,"related-org-google-workspace-recipe-generate-report-from-sheet":194,"related-repo-google-workspace-recipe-generate-report-from-sheet":340},{"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":43,"sourceUrl":46,"mdContent":47},"recipe-generate-report-from-sheet","create Google Docs reports from Google Sheets","Read data from a Google Sheet and create a formatted Google Docs report.",{"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,17,20,21],{"name":14,"slug":15,"type":16},"Google Sheets","google-sheets","tag",{"name":18,"slug":19,"type":16},"Reporting","reporting",{"name":9,"slug":8,"type":16},{"name":22,"slug":23,"type":16},"Google Docs","google-docs",29614,"https:\u002F\u002Fgithub.com\u002Fgoogleworkspace\u002Fcli","2026-07-12T08:26:06.380982",null,1717,[30,31,32,33,34,35,36,37,38,39,23,40,15,8,41,42],"agent-skills","ai-agent","automation","cli","discovery-api","gemini-cli-extension","google-admin","google-api","google-calendar","google-chat","google-drive","oauth2","rust",{"repoUrl":25,"stars":24,"forks":28,"topics":44,"description":45},[30,31,32,33,34,35,36,37,38,39,23,40,15,8,41,42],"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-generate-report-from-sheet","---\nname: recipe-generate-report-from-sheet\ndescription: \"Read data from a Google Sheet and create a formatted Google Docs report.\"\nmetadata:\n  version: 0.22.5\n  openclaw:\n    category: \"recipe\"\n    domain: \"productivity\"\n    requires:\n      bins:\n        - gws\n      skills:\n        - gws-sheets\n        - gws-docs\n        - gws-drive\n---\n\n# Generate a Google Docs Report from Sheet Data\n\n> **PREREQUISITE:** Load the following skills to execute this recipe: `gws-sheets`, `gws-docs`, `gws-drive`\n\nRead data from a Google Sheet and create a formatted Google Docs report.\n\n## Steps\n\n1. Read the data: `gws sheets +read --spreadsheet SHEET_ID --range \"Sales!A1:D\"`\n2. Create the report doc: `gws docs documents create --json '{\"title\": \"Sales Report - January 2025\"}'`\n3. Write the report: `gws docs +write --document-id DOC_ID --text '## Sales Report - January 2025\n\n### Summary\nTotal deals: 45\nRevenue: $125,000\n\n### Top Deals\n1. Acme Corp - $25,000\n2. Widget Inc - $18,000'`\n4. Share with stakeholders: `gws drive permissions create --params '{\"fileId\": \"DOC_ID\"}' --json '{\"role\": \"reader\", \"type\": \"user\", \"emailAddress\": \"cfo@company.com\"}'`\n\n",{"data":49,"body":62},{"name":4,"description":6,"metadata":50},{"version":51,"openclaw":52},"0.22.5",{"category":53,"domain":54,"requires":55},"recipe","productivity",{"bins":56,"skills":58},[57],"gws",[59,60,61],"gws-sheets","gws-docs","gws-drive",{"type":63,"children":64},"root",[65,74,109,113,120,152,159,164,170],{"type":66,"tag":67,"props":68,"children":70},"element","h1",{"id":69},"generate-a-google-docs-report-from-sheet-data",[71],{"type":72,"value":73},"text","Generate a Google Docs Report from Sheet Data",{"type":66,"tag":75,"props":76,"children":77},"blockquote",{},[78],{"type":66,"tag":79,"props":80,"children":81},"p",{},[82,88,90,96,98,103,104],{"type":66,"tag":83,"props":84,"children":85},"strong",{},[86],{"type":72,"value":87},"PREREQUISITE:",{"type":72,"value":89}," Load the following skills to execute this recipe: ",{"type":66,"tag":91,"props":92,"children":94},"code",{"className":93},[],[95],{"type":72,"value":59},{"type":72,"value":97},", ",{"type":66,"tag":91,"props":99,"children":101},{"className":100},[],[102],{"type":72,"value":60},{"type":72,"value":97},{"type":66,"tag":91,"props":105,"children":107},{"className":106},[],[108],{"type":72,"value":61},{"type":66,"tag":79,"props":110,"children":111},{},[112],{"type":72,"value":6},{"type":66,"tag":114,"props":115,"children":117},"h2",{"id":116},"steps",[118],{"type":72,"value":119},"Steps",{"type":66,"tag":121,"props":122,"children":123},"ol",{},[124,136,147],{"type":66,"tag":125,"props":126,"children":127},"li",{},[128,130],{"type":72,"value":129},"Read the data: ",{"type":66,"tag":91,"props":131,"children":133},{"className":132},[],[134],{"type":72,"value":135},"gws sheets +read --spreadsheet SHEET_ID --range \"Sales!A1:D\"",{"type":66,"tag":125,"props":137,"children":138},{},[139,141],{"type":72,"value":140},"Create the report doc: ",{"type":66,"tag":91,"props":142,"children":144},{"className":143},[],[145],{"type":72,"value":146},"gws docs documents create --json '{\"title\": \"Sales Report - January 2025\"}'",{"type":66,"tag":125,"props":148,"children":149},{},[150],{"type":72,"value":151},"Write the report: `gws docs +write --document-id DOC_ID --text '## Sales Report - January 2025",{"type":66,"tag":153,"props":154,"children":156},"h3",{"id":155},"summary",[157],{"type":72,"value":158},"Summary",{"type":66,"tag":79,"props":160,"children":161},{},[162],{"type":72,"value":163},"Total deals: 45\nRevenue: $125,000",{"type":66,"tag":153,"props":165,"children":167},{"id":166},"top-deals",[168],{"type":72,"value":169},"Top Deals",{"type":66,"tag":121,"props":171,"children":172},{},[173,178,183],{"type":66,"tag":125,"props":174,"children":175},{},[176],{"type":72,"value":177},"Acme Corp - $25,000",{"type":66,"tag":125,"props":179,"children":180},{},[181],{"type":72,"value":182},"Widget Inc - $18,000'`",{"type":66,"tag":125,"props":184,"children":185},{},[186,188],{"type":72,"value":187},"Share with stakeholders: ",{"type":66,"tag":91,"props":189,"children":191},{"className":190},[],[192],{"type":72,"value":193},"gws drive permissions create --params '{\"fileId\": \"DOC_ID\"}' --json '{\"role\": \"reader\", \"type\": \"user\", \"emailAddress\": \"cfo@company.com\"}'",{"items":195,"total":339},[196,211,224,236,246,257,266,277,288,301,313,326],{"slug":197,"name":197,"fn":198,"description":199,"org":200,"tags":201,"stars":24,"repoUrl":25,"updatedAt":210},"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},[202,205,206,209],{"name":203,"slug":204,"type":16},"Audit","audit",{"name":9,"slug":8,"type":16},{"name":207,"slug":208,"type":16},"Logs","logs",{"name":18,"slug":19,"type":16},"2026-07-12T08:26:31.062227",{"slug":212,"name":212,"fn":213,"description":214,"org":215,"tags":216,"stars":24,"repoUrl":25,"updatedAt":223},"gws-calendar","manage Google Calendar events and schedules","Google Calendar: Manage calendars and events.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[217,219,220],{"name":218,"slug":38,"type":16},"Google Calendar",{"name":9,"slug":8,"type":16},{"name":221,"slug":222,"type":16},"Scheduling","scheduling","2026-07-12T08:24:59.616333",{"slug":225,"name":225,"fn":226,"description":227,"org":228,"tags":229,"stars":24,"repoUrl":25,"updatedAt":235},"gws-calendar-agenda","show upcoming Google Calendar events","Google Calendar: Show upcoming events across all calendars.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[230,231,232],{"name":218,"slug":38,"type":16},{"name":9,"slug":8,"type":16},{"name":233,"slug":234,"type":16},"Meetings","meetings","2026-07-12T08:25:10.888894",{"slug":237,"name":237,"fn":238,"description":239,"org":240,"tags":241,"stars":24,"repoUrl":25,"updatedAt":245},"gws-calendar-insert","create Google Calendar events","Google Calendar: Create a new event.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[242,243,244],{"name":218,"slug":38,"type":16},{"name":9,"slug":8,"type":16},{"name":221,"slug":222,"type":16},"2026-07-12T08:25:09.604012",{"slug":247,"name":247,"fn":248,"description":249,"org":250,"tags":251,"stars":24,"repoUrl":25,"updatedAt":256},"gws-chat","manage Google Chat spaces and messages","Google Chat: Manage Chat spaces and messages.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[252,253],{"name":9,"slug":8,"type":16},{"name":254,"slug":255,"type":16},"Messaging","messaging","2026-07-12T08:26:10.121585",{"slug":258,"name":258,"fn":259,"description":260,"org":261,"tags":262,"stars":24,"repoUrl":25,"updatedAt":265},"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},[263,264],{"name":9,"slug":8,"type":16},{"name":254,"slug":255,"type":16},"2026-07-12T08:24:45.761728",{"slug":267,"name":267,"fn":268,"description":269,"org":270,"tags":271,"stars":24,"repoUrl":25,"updatedAt":276},"gws-classroom","manage Google Classroom rosters and coursework","Google Classroom: Manage classes, rosters, and coursework.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[272,275],{"name":273,"slug":274,"type":16},"Education","education",{"name":9,"slug":8,"type":16},"2026-07-12T08:25:00.846861",{"slug":60,"name":60,"fn":278,"description":279,"org":280,"tags":281,"stars":24,"repoUrl":25,"updatedAt":287},"read and write Google Docs","Read and write Google Docs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[282,285,286],{"name":283,"slug":284,"type":16},"Documents","documents",{"name":22,"slug":23,"type":16},{"name":9,"slug":8,"type":16},"2026-07-12T08:26:07.645598",{"slug":289,"name":289,"fn":290,"description":291,"org":292,"tags":293,"stars":24,"repoUrl":25,"updatedAt":300},"gws-docs-write","append text to Google Docs","Google Docs: Append text to a document.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[294,295,296,297],{"name":283,"slug":284,"type":16},{"name":22,"slug":23,"type":16},{"name":9,"slug":8,"type":16},{"name":298,"slug":299,"type":16},"Writing","writing","2026-07-12T08:26:22.261687",{"slug":61,"name":61,"fn":302,"description":303,"org":304,"tags":305,"stars":24,"repoUrl":25,"updatedAt":312},"manage files in Google Drive","Google Drive: Manage files, folders, and shared drives.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[306,309,311],{"name":307,"slug":308,"type":16},"File Storage","file-storage",{"name":310,"slug":40,"type":16},"Google Drive",{"name":9,"slug":8,"type":16},"2026-07-12T08:24:42.025037",{"slug":314,"name":314,"fn":315,"description":316,"org":317,"tags":318,"stars":24,"repoUrl":25,"updatedAt":325},"gws-drive-upload","upload files to Google Drive","Google Drive: Upload a file with automatic metadata.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[319,320,323,324],{"name":307,"slug":308,"type":16},{"name":321,"slug":322,"type":16},"File Uploads","file-uploads",{"name":310,"slug":40,"type":16},{"name":9,"slug":8,"type":16},"2026-07-12T08:25:02.071018",{"slug":327,"name":327,"fn":328,"description":329,"org":330,"tags":331,"stars":24,"repoUrl":25,"updatedAt":338},"gws-events","subscribe to Google Workspace events","Subscribe to Google Workspace events.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[332,334,335],{"name":333,"slug":32,"type":16},"Automation",{"name":9,"slug":8,"type":16},{"name":336,"slug":337,"type":16},"Notifications","notifications","2026-07-12T08:24:35.741351",95,{"items":341,"total":339},[342,349,355,361,367,372,377],{"slug":197,"name":197,"fn":198,"description":199,"org":343,"tags":344,"stars":24,"repoUrl":25,"updatedAt":210},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[345,346,347,348],{"name":203,"slug":204,"type":16},{"name":9,"slug":8,"type":16},{"name":207,"slug":208,"type":16},{"name":18,"slug":19,"type":16},{"slug":212,"name":212,"fn":213,"description":214,"org":350,"tags":351,"stars":24,"repoUrl":25,"updatedAt":223},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[352,353,354],{"name":218,"slug":38,"type":16},{"name":9,"slug":8,"type":16},{"name":221,"slug":222,"type":16},{"slug":225,"name":225,"fn":226,"description":227,"org":356,"tags":357,"stars":24,"repoUrl":25,"updatedAt":235},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[358,359,360],{"name":218,"slug":38,"type":16},{"name":9,"slug":8,"type":16},{"name":233,"slug":234,"type":16},{"slug":237,"name":237,"fn":238,"description":239,"org":362,"tags":363,"stars":24,"repoUrl":25,"updatedAt":245},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[364,365,366],{"name":218,"slug":38,"type":16},{"name":9,"slug":8,"type":16},{"name":221,"slug":222,"type":16},{"slug":247,"name":247,"fn":248,"description":249,"org":368,"tags":369,"stars":24,"repoUrl":25,"updatedAt":256},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[370,371],{"name":9,"slug":8,"type":16},{"name":254,"slug":255,"type":16},{"slug":258,"name":258,"fn":259,"description":260,"org":373,"tags":374,"stars":24,"repoUrl":25,"updatedAt":265},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[375,376],{"name":9,"slug":8,"type":16},{"name":254,"slug":255,"type":16},{"slug":267,"name":267,"fn":268,"description":269,"org":378,"tags":379,"stars":24,"repoUrl":25,"updatedAt":276},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[380,381],{"name":273,"slug":274,"type":16},{"name":9,"slug":8,"type":16}]