Mail Merge & Document Automation
A hands-on course that takes anyone from manually copy-pasting names into letters to running clean, personalized document and email runs across hundreds of recipients. You build a structured data source, design merge templates in both Word and Google Docs, send tracked merge campaigns with Yet Another Mail Merge, and auto-generate PDFs like invoices and certificates from a spreadsheet.
For office managers, administrators, finance and HR staff, educators, and small-business owners who send personalized documents or bulk email and want to automate it using tools they already have, with no coding required.
Course content
Workbook & downloads
Put the course into practice — a printable workbook plus editable templates you can fill in and reuse.
Preview the workbook
Foundations: Data Sources and How Merge Works
- List every personalized document you send by hand today, such as welcome letters, invoices, or certificates.
- For your most frequent one, write out every personal value it contains as a separate field, splitting Full Name into First Name and Last Name.
- Mark which fields are required for the document to make sense and which are optional.
- Note for each field whether it is text, a number, currency, or a date, since formatting depends on this.
- Column header (short, unique, no leading spaces)
- Data type (text / number / currency / date)
- Required or optional
- Example value
- Display format needed in documents (e.g. $#,##0.00 or MMMM d, yyyy)
- Source of this data (CRM export / manual entry / form)
- Document or message
- Job type (Printed doc / Personalized email / Bulk PDF / Labels or envelopes)
- Platform you live in (Microsoft 365 / Google Workspace / both)
- Chosen tool (Word merge / YAMM / Autocrat / Outlook merge)
- Approximate recipient count per run
- Within sending limits? (N/A for print, else yes/no)
- Row 1 contains only column headers, with no title row or merged cells above them
- Every header is short, unique, and free of leading or trailing spaces
- There is exactly one record per row and no blank rows in the middle of the data
- Names and other separately-used values are split into their own columns
- Numbers, currency, and dates are stored as clean raw values, with display columns added where helpful
- Duplicates have been removed on the email or ID column
- Required columns have been checked for blanks using a filter or COUNTBLANK
Mail Merge in Microsoft Word
- Start a Letters merge and connect to your saved Excel file and the correct sheet.
- Write the letter body and insert at least three merge fields using Insert Merge Field.
- Preview the first, a middle, and the last recipient, checking for blank or misaligned fields.
- Finish and Merge to Edit Individual Documents, then skim the combined file for spacing and field errors.
- Field name (e.g. Amount, Invoice Date)
- Switch applied (e.g. \# "$#,##0.00" or \@ "MMMM d, yyyy")
- Raw value in spreadsheet
- Displayed result after switch
- Notes (when to use this switch)
- Decide one sentence that should differ by recipient, such as a tax-receipt line only when Amount is 20 or more.
- Insert an If-Then-Else rule from the Rules menu comparing the right field to the right value.
- Preview a recipient who meets the condition and one who does not, confirming each sees the correct line.
- Note any edge cases, such as blank or zero values, and how your rule handles them.
- Recipients are connected to the correct Excel file and sheet
- All merge fields point to the intended columns, verified in Preview Results
- Currency and date fields use a picture switch and display correctly, not as raw values
- For labels, the exact Avery or vendor product number is selected and Update Labels was clicked
- A single test page or test letter was printed and read before the full run
- Any conditional Rules were previewed across both branches
Personalized Bulk Email with Google and YAMM
- Create a Google Sheet with First Name, Email Address, and one custom column for two test addresses you own.
- Write a Gmail draft using two {{placeholders}} that exactly match your headers, and set a fallback value for blanks.
- Run Start Mail Merge from Extensions, pick the draft, and send a test to yourself first.
- Read the received test in full, then run the merge to the two test addresses and confirm the Merge Status column updates.
- Campaign purpose and audience
- Total recipients and your daily sending quota (about 500 free / 2,000 Workspace)
- Send date and time (scheduled)
- Placeholders used and fallback values
- Follow-up trigger (e.g. status not RESPONDED or EMAIL_OPENED after 4 days)
- Follow-up draft name and send date
- Count of EMAIL_SENT
- Count of EMAIL_OPENED and EMAIL_CLICKED
- Count of RESPONDED
- Count of EMAIL_BOUNCED (addresses to remove)
- Rows to include in follow-up (not opened / not responded)
- List-cleaning actions taken before next run
- Recipient count is within today's sending quota, or the campaign is split across days
- The list contains only people who expect to hear from you
- Bounced addresses from the previous send have been removed
- A recognizable sender name and from address are set
- The email reads like a personal note, not a heavy promotional image block
- Outreach includes a way to reply or opt out, and opt-outs are honored
- A test send was received and read before the full run
Generating Documents: Invoices, Certificates, and PDFs
- Build a certificate or invoice template with at least three placeholders matching your sheet headers exactly.
- Set the merge job output to PDF, choose a Drive folder, and define a dynamic file name like Student Name Certificate.
- Run the job against a five-row sheet and open two of the resulting PDFs to verify the layout.
- Confirm the file links were written back into the sheet so they can feed an email merge.
- Raw input columns (Quantity, Unit Price, Tax Rate)
- Formula columns (Line Total, Subtotal, Tax Amount, Total Due)
- Display columns formatted as text (e.g. $1,250.00)
- Date columns (Invoice Date, Due Date) and their display format
- Unique identifier column (Invoice Number scheme)
- Verification step (how you will check totals before generating)
- Deduplicate the list and check all required columns for blanks.
- Run the merge against two or three test rows or addresses you control.
- Read the test output end to end, checking names, numbers, dates, and any attachments.
- Fix issues in the data or template, re-test until clean, then run or schedule the full list.
- The data source is deduplicated and free of blank required fields
- A preview or test send was completed and the output was actually read
- All numbers, currency, and dates display correctly, not as raw values
- The correct attachments are linked to the correct rows
- An email run is within the daily sending quota
- A clear sender name is set, and outreach includes a way to reply or opt out
- The template and data structure are saved so next month is a five-minute job
Your Action Plan
- Choose one document you currently personalize by hand and commit to automating it first.
- Build a clean, merge-ready data source for it in Excel or Google Sheets, following the data source checklist.
- Deduplicate the list and check every required column for blanks before going further.
- Design the template in the matching tool: Word for print, Google Docs plus Autocrat for PDFs, or a Gmail draft for YAMM email.
- Add correct number, currency, and date formatting using field switches or pre-formatted display columns.
- Insert any conditional content so one template serves different recipient groups.
- Run the merge against a two or three row test set and read the output end to end.
- Fix any issues, re-test until clean, then run or schedule the full list within your sending quota.
- For email, review the tracking columns afterward, remove bounces, and build a follow-up audience from non-responders.
- Save the template and data structure as a reusable job, and keep your pre-send checklist beside it for next time.
Pairs well with
Courses members commonly take alongside this one.