← All use cases
HR · People ops

AI offer letter generator with required-field guardrails.

Recruiters shouldn't be the last line of defense against typos in salary numbers. Upload your offer-letter templates, mark the must-have fields, and let Claude draft each letter from a one-line prompt — with zero risk of a missing start date or equity grant.

For: In-house recruiters, HR business partners, and people-ops teams shipping more than five offer letters a week.

The problem

Offer letters look simple until you account for three template variants (FT, contractor, intern), an equity addendum, region-specific benefits paragraphs, and the legal review that follows every typo. Most HRIS tools either lock you into their layout or require an admin to wire each new template into a custom flow.

How DocExport solves it

DocExport hosts each offer-letter .docx as a Claude-callable tool. Mark {{Salary}}, {{StartDate}}, and {{ManagerName}} as required, and Claude refuses to generate the letter without them — calling preview_generate first to surface anything missing. The recruiter writes one sentence; the PDF lands in their DM 3 seconds later.

The workflow

From .docx to AI-generated document.

1
Upload your offer templates

One .docx per variant — full-time, contractor, intern. Add a {{TableStart:Benefits}} region for variable benefit lines.

2
Mark required fields

Flag salary, start date, and manager name as required. Add descriptions like "Annual base in USD, no commas" so Claude formats them right.

3
Recruiter prompts Claude

"Generate the FT offer for Priya — Senior Engineer, $185k, 4-year vest, starts June 15." Done.

Example

What the prompt looks like.

“Generate the full-time offer for Priya Sharma — Senior Engineer, base $185,000, 4-year vest with a 1-year cliff, starts June 15, manager is Jordan Lee.”

Template fields exposed to the agent

{{CandidateName}}{{JobTitle}}{{Salary}}{{StartDate}}{{ManagerName}}{{EquityGrant}}{{VestingSchedule}}{{TableStart:Benefits}}{{BenefitName}}{{BenefitDescription}}{{TableEnd:Benefits}}{{OfferExpiry}}
Why teams choose DocExport for this

Built for the agent on the other side.

Required-field enforcement

No salary, no letter. DocExport rejects the generation if a required placeholder is empty — Claude self-corrects before producing the file.

Audit log out of the box

Every offer letter generation is logged with timestamp, requesting user, and the JSON payload. Auditors can trace who issued what.

Multi-template by design

Run FT, contractor, and intern variants from the same MCP endpoint. Claude picks the right template via list_templates.

Edit in Word, ship in seconds

When legal updates the equity language, edit the .docx in Word. The next letter ships with the new wording — no engineering ticket required.

FAQ

Common questions.

Is this compliant for international hires?
DocExport renders whatever your template says. If your legal team maintains region-specific .docx variants, Claude can pick the right one based on candidate location.
Can the equity table vary per candidate?
Yes. Use a {{TableStart:Equity}} repeating region and pass an array of grants — different vesting schedules per row are fine.
Where is candidate data stored?
Inside your DocExport tenant. Generations are tenant-isolated; the rendered PDF and input JSON are accessible only to your workspace.
Can a recruiter generate without involving IT?
Yes. Once HR uploads the templates, recruiters use Claude Desktop or the web app — no engineering help needed.

Try DocExport free.

25 documents / month on the free tier. No credit card. Connect Claude in under 10 minutes.

Start free