HR & People Ops

Free Offer Letter Template for Google Docs (Mail Merge Ready)

A professional offer letter template with role details, compensation, start date, and an acceptance signature block. Copy it into a Google Doc, connect a Google Sheet of candidates, and generate a personalized offer letter for every row 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 offer letter per candidate.

{{Company Name}} {{Company Address}} {{Offer Date}} {{Candidate Name}} {{Candidate Address}} Dear {{Candidate Name}}, On behalf of the entire team, we are delighted to offer you the position of {{Job Title}} at {{Company Name}}. Your experience and enthusiasm stood out throughout the interview process, and we believe you will be a fantastic addition to the {{Department}} team. POSITION DETAILS Job Title: {{Job Title}} Department: {{Department}} Reports To: {{Manager}} Employment Type: {{Employment Type}} Start Date: {{Start Date}} Work Location: {{Work Location}} COMPENSATION Your starting salary will be {{Salary}} per year, payable in accordance with the company's standard payroll schedule and subject to applicable withholdings. In addition, you will be eligible for {{Bonus}}, subject to the terms of the applicable plan documents. BENEFITS As part of your employment, you will be eligible for {{Benefits Summary}}. Details and enrollment instructions will be provided during your onboarding. CONDITIONS OF THIS OFFER This offer is contingent upon the successful completion of a background check and your submission of documents establishing your eligibility to work. This letter does not constitute a contract of employment for any specific period of time; employment with {{Company Name}} is at-will and may be ended by either party at any time. NEXT STEPS To accept this offer, please sign and date the acceptance block below and return this letter no later than {{Response Deadline}}. If you have any questions in the meantime, contact {{HR Contact Name}} at {{HR Contact Email}} — we are happy to help. We can't wait to have you on board! Sincerely, ______________________________ {{Manager}} Hiring Manager, {{Department}} {{Company Name}} ──────────────────────────────────────── ACCEPTANCE I, {{Candidate Name}}, accept the position of {{Job Title}} with {{Company Name}} on the terms described in this letter, with a start date of {{Start Date}}. Signature: ______________________________ Date: ______________________________

Shortcut: a ready-made Offer Letter ships inside the add-on. In Google Sheets, open Extensions → Batch Merge → Open Batch Merge and pick Offer Letter from the built-in template library — it creates the Doc and a sample sheet for you.

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 offer letter:

Candidate NameCandidate EmailJob TitleSalaryStart DateManagerDepartmentEmployment TypeBonusResponse Deadline
Jordan Ellisjordan.ellis@gmail.comSenior Product Designer$128,000Aug 3, 2026Priya RamanDesignFull-timea 10% annual target bonusJul 17, 2026
Maya Chenmaya.chen@outlook.comAccount Executive$85,000Aug 10, 2026Derek BooneSalesFull-timea quarterly commission planJul 20, 2026

Tip: tags that are the same for every candidate — like Company Name, Company Address, HR Contact Name, and Benefits Summary — can either get their own column with the value filled down every row, or be replaced with plain text in the Doc before you merge.

Generate one offer letter per candidate

Copy the template into a Google Doc. Click Copy template above, paste into a new Doc, and style it however you like — fonts, colors, your company letterhead. 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 offer 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 offer letter straight to {{Candidate Email}}), scheduling, and Google Slides templates are on Pro.

FAQ

Can I email each offer letter to the candidate automatically?

Yes — on the Pro plan, add a candidate email column and Batch Merge attaches each generated PDF to a personalized email per row. Every candidate gets their own offer letter in their inbox, and the Merge Log records exactly what was sent.

What if some candidates get a bonus and others don't?

Write the full phrase in the sheet cell so the sentence reads correctly either way — e.g. "a 10% annual target bonus" for one candidate and "no additional variable compensation" for another. Batch Merge inserts the cell text exactly as written, so the letter stays grammatical for every row.

Which output format should I use if candidates need to sign?

PDF is the standard choice for a final, tamper-resistant letter with a print-and-sign acceptance block. If you use an e-signature tool, generate DOCX instead and upload each file there — Batch Merge outputs PDF, DOCX, or Google Doc per row.

Related templates

Send every offer letter in minutes

Batch Merge is free to install — 25 merge runs per month, no credit card.

Install Batch Merge Free