Skip to content

A starting point.
Room to make it yours.

Explore finished examples, then choose a starter file and the data query that goes with it.

A proposal with a point of view.

A photographic cover, custom fonts, a live program table and a page prepared for signing.

Custom fontsRelated recordsSigning fields
Explore the proposal

A report people want to read.

A distinct identity, a native chart and a clear view of the partnerships behind the numbers.

Native chartsLive totalsQR codes
Explore the report

Starter templates

Word, HTML and Excel files with their query configurations. Adapt the layout, merge fields and sample data before using one in your process.

22 templates

Word / Finance

Invoice

Classic line-item invoice: repeating product rows, computed totals, amount due, and remittance details, all from one Opportunity.

Download Word
Data and setup

Base object: Opportunity

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Opportunity",
  "nodes": [
    {
      "id": "n0",
      "object": "Opportunity",
      "fields": [
        "Name",
        "Amount",
        "CloseDate"
      ],
      "parentFields": [
        "Account.Name",
        "Account.BillingStreet",
        "Account.BillingCity",
        "Account.BillingState",
        "Account.BillingPostalCode"
      ],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "OpportunityLineItem",
      "fields": [
        "Quantity",
        "UnitPrice",
        "TotalPrice"
      ],
      "parentFields": [
        "Product2.Name",
        "Product2.ProductCode"
      ],
      "parentNode": "n0",
      "lookupField": "OpportunityId",
      "relationshipName": "OpportunityLineItems"
    }
  ]
}

Line-item loop · SUM / COUNT totals · Currency formatting · {Today} date tag

Word / Sales

Sales Quote

Customer-ready quote with a products table, min/avg/max pricing detail, and an enterprise clause that only appears on $100k+ deals.

Download Word
Data and setup

Base object: Opportunity

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Opportunity",
  "nodes": [
    {
      "id": "n0",
      "object": "Opportunity",
      "fields": [
        "Name",
        "Amount",
        "CloseDate",
        "StageName"
      ],
      "parentFields": [
        "Account.Name"
      ],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "OpportunityLineItem",
      "fields": [
        "Quantity",
        "UnitPrice",
        "TotalPrice"
      ],
      "parentFields": [
        "Product2.Name",
        "Product2.Family"
      ],
      "parentNode": "n0",
      "lookupField": "OpportunityId",
      "relationshipName": "OpportunityLineItems"
    }
  ]
}

Line-item loop · AVG / MIN / MAX · Conditional clause ({#IF}) · Valid-until date

Word / Nonprofit

Donation Receipt

Donation acknowledgment with a fund-designation loop, conditional wording and a give-again QR code. Review the wording for your organization before use.

Download Word
Data and setup

Base object: Opportunity

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Opportunity",
  "nodes": [
    {
      "id": "n0",
      "object": "Opportunity",
      "fields": [
        "Name",
        "Amount",
        "CloseDate"
      ],
      "parentFields": [
        "Account.Name",
        "Account.Website"
      ],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "OpportunityLineItem",
      "fields": [
        "TotalPrice"
      ],
      "parentFields": [
        "Product2.Name"
      ],
      "parentNode": "n0",
      "lookupField": "OpportunityId",
      "relationshipName": "OpportunityLineItems"
    }
  ]
}

Designation loop · IRS $250 conditional · QR code · SUM totals

Word / Customer Success

Customer Welcome Letter

The perfect first template: a warm onboarding letter using simple field merges, parent lookups, and the running-user signature block. No loops, no tables of data.

Download Word
Data and setup

Base object: Contact

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Contact",
  "nodes": [
    {
      "id": "n0",
      "object": "Contact",
      "fields": [
        "FirstName",
        "LastName",
        "Title",
        "Email"
      ],
      "parentFields": [
        "Account.Name",
        "Account.Industry",
        "Account.Website"
      ],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    }
  ]
}

Field merge basics · Parent lookup ({Account.Name}) · {RunningUser} tags

Word / Sales

Account Executive Brief

One-page pre-meeting brief: account snapshot, key contacts, open pipeline with totals, and support activity: three child loops on one document.

Download Word
Data and setup

