Free Business Letter Template for Google Docs (Mail Merge Ready)
A formal business letter template with sender and recipient details, a clear subject line, body paragraphs, and a complimentary close. Copy it into a Google Doc, connect a Google Sheet, and generate a personalized letter for every recipient in one click.
The template
Everything in {{double braces}} is a merge tag. Each tag matches a column header in your Google Sheet, and Batch Merge fills in the value from each row automatically — one finished letter per row.
Tip: don't want to maintain a Date column? Batch Merge's built-in dynamic tag {{_TIMESTAMP}} stamps the generation date automatically — no sheet column needed. There are also {{_ROW_NUM}} and {{_SHEET_NAME}} dynamic tags for numbering and labeling documents.
Set up your Google Sheet
Create one column per merge tag. Column headers must match the tag names exactly (they're case-sensitive). Each row becomes one letter:
| Recipient Name | Recipient Title | Company | Company Address | Subject | Date | Opening Paragraph | Body Paragraph | Sender Name |
|---|---|---|---|---|---|---|---|---|
| Sarah Mitchell | Procurement Director | Vertex Manufacturing | 1200 Industry Way, Columbus, OH | Proposal for Q3 Supply Agreement | Jul 3, 2026 | Thank you for meeting with our team last Tuesday… | Based on your projected volumes, we can offer… | David Okafor |
| James Liu | Office Manager | Brightside Dental | 88 Elm St, Portland, OR | Updated Service Rates Effective August 1 | Jul 3, 2026 | We're writing to let you know about an update… | Your current contract terms remain unchanged until… | David Okafor |
Tip: paragraph tags can hold full paragraphs — write as many sentences as you like in the sheet cell and Batch Merge inserts them verbatim. For sender columns that never change (name, title, company), fill the first row and drag the fill handle down.
Generate one letter per row
Copy the template into a Google Doc. Click Copy template above, paste into a new Doc, and style it however you like — letterhead, fonts, your logo. Tags survive formatting.
Install Batch Merge free from the Google Workspace Marketplace, then open your sheet and choose Extensions → Batch Merge → Open Batch Merge.
Pick your template. Select the letter Doc with the file picker. Batch Merge scans it and shows every tag as a pill — green when it matches a column header, amber when it doesn't. Fix any amber pills by renaming columns or tags.
Choose PDF output and run. Pick PDF (or DOCX / Google Doc), choose a Drive folder, and click Run. Batch Merge writes a status per row and a Merge Log so you always know what was generated.
On the free plan you get 25 merge runs per month — each run can process your whole sheet. Email delivery (send each letter straight to a {{Recipient Email}} column), scheduling, and Google Slides templates are on Pro.
FAQ
Can I personalize whole paragraphs, not just names?
Yes. A merge tag can hold anything — a word, a sentence, or a full paragraph. Write a unique opening or body paragraph in each row's cell and Batch Merge inserts it exactly as written, so every letter reads like it was drafted individually.
How do I keep dates formatted consistently?
Format the Date column in Google Sheets (Format → Number → Date) — Batch Merge inserts the displayed value, so every letter matches. Or skip the column entirely and put the {{_TIMESTAMP}} dynamic tag in your Doc to stamp each letter with its generation date.
Can I print the letters on company letterhead?
Yes. Add your logo and letterhead to the Google Doc's header (or the page itself) — Batch Merge only replaces the {{tags}} and preserves everything else. Output as PDF for printing, or DOCX if a colleague needs to edit before sending.
Related templates
Generate every letter in one click
Batch Merge is free to install — 25 merge runs per month, no credit card.
Install Batch Merge Free