Skip to main content

Document Generation

Document Generation turns your own Word templates into finished letters and agreements, one per record, with every value traceable to where it came from. Your team keeps writing templates in Word exactly as before. The app reads the fillable parts of each template, learns where each value comes from, fills the documents from the workspace's data, lets a person check every page before anything is produced, and keeps the proof of who supplied what. It is a platform-standard app, present in every workspace's gallery.

The app home shows your templates in the groups your team uses, four numbers — templates, documents generated, the last 30 days, and fields still to confirm — and a History tab listing every batch. Each template card opens its field sheet or starts a generation. Templates are .docx or .dotx files whose fillable parts are Word content controls, including controls that wrap whole paragraphs and controls inside tables; uploads are limited to 25 MB per template by default. Uploading, editing a field sheet, and generating need the member role or above; viewers can read templates and history.

The field sheet

For each template, the field sheet lists every field, its type (text, choice, or date), where it prints (header, address block, reference line, text, signature block, or footer), and where its value comes from. The template page sits beside the sheet with every field marked, and where one value prints in several places — a company name in the header and the body — those places are merged into one field. When controls reuse the same placeholder text for different fields, the app tells them apart by their surroundings: the paragraph, the table cell, the label above, the column heading.

  • From the record — a column of the data product the documents are generated from.
  • Entered per document — a value a person types during review, for values the record does not hold.
  • Your details — the signed-in person's profile: name, initials, title, department, signature line.
  • By rule — a workspace rule: a table lookup, a pattern match, a presence check that picks one wording or another, a date a number of days from today, or a fixed value.
  • Today's date — printed in the template's own date format.

The platform proposes the sources when a template is uploaded and marks them Suggested; a person confirms or changes them once, and every document after that is filled the same way. The app never invents fields: a field sheet may rename, re-source, and confirm the places the file actually has, but it cannot add new ones. Workspace rules are set up as workspace data alongside the templates; there is no screen to edit them yet.

The generate flow

  1. Template — pick the letter or agreement. Templates that belong together can be generated in one go; a letter brings its companion agreement along by default, shown as a visible checkbox you can untick.
  2. Records — pick the data product on the left and tick its records on the right. Every ticked record becomes one document per template.
  3. Review — three columns: the list of documents, the real page of the selected one, and its fields in page order. The page is the template's own Word file with the values put in, so letterhead, address window, and footer look exactly as Word prints them. Every value is tinted by its origin, and the field column opens with Needs your input: fields the record does not hold, with the reason and a link to the field sheet.
  4. Done — Word and PDF per document, a zip of everything, and a proof line counting the values that came from records and rules, the values entered for this batch, and the values changed by hand.

During review a person edits any value with the right control — a dropdown for a choice, a date picker, a text box — can put a changed value back, and can copy one value to every document of the batch. Their own details are editable for this batch only, or can be saved as personal defaults. Nothing is sent anywhere: the app renders and keeps files for a person to review and send, and has no e-mail, e-signature, or write-back step of its own.

Generated files are filled by writing values into the template's content controls and nothing else, so the output stays editable in Word. PDF rendering depends on the rendering service being available in your deployment; where it is not, a batch produces Word files only and says so instead of implying PDFs exist.

The audit trail

Every generated document carries each value together with its origin — which record column and source document, which rule, which person entered it, or that it was edited by hand from what to what — and a list of events: filled by the platform, entered by a person, changed, put back, generated, downloaded, kept. The History tab shows every batch, every document, and under each document that record of events, so months later you can still answer "where did this date on this letter come from, and who changed it".

Example: one value's origin and events on a renewal letter
{
  "renewal_date": {
    "value": "31 March 2027",
    "origin": { "type": "edited", "by": "A. Rivera", "at": "2026-10-06T10:41:12Z", "from": "31 December 2026" }
  },
  "customer_name": {
    "value": "Northwind Trading Ltd",
    "origin": { "type": "product", "field": "counterparty_name",
                "recordLabel": "Service agreement 2024-117", "documentName": "agreement-2024-117.pdf" }
  },
  "events": [
    { "kind": "filled", "by": "The platform", "detail": "12 values from the record and the rules" },
    { "kind": "edited", "by": "A. Rivera", "field": "renewal_date",
      "from": "31 December 2026", "to": "31 March 2027" },
    { "kind": "generated", "by": "A. Rivera" }
  ]
}
Example: a field sheet entry for the same template
{
  "key": "renewal_date",
  "label": "Renewal date",
  "kind": "date",
  "dateFormat": "d MMMM yyyy",
  "zone": "body",
  "source": { "type": "product", "field": "renewal_date" },
  "confirmed": true
}

Document Generation is a workspace feature of the web app and has no public /v1 API. Its inputs are ordinary data products, so the records you generate from are as reachable from your own systems as any other data product — and the same provenance that backs a cell in the data product backs the value printed on the page.

Frequently asked questions

Which templates work?+
Any .docx or .dotx whose fillable parts are Word content controls, including controls that wrap whole paragraphs and controls inside tables. Keep authoring templates in Word as you do today; the app reads the controls and proposes a field sheet when you upload.
Why does the review ask me for some values?+
Those fields have no column of the chosen data product mapped to them, so the record cannot supply a value. They are listed under "Needs your input" next to the page where they print, with a link to the field sheet: map a column there once and future batches fill the field automatically.
What files do I get?+
A Word file and, where PDF rendering is available, a PDF for each document, plus a zip of the whole batch. The files are kept with the batch, so you can download them again from History, along with the record of every value.
Is there an API for Document Generation?+
Not on the public /v1 surface. Document Generation is used through the web app; the data products it generates from remain fully available through the API.