You are missing some Flash content that should appear here! Perhaps your browser cannot display it, or maybe it did not initialize correctly.


  • Make a copy of the google sheet
  • Setup your roster
  • Grab the ID or Key from one of the handouts you want to copy for your class (make sure it is viewable to all)
  • Paste the ID into the variables are, set the naming convention and the name of the folder you want all the handouts to go into
  • Press "Generate Handouts" and check your docs list to make sure it worked! 

NOTE - unfortunately, this script doesn't yet work for Google Presentations or Drawings.  It will only work for sheets or docs.  This is a known issue, and I bet that it is resolved soon.  




Not working

Hi Evan,  Chris here.  Thanks for the handout generator.  It worked great last year!   Unfortunately, when I started up again this year, it was glitchy.  It would create the handouts for only a few classes, and then get an error message.  It gets stuck on like the 5 student.  Makes the doc and puts in My Drive, but does not create the named folder, which is always the second one listed.


I have tried on several occassions, and even deleted and re-downloaded it.  I even used the link that David posted, however, that one would not recognize the new classes I entered in the roster.  It keep listing only the Bees class.

Can anyone help?  This is the best tool, and much needed.



Google Presentations?

I have been using this for docs and have found it works great!  I'm wondering if anyone is working on adding presentations to the script?  Thanks for the time saving device!


Doctopus - the next generation of handout generators

Hi Catie,

There's a new script in the script gallery called Doctopus, written by script guru Andrew Stillman. It's like the next generation version of this tool. It provisions documents, spreadsheets, and presentations to individuals, small groups, or large groups. It's awesome!



A slight modification...

Hi Evan,

I love this tool. I made a slight modification to the spreadsheet to make things easier for people who have a) multiple classes and b) who want to differentiate the handouts based on a given criteria. I added a sheet called "Class Lists" where a teacher can store his/her class lists - this data could be pushed from another master doc somewhere. On the sheet "Roster" I modified cells A4 and B4 to have data validation - they have a little pulldown menu with only select values. Cell A6 has a conditional formula in it that says only to display the class lists with the criteria selected. 

I'm not sure how to set up the formula in A6 to select all values - like if a teacher wants to make a handout for all of the possible values in A4. 

Here's a link:

Thanks for making this!



Yes - definitely needed

Thanks David - this is definately needed.  I added your improvements to the linked file on this hack.  I changed your formula slightly to allow for a blank status cell to filter by so you can generate handouts for a whole class or use the status filter as you said for differentiation.  

Handout Generator

Problem of practice

Creating google templates, instructing students to share appropriately and then organizing all the shared files correctly can be a time-consuming task.


This is a simple script housed in a google sheet that allows teachers to create handouts for their classroom, shares the student appropriately and organizes the handouts in a collection. It can be used to create sheets as well as docs.

Cast your vote


Tweet this

Browse other items with similar tags

The formMule (aka "The Mule") is a Google Apps script that is useful for automating lookups, emails and calendar events created dynamically from Google Forms.
Recommended by 64 educator(s).
This hack shows how to install a Google Apps Script in your Google Site to look up the grades of the currently logged-in student or parent and generate a live bar of progress from your Google spreadsheet!
Recommended by 20 educator(s).
This introductory module provides what you need to start building the modular and lightweight data system of your dreams. The first installment is a "Lateness Zapper" that automates logging, communications, and reporting on student lateness.
Recommended by 23 educator(s).
The Reportlet Script, written in Google Apps Script, serves up easily-templated tabular reports that can include custom data, images, and charts keyed to the logged in user. Power users get a dropdown to allow viewing of any report.
Recommended by 17 educator(s).
This is an attempt to create a simple tool that a team of teachers could use to track indicator-level data on shared assessments. It's low-stakes, hopefully approachable and can be customized to fit the team's needs.
Recommended by 14 educator(s).
Using a script stolen from another project and a student template, this platform will allow a teacher to enter in their classroom roster, hit a button and automatically create goal setting sheets for their class and monitor their students' progress!
Recommended by 9 educator(s).
This tutorial presents the pre-Add-on version of Doctopus. Written by an educator for educators, the free doctopus script gives teachers the ability to auto-generate, pre-share, and manage grading and feedback on templated Docs for group and individual projects. For tutorials on the new version of Doctopus, see
Recommended by 188 educator(s).