The components involved in this workflow are:
- A script to generate and send an email with an HTML form.
- An html template for that email, which allows us to customize the email for each recipient.
- A
doPost()
function to handle responses. The script must be [deployed as a Web App][1]. - A spreadsheet to collect responses. The script will be contained in the spreadsheet, and extends the spreadsheet UI with a menu for sending a copy of the survey. (It could be adapted for standalone use, without the UI component.)
Here is an example of such a workflow, conducting a Commuting Survey. Recipients will receive a survey email like this: