Running in 1,021 Salesforce orgs today

Every document your business sends, generated from Salesforce.

Invoices, quotes, contracts, receipts, board packets, year-end statements — merged from live Salesforce data, emailed, signed, and filed back on the record. PDF, Word, Excel, or PowerPoint. Nothing ever leaves your org, and it's free for unlimited users.

Runs 100% inside your org E-signatures included, no envelope fees 50,000+ child records per document Unlimited users, no paid tiers
Generated by Portwood
W Automation_Brief_Template.docx
AUTOMATION BRIEF
Prepared for
{Lead.Company} {Lead.Industry} · {Lead.Country}
Recommended workflow
{#WorkflowSteps} {Name}{Document} {/WorkflowSteps}
Delivery · Signature · Storage
Send: {Lead.Email} Track: {*Tracking_Token__c:qr} Sign: {@Signature_Approver}
P Nonprofit_Automation_Brief.pdf
AUTOMATION BRIEF
Prepared for
Riverbend Community Fund
Nonprofit donor operations
Workflow path
Donation receivedReceipt PDF
Major gift pledgeAgreement + signature
Board meetingImpact packet
Year-end closeGiving statements
Automation output
Generated, emailed, storedIn Salesforce
Program approval
0
Salesforce orgs
automating documents natively
0
Child records
per document, via Giant Query
0
Forever
unlimited users and documents
Zero
External callouts
your data never leaves your org
Workflow automation platform

Documents are the output. The workflow is the product.

Portwood connects Salesforce data, templates, Flow, email, signatures, and file storage into complete document automation patterns your team can actually run.

Generate from records, lists, and Flow actions Email personalized PDFs, decks, and packets from Salesforce Route for signature and store the final audit trail Keep the app free; bring Portwood in when you want expert hands
Browse the free template library

Nonprofit donor journey

Every gift acknowledged the day it lands, pledges signed, board meetings briefed — and year-end giving statements for every donor at once.

Donation receipt Pledge agreement Impact packet Year-end giving statements

Lead to invoice

Use the same Salesforce-native engine for follow-up packets, proposals, quotes, contracts, and invoices.

Lead brief Proposal Quote Agreement

Field and customer service

Generate field summaries, inspection reports, customer packets, and operational exports from live Salesforce data.

Work order Inspection report Data export Customer summary
Global footprint

Reducing document automation costs worldwide

Every install on the map is a Salesforce team choosing native automation over another external document vendor.

Capabilities

Everything a document automation platform needs.

Every capability is included. No paywalled features. No upgrade prompts. No "contact sales" to unlock the workflow your team actually needs.

Native templates

Start with the template your team already uses: Word, Excel, PowerPoint, HTML, or a packaged web page. Upload, add merge tags, and generate from Salesforce.

Giant Query engine

Generate documents from records with 50,000+ child rows. Cursor-based pagination, global ORDER BY across all batches, template-embedded images preserved.

Zero external callouts

100% Apex and Lightning Web Components. Your record data never touches a third-party API. Works when competitors' vendors have outages. Works in air-gapped orgs.

Built-in e-signatures

Send documents for signing directly from Portwood. Guest-user signing pages, namespace-aware URLs, and tamper-evident audit trails. No DocuSign, no PandaDoc, no per-envelope fees.

Barcodes & QR codes

Code 128 barcodes and QR codes render natively in Word templates and PDFs. No external libraries, no font installations, no licensing. Just add a tag.

{*ProductCode}

Flow automation

Generate and route documents from any Salesforce Flow. Sample Flows bundled. Dedicated Giant Query Flow Action for bulk automation. DML-bulkified and governor-safe.

Hebrew, Arabic & RTL

Right-to-left language support built in. Multi-language documents work natively. No plugins, no add-ons, no separate template branch for each locale.

Conditionals & aggregates

{#IF Amount > 50000} clauses. Inverse conditionals. Checkbox format. SUM, COUNT, AVG, MIN, MAX aggregates. Date and currency formatting at any depth.

Free forever, no seat math

Unlimited users, unlimited templates, unlimited documents. No paywalled features, no "upgrade to unlock," no renewal negotiation when your team doubles. Apache 2.0 licensed, so it stays that way.

HTML-native templating

Author in HTML. Or Word. Automate anywhere.

The same merge syntax lives in a pure-HTML template or a Word doc — both run on the same engine, because Portwood renders HTML and converts your Word file into it. Word is the quick on-ramp for straightforward documents; when a layout gets genuinely complex, authoring in HTML is the safest path — what you write is exactly what renders, with no conversion surprises.

INVOICE
Bill to:   {Account.Name}
           {Account.BillingStreet}
           {Account.BillingCity}, {Account.BillingState}

{#Opportunities}
  {Name}                      {Amount:currency}
  Closed: {CloseDate:MMMM d, yyyy}
{/Opportunities}

Line items: {COUNT:Opportunities}
Subtotal:   {SUM:Opportunities.Amount:currency}

{#IF Amount > 50000}
  Enterprise pricing applied: 15% discount
{:else}
  Standard pricing
{/IF}

Barcode:   {*InvoiceNumber}
QR code:   {*Website:qr}
Signed by: {@Signature_Buyer}
Logo:      {%Company_Logo__c:200x60}

Merge tags, loops, conditionals, aggregates — all in one automation syntax.

The same template can produce a single-record PDF, a bulk batch of 10,000 invoices, or a Giant Query document with 50,000 line items. Nothing to reconfigure. The engine decides.

{Field} merge
{Parent.Field} lookup
{#List}{/List} loop
{^Field} inverse
{SUM:List.Field} aggregate
{Date:MMMM d} format
{*Field} barcode
{*Field:qr} QR code
{%Image} image embed
{@Signature_X} e-sign
{Flag:checkbox} checkbox
{#IF x > y} conditional
New · Agentforce for Portwood

Or skip the syntax entirely and just describe the document.

Agentforce for Portwood is an optional extension that writes the HTML template for you, using the fields your query already returns and checking its own output against the PDF engine before it saves. Build the query, describe the document, get it back in seconds.

Watch the demo Optional extension. Free, no installation key

The app doesn't need it. Every Portwood feature works exactly the same without this extension. It's a shortcut through the authoring step, not a feature gate — and it's free, with no installation key. Two honest limits: it writes HTML templates only, and you build the query first, since that's what it writes against. Needs Portwood 3.46+ and Einstein in your org.

What you type A quote from an Opportunity: account and billing address up top, a line-item table of the products, subtotal, and a 15% discount line when the amount is over $50,000.
What you get back
Template · generated
{#OpportunityLineItems}
  {Product2.Name}  {UnitPrice:currency}
{/OpportunityLineItems}

Subtotal: {SUM:OpportunityLineItems.TotalPrice:currency}
{#IF Amount > 50000} 15% discount {/IF}
Checked against the PDF engine before it saves
One engine

Bring any template. One rendering core.

Word, Excel, PowerPoint, or pure HTML — every template converges on the same native HTML rendering engine. It's why a Word file and a hand-coded HTML template come out looking identical.

Author anywhere

Start in the tool your team already knows — Word, Excel, PowerPoint, or hand-written HTML. Add merge tags and go. No proprietary editor to learn, no format to convert by hand.

An HTML engine at the core

Under the hood, Portwood is an HTML rendering engine. Your template is merged and converted to HTML, then rendered to pixel-perfect PDF by Salesforce's own Blob.toPdf() — entirely inside your org, with zero external callouts.

Your choice of output

Want a PDF? It's rendered straight from that HTML. Want an editable Word, Excel, or PowerPoint file instead? Portwood assembles the Office document natively. Same tags, same data — you pick the format.

Built in. Not an add-on.

Electronic signatures inside the same automation flow.

Send any Portwood-generated document out for signing. Guest users sign on a public portal, signatures land back on the record, and the whole audit trail lives inside your org — tamper-evident, FLS-enforced, and visible to whoever already has access to the source record.

$0 Envelope fees
FLS Enforced
Flow Ready
1
Flow-triggered

Record-triggered Flows fire off signing requests. No human in the loop required. Send one, send a thousand.

2
Guest-user signing portal

Signers don't need a Salesforce license. Namespace-aware URLs work cleanly in subscriber orgs. Mobile-friendly out of the box.

3
Tamper-evident audit trail

Every signature captured with timestamp, IP, consent record, and the exact document version. All inside your Salesforce org. Nothing leaves.

Signature request · MSA-2026-042 Complete
MSA Agreement
Buyer
Approver
Date
Record ID
Authorized signer
JW
Jennifer Walsh
Buyer · Acme Global Logistics
Signed
RP
Rajesh Patel
Deal desk approver
Signed
DM
Dana Morales
Counter-signer · Portwood LLC
Signed
Audit trail
2026-04-10 14:22 UTC — Walsh signed (IP 73.14.*.*)
2026-04-10 14:38 UTC — Patel signed (IP 12.84.*.*)
2026-04-10 15:01 UTC — Morales signed (IP 98.22.*.*)
2026-04-10 15:01 UTC — Final PDF sealed on MSA__c record
Timestamped IP captured Record sealed
Our commitment

Why is it free?

We built Portwood to give something back to the Salesforce community. We'd watched orgs spend thousands per year on document automation, and knew it could be done better — natively, inside the org, without sending anyone a bill. Every feature is included, there are no per-seat tiers, and it will remain free for life.
P
Portwood LLC
Salesforce document automation
The field

How Portwood stacks up.

This is what paid document automation vendors rarely put next to each other on a single page.

Portwood Conga S-Docs OmniStudio PDF Butler PandaDoc Nintex
Price Free forever ~$25-50/user/mo ~$15-30/user/mo Industries license ~$25-150/org/mo ~$35-65/user/mo ~$25-35/user/mo
100% Native Salesforce Yes No Yes Partial Yes No No
Data stays in your org Yes No Yes Yes Yes No No
Zero external callouts Yes No Yes No Yes No No
Word templates Yes Yes HTML only Yes HTML only Web editor Yes
PDF output Yes Yes Yes Yes Yes Yes Yes
DOCX output Yes Yes No Yes Weak Yes Yes
E-Signatures built in Yes Add-on No No Add-on Core Add-on
Barcodes & QR codes Native Add-on No No Limited No No
Conditional logic Yes Yes Limited Yes Limited Limited Yes
Aggregate functions SUM/COUNT/AVG/MIN/MAX Limited No Limited No No Limited
Hebrew / Arabic / RTL Yes No No Limited No No No
Images in documents Yes Yes Limited Limited Yes Yes Yes
Rich text fields Yes Partial Yes Limited Yes N/A Partial
Multi-level related records Unlimited depth Limited Limited Yes Limited No Limited
Many-to-many relationships Yes Complex No Manual No No Limited
Bulk generation Built-in Add-on cost Yes Limited Higher tiers API only Yes
Related records per doc 50,000+ ~500 ~500 ~1,000 ~500 ~200 ~500
Flow action included Yes Limited Limited Yes Yes No Yes
Open source Apache 2.0 No No No No No No
Works when vendor is down Yes No Yes Partial Yes No No

← swipe to compare →

Pricing reflects publicly available estimates as of early 2026. Actual pricing varies by contract. Feature comparisons reflect documented capabilities and are updated as vendors ship updates.

Install the automation engine in 30 seconds.

No configuration needed. Assign the permission set, open the app, and start building your first document workflow.

sf package install --package 04t... --wait 10 --target-org your-org
Then assign Portwood Admin (called Portwood DocGen Admin before 3.50) · open the Portwood app · automate your first document
Community

Built by Salesforce admins, for Salesforce admins.

Ask how Portwood works, request features, report bugs, and help shape the roadmap.

Discussion board

General questions about Portwood, tips, and other admins building what you're building.

Join discussions

Feature requests

Vote on what gets built next. The community drives the roadmap.

View roadmap

GitHub

Found a bug? Open an issue. Want to contribute? Open a PR.

View repo

Need someone in your org's context — your templates, your queries, a release that broke something? That's Premium Support: a private channel with the people who write Portwood, from $49.95/month.