100% native.
Zero external callouts.
DocGen is built entirely from Apex and Lightning Web Components. Your record data never leaves your org. No sidecar servers, no webhook infrastructure, no third-party renderers — every PDF, DOCX, XLSX, and PPTX is assembled inside Salesforce, governed by the same sharing and FLS rules as the records it reads.
How a document gets made.
Every step runs on-platform. The diagram below is the entire data path — start to finish.
Salesforce records
Accounts, Opportunities, custom objects — any record, any depth.
Query engine
Apex resolves parent lookups, child loops, aggregates.
Template merge
Word / Excel / PowerPoint template merged in-memory.
Output saved
Final PDF / DOCX stored as ContentVersion on the record.
Nothing inside this boundary leaves the boundary. No HTTP callouts. No queued webhook delivery. No third-party rendering service. If your org can run Apex, DocGen can generate documents — even in air-gapped deployments.
Three non-negotiables.
The rules we built around from day one.
Your data stays in your org.
All merge, render, and save operations happen inside Salesforce's platform boundary. We have no servers, no logs, no cache outside your org. CRUD and FLS are enforced on every query via stripInaccessible().
Native Apex rendering.
PDF generation uses Salesforce's own Blob.toPdf() engine. Word documents are assembled via the platform's Compression API. No external JavaScript PDF libraries, no XSLT processors, no Flying Saucer servers.
Zero HTTP callouts.
No outbound network calls during generation. Works inside air-gapped orgs, behind strict network policies, and when your competitors' third-party rendering services are down. Audit the source yourself on GitHub.
When 50,000 rows is just a starting point.
Most native doc generators tap out around 500–1,000 child records per document. Giant Query handles 50,000+ without breaking a sweat — and it does it with global ORDER BY preserved across every batch, so the first row of page 1 is still the first row even when there are 100 pages.
Under the hood: cursor-based SOQL pagination, batch-assembly of merged fragments in ContentVersion, and final document stitching in a queueable chain. Template-embedded images and rich text render correctly on every page.
Built for every role on the Salesforce team.
Admins set up templates, developers extend the engine, users click Generate.
For Admins
Configure once, generate forever- Visual template wizard with sample record preview
- Manual SOQL with inline field autocomplete
- Template versioning — restore any prior version
- Document title formatter with merge-tag naming
- Drag-and-drop Word / Excel / PowerPoint upload
- Per-template category and description tagging
- Export / import templates as portable JSON
- Signature email branding (color, logo, footer)
For Developers
Open source, extensible, auditable- Apache 2.0 source on GitHub — fork, audit, extend
- Invocable Flow actions (single, bulk, Giant Query)
- Custom data provider interface for bespoke SOQL
- Apex API for programmatic template generation
- Managed 2GP package with ancestor chain
- Namespace-aware guest user signing URLs
- Platform events for async PDF rendering
- E2E test suite + Apex test coverage
For End Users
One click, get the document- Generate from any record page in one click
- Bulk generate from list views and reports
- PDF preview before save
- Save to record or download instantly
- Document packets (combine multiple templates)
- Merge generated PDFs with existing attachments
- Signature-ready documents with one send
- Mobile-friendly generation in the Salesforce app
Every tag type in one place.
Quick-reference for template authors. Full examples and edge cases live in the User Guide.
Fields & lookups
{FieldName}{Parent.Field}{Grandparent.Parent.Field}Child loops
{#Child}...{/Child}{Name}{#Child}{#Grand}...{/Grand}{/Child}Conditionals
{#Flag}...{/Flag}{^Field}...{/Field}{#IF Amount > 50000}...{/IF}Aggregates
{SUM:List.Field}{COUNT:List}{AVG:List.Field}Formatting
{Date:MMMM d, yyyy}{Amount:currency}{Flag:checkbox}Media & signatures
{%Logo}{*Code128}{*Code128:qr}{@Signature_Role}Watch a document get made.
Five minutes: Opportunity hits Closed Won, DocGen auto-generates a branded PDF invoice.
See real implementations on the Customers page →
Install in 30 seconds.
Open source. Free forever. Works in Production, Sandbox, Developer, and Scratch orgs.