How to get Google Forms responses by email (with the full answers)
Short answer: Google Forms has a built-in alert: in the Responses tab, click ⋮ and choose Get email notifications for new responses. It emails only you, and only says that a response arrived: the answers are not in the email. To email the full answers to other people, add a short Apps Script with an On form submit trigger, or use an add-on such as NotifyLane.
1. Google’s built-in notification
- Open the form in the Google Forms™ editor and click the Responses tab.
- Click ⋮ (More) and choose Get email notifications for new responses.
From then on, you get an email for each new response. It is free and takes one click, but it has two limits:
- It goes only to you, the account that turned it on. There is no field for other addresses.
- It does not include the answers. The email says a new response came in and links to the form, so you open the form to read it.
If you only want to know that something arrived, this is enough. If a team needs to act on each response, the answers have to be in the email.
2. The Apps Script way
- In the Forms editor, click ⋮ (More) and choose Apps Script.
- Replace the code with the script below, put your own addresses in it, and click Save.
- Click Triggers (the clock icon) → Add Trigger. Choose the function
emailResponse, event source From form, event type On form submit, and save. Google asks you to allow the script to send email as you. - Submit a test response to the form. The script cannot be tried with the Run button, because it needs a real response to read.
function emailResponse(e) {
const form = FormApp.getActiveForm();
const lines = e.response.getItemResponses().map(function (r) {
const answer = r.getResponse(); // text, or a list for checkboxes and grids
return r.getItem().getTitle() + ': ' + (Array.isArray(answer) ? answer.join(', ') : answer);
});
MailApp.sendEmail('you@example.com, ana@example.com',
'New response: ' + form.getTitle(), lines.join('\n'));
}
Each response now reaches both addresses as a plain-text email, one line per answered question.
3. Where the simple script falls short
- Grids lose their rows. A grid answer arrives as a list of the chosen columns, without the row names, so “Monday: Morning” becomes just “Morning”. You have to look up the rows yourself.
- Uploaded files arrive as IDs. A file-upload answer is a list of Drive file IDs, not links. Build the links in code.
- Unanswered questions are missing, which can hide that a required-looking question was skipped.
- No links back. To open the response or the response sheet from the email, you add those links in code too.
- Replies go to you. To reply to the respondent, collect email addresses and pass
{ replyTo: e.response.getRespondentEmail() }tosendEmail. - One list for everything. Sending some responses to other people (“Department is Sales → sales@…”) means writing and keeping up the conditions in code.
- Google’s daily limit. Scripts and add-ons can email 100 recipients a day from a personal Gmail™ account and 1,500 from a Google Workspace™ account, and every recipient counts. When the limit is used up,
sendEmailfails, and the response is not emailed. You hear about it only from Google’s trigger-failure email. - Several editors, several triggers. A trigger belongs to the account that made it. If two editors each add one, every response is emailed twice.
4. A copy for the respondent
Google Forms can send people a copy of their own answers: in the form, open Settings → Responses, collect email addresses and choose to send respondents a copy of their responses. The text of that email is Google’s. For your own subject and message, for example with next steps, send the confirmation from the script with e.response.getRespondentEmail() as the address, or use an add-on.
5. With an add-on: NotifyLane
NotifyLane is our Google Forms add-on for this job. It is not on Google Workspace Marketplace yet. It does what the script above leaves to you:
- Every question and answer in form order: checkboxes one per line, grids as “Row: answer”, uploaded files as links, the score of a quiz, and unanswered questions too if you choose.
- Links to Open this response and Open the response sheet in each email.
- The emails go out from your own Google account. Reply goes to the respondent when the form collects email addresses. No ads, only one small grey line at the bottom.
- A subject with placeholders such as
{{Form title}}or{{Name}}, and Send me a test to see the email before anyone else does. - The panel shows how many recipients Google still allows today, and says so when a response could not be emailed because the limit was used up.
- One setup per form, shared by its editors, with one sending account, so nothing is emailed twice.
- Free for up to 3 recipients, with no limit on responses. Pro, for $4.99 a month or $39 a year, adds sending by answer, a confirmation email to the respondent and more recipients.
How to set it up: NotifyLane help.
Questions
Can Google Forms send responses to more than one email address?
Not with its own setting. Get email notifications for new responses emails only the account that turns it on. To email other people, use a script with a form-submit trigger, or an add-on.
Why do Google Forms notification emails not show the answers?
The built-in notification only tells you that a new response arrived and links to the form. To read the answers in the email itself, the email has to be built from the response, by a script or an add-on.
How many emails can a form script send a day?
Google limits the recipients one account can email from scripts and add-ons: 100 a day for a personal Gmail account and 1,500 for a Google Workspace account. Every recipient counts.
Can the respondent get a copy of their answers?
Yes. In the form, Settings, Responses: collect email addresses and choose to send respondents a copy of their responses. For a custom confirmation message, use a script or an add-on.