Base object: Account

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Account",
  "nodes": [
    {
      "id": "n0",
      "object": "Account",
      "fields": [
        "Name",
        "Industry",
        "Phone",
        "Website",
        "AnnualRevenue",
        "NumberOfEmployees",
        "Description"
      ],
      "parentFields": [],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "Contact",
      "fields": [
        "FirstName",
        "LastName",
        "Title",
        "Email",
        "Phone"
      ],
      "parentFields": [],
      "parentNode": "n0",
      "lookupField": "AccountId",
      "relationshipName": "Contacts"
    },
    {
      "id": "n2",
      "object": "Opportunity",
      "fields": [
        "Name",
        "StageName",
        "Amount",
        "CloseDate",
        "IsWon"
      ],
      "parentFields": [],
      "parentNode": "n0",
      "lookupField": "AccountId",
      "relationshipName": "Opportunities"
    },
    {
      "id": "n3",
      "object": "Case",
      "fields": [
        "CaseNumber",
        "Subject",
        "Status",
        "Priority"
      ],
      "parentFields": [],
      "parentNode": "n0",
      "lookupField": "AccountId",
      "relationshipName": "Cases"
    }
  ]
}

Three child loops · Rel.totalSize guards · Checkbox formatting · Aggregates

Word / Operations

Contact Directory

A clean printable directory of every contact on an account. The simplest possible loop table, and a great second template.

Download Word
Data and setup

Base object: Account

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Account",
  "nodes": [
    {
      "id": "n0",
      "object": "Account",
      "fields": [
        "Name"
      ],
      "parentFields": [],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "Contact",
      "fields": [
        "FirstName",
        "LastName",
        "Title",
        "Email",
        "Phone"
      ],
      "parentFields": [],
      "parentNode": "n0",
      "lookupField": "AccountId",
      "relationshipName": "Contacts"
    }
  ]
}

Contact loop · {RepeatHeader} · COUNT aggregate · {Now} timestamp

Word / Support

Case Summary Report

Complete case file: details, priority-driven callout, full description, and a work log built from case comments.

Download Word
Data and setup

Base object: Case

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Case",
  "nodes": [
    {
      "id": "n0",
      "object": "Case",
      "fields": [
        "CaseNumber",
        "Subject",
        "Description",
        "Status",
        "Priority",
        "Origin",
        "CreatedDate",
        "IsEscalated"
      ],
      "parentFields": [
        "Account.Name",
        "Contact.Name",
        "Contact.Email"
      ],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "CaseComment",
      "fields": [
        "CommentBody",
        "CreatedDate"
      ],
      "parentFields": [],
      "parentNode": "n0",
      "lookupField": "ParentId",
      "relationshipName": "CaseComments"
    }
  ]
}

CaseComments loop · Priority conditional · Checkbox formatting · DateTime formats

Word / Operations

Order Confirmation

Customer order confirmation with ship-to block, item table, and a Code 128 barcode of the record ID for warehouse scanning.

Download Word
Data and setup

Base object: Opportunity

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Opportunity",
  "nodes": [
    {
      "id": "n0",
      "object": "Opportunity",
      "fields": [
        "Id",
        "Name",
        "Amount",
        "CloseDate"
      ],
      "parentFields": [
        "Account.Name",
        "Account.BillingStreet",
        "Account.BillingCity",
        "Account.BillingState",
        "Account.BillingPostalCode"
      ],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "OpportunityLineItem",
      "fields": [
        "Quantity",
        "TotalPrice"
      ],
      "parentFields": [
        "Product2.Name",
        "Product2.ProductCode"
      ],
      "parentNode": "n0",
      "lookupField": "OpportunityId",
      "relationshipName": "OpportunityLineItems"
    }
  ]
}

Code 128 barcode · Line-item loop · SUM totals · Address block

Word / Sales

Service Agreement (e-sign)

A two-party agreement wired for Portwood e-signatures: Client and Provider signature + date tags, ready for the Signature Sender.

Download Word
Data and setup

Base object: Opportunity

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Opportunity",
  "nodes": [
    {
      "id": "n0",
      "object": "Opportunity",
      "fields": [
        "Name",
        "Amount",
        "CloseDate"
      ],
      "parentFields": [
        "Account.Name"
      ],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    }
  ]
}

{@Signature} tags · Two-role signing · Auto date stamps · Contract layout

Word / Sales

Pipeline Report with Chart

An account pipeline report crowned with a native donut chart, rendered as a real PNG by pure Apex with zero external services. Table, totals, and aggregates included.

Download Word
Data and setup

Base object: Account

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Account",
  "nodes": [
    {
      "id": "n0",
      "object": "Account",
      "fields": [
        "Name"
      ],
      "parentFields": [],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "Opportunity",
      "fields": [
        "Name",
        "StageName",
        "Amount",
        "CloseDate"
      ],
      "parentFields": [],
      "parentNode": "n0",
      "lookupField": "AccountId",
      "relationshipName": "Opportunities"
    }
  ]
}

{Chart:...} donut · Opportunity loop · SUM / MAX / AVG · Zero callouts

Word / Delivery

Project Kickoff Packet

Scope, team, and investment in one packet: line-item scope table, contact-role team roster, and a sponsor signature block to close it out.

Download Word
Data and setup

Base object: Opportunity

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Opportunity",
  "nodes": [
    {
      "id": "n0",
      "object": "Opportunity",
      "fields": [
        "Name",
        "Amount",
        "CloseDate"
      ],
      "parentFields": [
        "Account.Name"
      ],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "OpportunityLineItem",
      "fields": [
        "Quantity",
        "TotalPrice"
      ],
      "parentFields": [
        "Product2.Name",
        "Product2.ProductCode"
      ],
      "parentNode": "n0",
      "lookupField": "OpportunityId",
      "relationshipName": "OpportunityLineItems"
    },
    {
      "id": "n2",
      "object": "OpportunityContactRole",
      "fields": [
        "Role"
      ],
      "parentFields": [
        "Contact.Name",
        "Contact.Email"
      ],
      "parentNode": "n0",
      "lookupField": "OpportunityId",
      "relationshipName": "OpportunityContactRoles"
    }
  ]
}

Contact roles loop · Signature tags · Scope table + totals · Empty-state guard

Word / Support

Case Escalation Notice

A notice that adapts to severity: urgent banner for high-priority cases, inverse conditional on the escalation flag, and SLA commitments.

Download Word
Data and setup

Base object: Case

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Case",
  "nodes": [
    {
      "id": "n0",
      "object": "Case",
      "fields": [
        "CaseNumber",
        "Subject",
        "Description",
        "Status",
        "Priority",
        "CreatedDate",
        "IsEscalated"
      ],
      "parentFields": [
        "Account.Name",
        "Contact.Name",
        "Contact.Email"
      ],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    }
  ]
}

Priority conditional · Inverse conditional ({^Field}) · {Now} timestamps · PDF-safe checkmarks

Word / Customer Success

Renewal Notice

A renewal letter that knows its own status: a congratulations panel once the renewal is Closed Won, an action-requested panel while it isn't.

Download Word
Data and setup

Base object: Opportunity

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Opportunity",
  "nodes": [
    {
      "id": "n0",
      "object": "Opportunity",
      "fields": [
        "Name",
        "Amount",
        "CloseDate",
        "StageName"
      ],
      "parentFields": [
        "Account.Name"
      ],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    }
  ]
}

Stage conditional · Date formatting · Callout panels · {RunningUser} contact block

Word / Sales

Executive Account Review (QBR)

The flagship: KPI summary, two native charts (pipeline donut, case-status bar), deal detail, support health, and the people you work with: four child relationships on one Account document.

Download Word
Data and setup

Base object: Account

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Account",
  "nodes": [
    {
      "id": "n0",
      "object": "Account",
      "fields": [
        "Name",
        "Industry",
        "AnnualRevenue",
        "NumberOfEmployees"
      ],
      "parentFields": [],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "Opportunity",
      "fields": [
        "Name",
        "StageName",
        "Amount",
        "CloseDate"
      ],
      "parentFields": [],
      "parentNode": "n0",
      "lookupField": "AccountId",
      "relationshipName": "Opportunities"
    },
    {
      "id": "n2",
      "object": "Case",
      "fields": [
        "CaseNumber",
        "Subject",
        "Status",
        "Priority"
      ],
      "parentFields": [],
      "parentNode": "n0",
      "lookupField": "AccountId",
      "relationshipName": "Cases"
    },
    {
      "id": "n3",
      "object": "Contact",
      "fields": [
        "FirstName",
        "LastName",
        "Title",
        "Email"
      ],
      "parentFields": [],
      "parentNode": "n0",
      "lookupField": "AccountId",
      "relationshipName": "Contacts"
    }
  ]
}

Two {Chart} tags · Four child loops · Six aggregates · totalSize guards

Excel / Operations

Contact Roster (Excel)

A native .xlsx workbook: one spreadsheet row per contact, ready for sorting and filtering in Excel. Same merge tags, different canvas.

Download Excel
Data and setup

Base object: Account

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Account",
  "nodes": [
    {
      "id": "n0",
      "object": "Account",
      "fields": [
        "Name"
      ],
      "parentFields": [],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "Contact",
      "fields": [
        "FirstName",
        "LastName",
        "Title",
        "Email",
        "Phone"
      ],
      "parentFields": [],
      "parentNode": "n0",
      "lookupField": "AccountId",
      "relationshipName": "Contacts"
    }
  ]
}

Native Excel output · Row loop · COUNT aggregate · Styled header row

Excel / Finance

Line Item Workbook (Excel)

Opportunity line items as a working spreadsheet with a grand-total row. Hand finance a file they can pivot.

Download Excel
Data and setup

Base object: Opportunity

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Opportunity",
  "nodes": [
    {
      "id": "n0",
      "object": "Opportunity",
      "fields": [
        "Name",
        "CloseDate"
      ],
      "parentFields": [
        "Account.Name"
      ],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "OpportunityLineItem",
      "fields": [
        "Quantity",
        "UnitPrice",
        "TotalPrice"
      ],
      "parentFields": [
        "Product2.Name",
        "Product2.ProductCode"
      ],
      "parentNode": "n0",
      "lookupField": "OpportunityId",
      "relationshipName": "OpportunityLineItems"
    }
  ]
}

Native Excel output · Line-item loop · SUM grand total · Currency formatting

HTML / Finance

Invoice (HTML)

The invoice, authored in pure HTML, where what you write is exactly what renders, no Word-to-PDF conversion in between. Zebra-striped rows, right-aligned numerics, print-perfect.

Download HTML
Data and setup

Base object: Opportunity

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Opportunity",
  "nodes": [
    {
      "id": "n0",
      "object": "Opportunity",
      "fields": [
        "Name",
        "Amount",
        "CloseDate"
      ],
      "parentFields": [
        "Account.Name",
        "Account.BillingStreet",
        "Account.BillingCity",
        "Account.BillingState",
        "Account.BillingPostalCode"
      ],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "OpportunityLineItem",
      "fields": [
        "Quantity",
        "UnitPrice",
        "TotalPrice"
      ],
      "parentFields": [
        "Product2.Name",
        "Product2.ProductCode"
      ],
      "parentNode": "n0",
      "lookupField": "OpportunityId",
      "relationshipName": "OpportunityLineItems"
    }
  ]
}

Pure HTML → PDF · Zebra striping (nth-child) · Line-item loop · SUM / COUNT totals

HTML / Sales

Sales Quote (HTML)

Customer-ready HTML quote: products table, min/avg/max pricing detail, and an enterprise clause that appears only on $100k+ deals. Pixel-exact PDF output.

Download HTML
Data and setup

Base object: Opportunity

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Opportunity",
  "nodes": [
    {
      "id": "n0",
      "object": "Opportunity",
      "fields": [
        "Name",
        "Amount",
        "CloseDate",
        "StageName"
      ],
      "parentFields": [
        "Account.Name"
      ],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "OpportunityLineItem",
      "fields": [
        "Quantity",
        "UnitPrice",
        "TotalPrice"
      ],
      "parentFields": [
        "Product2.Name",
        "Product2.Family"
      ],
      "parentNode": "n0",
      "lookupField": "OpportunityId",
      "relationshipName": "OpportunityLineItems"
    }
  ]
}

