THE SHEET2DOC GUIDE
Let’s get you set up.
Turn spreadsheet rows into Google Docs and PDFs. Start with one row, then add email delivery or automation when you’re ready.
Jump to a section
Generate your first document
Open the Google Sheet that contains one row per document.
Make sure the header row has clear column names such as Name, Email, Course, Date, or Invoice Number.
Create a Google Doc template with matching merge fields like {{Name}} and {{Course}}.
Choose Extensions → Sheet2Doc → Open Sheet2Doc. Choose the sheet tab and Google Doc template, then load merge fields.
Select one real data row and click Generate selected before running a full batch.
After the selected-row test works, turn on email delivery or automation if needed.
Start with one selected row and leave email delivery off. Check the generated document before running a full batch.
Connect your columns to your template
Use exact header names
If the sheet column is Course Name, put {{Course Name}} in the Google Doc where that value should appear.
Load merge fields before running
The Load merge fields button scans the Google Doc and shows the placeholders Sheet2Doc found.
Built-in fields are available
You can use {{date}}, {{today}}, {{timestamp}}, {{row_number}}, {{rowNumber}}, and {{templateName}}.
Email body can use fields too
Subjects and email bodies can include row fields, plus {{docUrl}} and {{pdfUrl}} after generation.
Find the right field setting
SheetChoose the sheet tab that contains the rows you want to merge.Required
- Each non-blank data row can become one generated file.
- If your spreadsheet has multiple tabs, confirm you selected the tab with the real merge data.
- Click Refresh columns after changing header names in the sheet.
Example: Responses, Students, Invoices, Customers
Header rowThis is the row that contains column names used by merge fields.Required
- Most sheets use row 1 as the header row.
- Headers should be short and clear, such as Name, Email, Course, Amount, or Due Date.
- Sheet2Doc uses these header names to match placeholders in the Google Doc template.
Example: a column named Student Name matches {{Student Name}}
First data rowThis is the first row that should generate a document.Required
- Most sheets use row 2 because row 1 is usually the header row.
- Rows above this value are ignored during generation.
- When using Generate selected, select one or more rows at or below the first data row.
Example: Header row 1, first data row 2
Template Doc URL or IDChoose or paste the Google Doc that contains your merge placeholders.Required
- Use the picker button when possible so Sheet2Doc can access the selected file.
- The template should contain placeholders wrapped in double braces.
- If you paste an ID or URL, make sure it is a Google Doc, not a PDF or Word file.
Example: Certificate Template with {{Name}} and {{Course}}
Output folderChoose where generated files should be saved in Google Drive.Optional
- Leave it blank to use the spreadsheet folder when Sheet2Doc can resolve it.
- Choose a folder for organized certificate, invoice, or report batches.
- Generated PDFs and Docs are saved to the selected folder.
Example: 2026 Certificates, Client Invoices, Signed Letters
Output formatChoose whether Sheet2Doc should keep PDFs, Google Docs, or both.Required
- PDF only is best for certificates, invoices, and files you do not expect recipients to edit.
- Google Doc only is best when you want editable generated documents.
- Doc and PDF is best when you want a final PDF plus an editable copy.
Example: PDF only for certificates, both for client packets
File name patternUse sheet values to create readable generated file names.Recommended
- Use the same double-brace placeholders as the template.
- Include a stable identifier if names may repeat.
- Avoid file-system characters such as slashes, question marks, and pipes.
Example: {{Name}} - {{Course}} Certificate
Status columnsSheet2Doc writes generation status and file links back to the sheet.Recommended
- Status shows Generated, Emailed, Skipped, or an error message.
- Doc URL and PDF URL columns make it easy to audit output after a batch.
- Leave the default names unless you already have a naming convention.
Example: Sheet2Doc Status, Sheet2Doc Doc URL, Sheet2Doc PDF URL
Add email delivery and automation
Email each generated file
Turn this on only after a selected-row generation test works. Choose the recipient email column, then test with a row that uses your own email address.
Skip rows already generated or emailed
Keep this checked for normal batches. It prevents duplicate files when a row already has a completed Sheet2Doc status.
Manual first, automation later
Use Manual only for setup. After the output looks right, switch to form-submit, daily, weekly, or monthly automation.
Trigger authorization
Scheduled and form-submit runs require Apps Script trigger permission. If authorization fails, save as Manual only, re-authorize, then enable automation again.
Something not working?
No merge fields were found
Confirm the Google Doc uses double braces, such as {{Name}}, and that you selected a Google Doc template rather than a generated output file.
A field is blank in the generated file
Check that the placeholder matches a sheet header and that the row has a value in that column.
Generate selected says to select data rows
Click the row number for one or more rows at or below the First data row value, then run Generate selected again.
Drive API is disabled
Open the Google Cloud link shown in the error, enable Google Drive API for the Apps Script project, then run Sheet2Doc again.
File not found
Use the template picker again or paste a Google Doc URL that the same Google account can access.
Emails are not sent
Make sure Email each generated file is checked, the recipient email column is selected, and the row has a valid email address.
Rows are skipped
If Skip rows already generated or emailed is checked, rows with Generated, Emailed, Sent, or Done status are skipped.
Automation will not save
The add-on needs Apps Script trigger permission for scheduled or form-submit runs. Re-authorize, or keep Run mode set to Manual only.
PERSONAL SUPPORT
Still need a hand?
Tell me you’re using Sheet2Doc, what you’re trying to do, and the step or error you’re stuck on.
Contact Matthew