Quick start
Get from zero to your first auto-generated document in five minutes.
- Open the Google Form you want to automate.
- Click the puzzle icon at the top of the editor and choose Form Document Generator → Start.
- Pick a template (Google Docs or Slides) that contains
{{placeholders}}. - Pick a destination folder in Google Drive.
- Choose your output format (PDF, Google copy, Word, PowerPoint).
- (Optional) Enable email to respondents and/or email to a list.
- Toggle Enable document generation on and click Save Configuration.
- Submit a test response — check the destination folder and your inbox.
Tip. Use a small test form with yourself as the respondent before wiring a live form to real people.
Installing the add-on
Form Document Generator is distributed as a Google Workspace add-on. Once installed, you'll see it in the puzzle-piece menu of every Google Form.
- Install from the Google Workspace Marketplace listing.
- Grant the requested permissions — the add-on needs access to Forms, Drive (to copy the template), Docs/Slides (to replace placeholders), and Gmail (to send emails).
- Open any Google Form, click the puzzle icon, and launch Form Document Generator → Start.
The add-on reads your Google Form and Drive files to generate documents inside your Google account. Payments and subscription status (when shown) come from secure links your browser opens at checkout — the add-on does not store your responses in an external database for document generation.
Your first configuration
The sidebar walks you through everything, grouped into collapsible sections.
- Template — pick the Google Doc or Slides file to copy on every submission.
- Destination folder — pick a Drive folder where copies will be saved.
- File name pattern — see Dynamic file names.
- Output formats — tick PDF, native Google copy, Word, PowerPoint.
- Email — optionally send the generated files to the respondent and/or a fixed list.
- Conditions / additional templates — optional, see Conditional rules.
- Enable document generation — turn this on, then press Save Configuration.
Placeholder markers
Your template is just a regular Google Doc or Slides file. Wherever you want a form answer, type {{Question Title}}, matching the exact text of the question.
Dear {{Full Name}},
Your registration for {{Event Name}} on {{Event Date}} is confirmed.
Reference: {{_responseId}}
- Markers are case-sensitive and must match the question title exactly (including trailing spaces, which you should avoid).
- Markers also work inside headers and footers of Google Docs.
- Markers work inside text boxes in Google Slides.
- You can use the same marker multiple times in one template.
Embed QRCODE & Embed IMAGE
Beyond plain {{Question title}} text, you can insert a scannable QR code from an answer value, or an inline image from a file-upload question. Both use special markers in double braces.
{{Embed QRCODE, …}}
Turns the respondent’s answer text (usually a URL or short code) into a PNG QR code. The second argument is the placeholder — the same token you configure in the sidebar’s Placeholder mappings. When a response is processed, that mapping resolves the placeholder to a form question; the answer from that question is what gets encoded in the QR (short answer, paragraph, URL, etc.).
{{Embed QRCODE, ticket_url}}
{{Embed QRCODE, ticket_url, size = 180}}
- Optional size — add
, size = 300(spacing is flexible). Size is in pixels, clamped between 24 and 2000. If omitted, a sensible default is used. - Google Docs — use inside normal paragraphs (body, header, or footer). The directive text is removed and a square QR image is inserted in the paragraph.
- Google Slides — put the marker in a text box (shape). The QR is drawn on the slide near that box; paragraph alignment and indents are respected as closely as the API allows.
- Google Sheets — the cell must contain only the embed marker (no other text or spaces). The QR is anchored to that cell as an over-grid image.
- Email HTML — if you use the same marker in the respondent or list email body, the QR is inlined in the message.
Placeholder mappings. Add a row for each Embed QRCODE token (e.g. ticket_url): set the placeholder to that token and choose the form question whose text should be encoded. The token in the template must match the placeholder column exactly.
{{Embed IMAGE, …}}
Embeds an image from a File upload question. The second argument is the upload question’s title, or a placeholder key that you mapped to that upload in the sidebar.
{{Embed IMAGE, Photo of ID}}
{{Embed IMAGE, Photo of ID, width=320, height=240}}
- Optional width / height — add
, width=320and/or, height=240(order: width then height). Values are clamped between 24 and 2000 and interpreted in points for layout (similar to sizing in Docs). - If only one dimension is given, the image is scaled as a square using that number.
- Google Docs — use in a paragraph; non-image files in the same upload become link text instead of a picture.
- Google Slides — put the marker in a text shape; the image is placed on the slide near that shape (same general idea as Embed QRCODE).
- Google Sheets — the cell must contain only the embed marker, same as for Embed QRCODE. If the cell mixes other text, the add-on falls back to links instead of an overlay image.
- Email HTML — the marker can appear in the email body; images are inlined when the upload is recognized as an image (by type or file extension).
Sheets layout. For both Embed QRCODE and Embed IMAGE in spreadsheets, keep the marker as the sole cell content so the add-on can attach the graphic to the cell. Extra words in the same cell disable the overlay path.
Tips
- For
Embed QRCODE, use the same placeholder string in the directive as in Placeholder mappings; for ordinary{{…}}markers, match the question title or mapped placeholder as usual. - For uploads, respondents can attach multiple files; the add-on includes image files that match the directive. Other file types are surfaced as links where the template supports it.
- If a QR code or image does not appear, check the generation log for that submission and confirm the answer or upload was actually provided.
Built-in variables
Besides your form questions, these markers are always available:
| Marker | Value |
|---|---|
{{_formTitle}} | Title of the Google Form |
{{_date}} | Current date (YYYY-MM-DD) |
{{_time}} | Current time (HH:MM) |
{{_timestamp}} | Full submission timestamp |
{{_responseId}} | Unique response ID from Google Forms |
Dynamic file names
The file name pattern accepts any placeholder, including built-ins. Invalid characters are automatically sanitized.
{{Full Name}}_Registration_{{_date}}
This would produce a file named Alice_Smith_Registration_2026-05-02.pdf.
Output formats
Every generated document can be produced in one or more formats:
- PDF — most common for external delivery; used as the email attachment by default.
- Google copy — keeps the generated file editable inside Drive (Docs or Slides).
- Word (.docx) — for Docs templates.
- PowerPoint (.pptx) — for Slides templates.
Additional documents
Beyond the main template, you can attach any number of additional templates. Each has its own conditions, file-name pattern, destination folder, and output formats.
Typical uses:
- Generate a certificate and a receipt from one submission.
- Generate a Spanish version only when the respondent selected Spanish.
- Attach a printable packing slip only if the order total > 100.
Conditional rules
Each template (main or additional) can be set to generate:
- Always — for every submission.
- Only when conditions match — with AND / OR combinations, grouped OR-of-AND, and a full operator set.
Supported operators: exists, does not exist, equals, not equals, contains, does not contain, starts with, ends with, matches regex, and numeric comparisons (>, >=, <, <=).
Emailing documents
Two independent email options are available:
- Email to respondents — requires the form to collect email addresses. The sidebar shows a warning if the form is not set to collect emails.
- Email to list — a fixed comma-separated list of recipients (e.g. internal team).
Each can have its own subject, HTML body, CC and BCC. Subject and body accept the same placeholder markers as templates.
Gmail sending quotas. Google enforces these per day: 100 recipients for consumer (@gmail.com) accounts and up to 1,500 recipients for Workspace paid plans. The gear panel shows the remaining quota for the account running the add-on.
Drive sharing
Optionally, generated files can be shared automatically on creation:
- Share with the respondent (uses the collected email).
- Share with additional viewers, commenters, or editors (fixed lists).
- Control whether editors can share further and whether viewers can download.
Generation log
Every submission appends a row to the generation log with:
- Time of submission (add-on time zone).
- File name produced (or attempted).
- Status — Success, Skipped (with reason), or Error (with message).
Open the log from the add-on (View generation log) or from the gear icon in the sidebar. The gear panel shows a searchable, paginated list with filters for status.
Gear icon — account & subscription
Open the sidebar and click the gear (settings) icon to review account-related information alongside your generation history.
- Remaining Gmail quota — how many recipients you can still email today using the built-in Gmail sender on this Google account (this comes from Google, not from the document-generation plan).
- Account — the Google account email the panel uses when describing limits.
- Subscription status — whether you appear to be on the free tier or have an Individual / Business entitlement, when subscriptions are enabled for this add-on.
- Generation quota summary — short note about free-tier document generations when applicable.
- Upgrade Subscription — opens checkout in your browser when a subscription link has been configured. If the button says the link isn’t configured, contact whoever manages your organization’s add-on or use the publisher’s pricing page linked from marketing materials.
- Refresh — re-read subscription and log data after checkout or overnight.
Daily limits explained
There are two different limits:
- Document generations per day (from this add-on) — see plans.
- Emails per day (from Google itself) — 100 for consumer accounts, 1,500 for Workspace paid plans. Not affected by the add-on's plan.
Plans — Free, Individual, Business
| Plan | Identity | Document generations | Price (USD) |
|---|---|---|---|
| Free | Any Google account | 20 / day | $0 |
| Individual | A specific Google email | Unlimited | $9.90 / mo or $79.90 / yr |
| Business | An entire email domain (e.g. @acme.com) |
Unlimited for every user of that domain | $70 / mo or $499 / yr |
Upgrading & license email
To remove the free-tier cap on generated documents:
- Open the add-on sidebar on your Google Form.
- Open the gear panel and tap Upgrade Subscription (your browser opens checkout).
- Confirm the license email matches the Google account that will trigger document generation (
@gmail.comuser or Workspace user). Someone else purchasing for you can change this field during checkout. - Finish payment on Stripe. After checkout, it may take a short time before the gear panel shows your paid tier — use Refresh.
- For billing receipts, cancelling, or card updates, follow the Stripe customer flow or emails you receive from Stripe for that purchase.
Workspace schools & companies. If your workplace blocks checkout or centrally purchases software, forward these steps to IT or whoever approved the Workspace Marketplace listing; they coordinate domain-wide (Business) plans.
Understanding Free vs Paid
On Free, generations are capped per calendar day when limits are enforced. On Individual, unlimited generations apply when your Google login matches your licensed email. Business covers everyone whose Google Workspace email ends with your organization’s licensed domain.
Troubleshooting
“Skipped: No generation conditions matched”
Means the main template's conditions didn't apply to that submission, and no additional template applied either. Review the rules in the sidebar — the Generation log filter shows every skip reason.
“Skipped: Free limit reached (20 per day)”
The account that ran the add-on for this submission reached the free daily generation cap. Wait until the counter resets (shown in the gear panel when limits apply), upgrade, or ask a licensed colleague to configure the form.
Upgrade link is not configured / subscription still shows Free
- Click Refresh in the gear panel after paying.
- Confirm you purchased for the same Google email you see under Account when you’re signed into Forms/Drive.
- If the Upgrade button warns that no link exists, subscriptions may not be set up yet for your Workspace Marketplace deployment — email the publisher or your IT contact.
Respondent email is empty
Set your form to Collect email addresses in Google Forms settings. The sidebar will show a warning until this is enabled.
Placeholder didn't get replaced
- Check that the marker matches the question title exactly, including punctuation and capitalization.
- Make sure the marker is plain text — not inside a link, field, or image caption with non-breaking characters.
- Double braces only —
{{Name}}, never{Name}or{{{Name}}}.
Email not sending
- Check the account's remaining daily email quota in the gear panel.
- Check the generation log — failures are recorded with a reason.
- Make sure the sender has permission to send on behalf of this Google account.
FAQ
Can I use the same license on multiple forms?
Yes. The Individual license is tied to your Google account, not to a specific form. The Business license covers every user of your domain across all their forms.
What happens if I hit the free 20/day limit?
The submission is logged with Skipped: Free limit reached and no files are created for that submission. Subsequent submissions the next day work again.
Does the add-on store my form answers?
The generation log records file names and status messages so you can audit runs. Answer text stays in Google Forms responses and Drive the way it always has.
Who installs or updates add-ons for my team?
Individuals can install Marketplace add-ons for themselves unless your Workspace admin restricts it. Administrators can centrally allow or deny specific add-ons; follow your organization’s help desk guidance.