Pure HTML → PDF · Conditional clause ({#IF}) · AVG / MIN / MAX · Valid-until date

HTML / Finance

Account Statement (HTML)

A statement of every engagement on the account: history table with won checkmarks, totals, and a live figures callout. Built for bulk runs across your whole book.

Download HTML
Data and setup

Base object: Account

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Account",
  "nodes": [
    {
      "id": "n0",
      "object": "Account",
      "fields": [
        "Name",
        "Industry",
        "Phone"
      ],
      "parentFields": [],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "Opportunity",
      "fields": [
        "Name",
        "StageName",
        "Amount",
        "CloseDate",
        "IsWon"
      ],
      "parentFields": [],
      "parentNode": "n0",
      "lookupField": "AccountId",
      "relationshipName": "Opportunities"
    }
  ]
}

Engagement loop · Checkbox formatting · SUM / MAX / AVG · {Now} timestamp

HTML / Sales

Executive Review (HTML + live charts)

The QBR in HTML, where the two charts render fully server-side, so they appear in Flow, bulk, and scheduled generations too, not just the Runner. Four child relationships, six aggregates, one command performance.

Download HTML
Data and setup

Base object: Account

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Account",
  "nodes": [
    {
      "id": "n0",
      "object": "Account",
      "fields": [
        "Name",
        "Industry",
        "AnnualRevenue",
        "NumberOfEmployees"
      ],
      "parentFields": [],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "Opportunity",
      "fields": [
        "Name",
        "StageName",
        "Amount",
        "CloseDate"
      ],
      "parentFields": [],
      "parentNode": "n0",
      "lookupField": "AccountId",
      "relationshipName": "Opportunities"
    },
    {
      "id": "n2",
      "object": "Case",
      "fields": [
        "CaseNumber",
        "Subject",
        "Status",
        "Priority"
      ],
      "parentFields": [],
      "parentNode": "n0",
      "lookupField": "AccountId",
      "relationshipName": "Cases"
    },
    {
      "id": "n3",
      "object": "Contact",
      "fields": [
        "FirstName",
        "LastName",
        "Title",
        "Email"
      ],
      "parentFields": [],
      "parentNode": "n0",
      "lookupField": "AccountId",
      "relationshipName": "Contacts"
    }
  ]
}

Server-side charts · Works in Flow & bulk · Four child loops · Six aggregates

HTML / Support

Case Brief (HTML)

The complete case file in clean HTML: priority-aware banner, full details, and a work log from case comments, the template support teams attach to escalation emails.

Download HTML
Data and setup

Base object: Case

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Case",
  "nodes": [
    {
      "id": "n0",
      "object": "Case",
      "fields": [
        "CaseNumber",
        "Subject",
        "Description",
        "Status",
        "Priority",
        "Origin",
        "CreatedDate",
        "IsEscalated"
      ],
      "parentFields": [
        "Account.Name",
        "Contact.Name",
        "Contact.Email"
      ],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    },
    {
      "id": "n1",
      "object": "CaseComment",
      "fields": [
        "CommentBody",
        "CreatedDate"
      ],
      "parentFields": [],
      "parentNode": "n0",
      "lookupField": "ParentId",
      "relationshipName": "CaseComments"
    }
  ]
}

Priority conditional · CaseComments loop · Empty-state guard · DateTime formats

HTML / Sales

Service Agreement (HTML, e-sign)

A two-party agreement in HTML, the recommended format for signature templates because the signature stamp cards get the most room. Client + Provider roles with auto date stamps, side-by-side signature blocks.

Download HTML
Data and setup

Base object: Opportunity

Copy this configuration into the template’s data setup. Match the field and relationship names to your org.

{
  "v": 3,
  "root": "Opportunity",
  "nodes": [
    {
      "id": "n0",
      "object": "Opportunity",
      "fields": [
        "Name",
        "Amount",
        "CloseDate"
      ],
      "parentFields": [
        "Account.Name"
      ],
      "parentNode": null,
      "lookupField": null,
      "relationshipName": null
    }
  ]
}

{@Signature} tags · Side-by-side sign blocks · Two-role sequence · Recommended e-sign format

Put your own template to work.

The guide walks through installation, data selection and your first generated document.

Follow the first-document tutorial

Need a finished result?

We can turn a starting file into a branded document and a working Salesforce process. Template builds, document automation and migration are scoped and quoted per project, separately from ongoing care.

Explore custom template builds