July 12, 2026 · 6 min read
How to Send Personalized Offer Letters to Every Candidate at Once
A step-by-step guide to generating a batch of offer or appointment letters from a hiring spreadsheet, each filled with the right name, role, and start date.
A hiring round rarely produces one offer letter, it produces a batch: a dozen interns starting the same month, a cohort of new hires after a job fair, an entire team brought on for a new project. Each letter is nearly identical, name, role, start date, and maybe a compensation figure change, but the layout, terms, and signature block stay the same.
Writing each one from scratch, or copy-pasting into a Word template and exporting individually, turns a straightforward HR task into an afternoon of careful, repetitive editing where a single missed find-and-replace means the wrong candidate gets someone else's start date.
What you need
- Your offer letter as a PDF. Export your existing template once, letterhead, legal boilerplate, and all.
- A hiring spreadsheet with one row per candidate: name, role, department, start date, and any other detail the letter references.
Step by step
- Upload the letter template to AutoPDF. It renders exactly as designed, so you place fields on the real layout instead of guessing at margins.
- Upload the hiring spreadsheet. If you haven't placed any fields yet, AutoPDF suggests a quick-add button for each column, so the candidate name field is one click.
- Place a field wherever the letter references candidate-specific details: name (often appears twice, in the salutation and the body), role, department, start date, and compensation if it's part of the template.
- Preview one letter with a real candidate's data before running the rest, to confirm every field lines up and nothing overlaps the letterhead or signature block.
- Generate the batch. Name each file by candidate name so HR or the hiring manager can find the right letter in the ZIP without opening each one.
A few things worth double-checking
- If a candidate's name appears more than once in the letter (salutation and body, for example), place a separate field at each spot, both mapped to the same name column.
- Dates should be formatted the way you want them to read ("March 3, 2026" versus "03/03/2026") directly in the spreadsheet, since that's exactly what lands in the letter.
- Always preview before the full batch for anything with legal or compensation language. A field placement issue in an internal document is a quick fix; in a signed offer letter, it's not.
This same field-mapping approach works for appointment letters, confirmation letters, and any other HR document that's one template plus one row of employee data per output. For the general mechanics of the field editor, see how to automate PDF generation from Excel data.