Skip to content
Octo × Word PT Request an assessment

Octo for Word documents

Contracts from a template, with no empty field. The one who signs is still you.

A .docx is a package of XML. Filling a template, merging data, counting revisions, checking alt text, removing the name of whoever edited and generating PDF can all be done by script, without opening Word, and Word through COM is kept for comparing versions and exporting PDF/A on a workstation. Octo generates in batch with a manifest, audits before converting and validates every PDF. Text, signature, accepting revisions and publishing stay with the document owner.

On the left, a spreadsheet with twelve fictional contracts, one row without a CNPJ (Brazilian company ID) highlighted; in the center, a contract template with fields delimited by content controls; on the right, a stack of generated documents, one of them blocked in amber, and a PDF with a PDF/A validation seal contratos_lote.csv idnumerocnpj C-001012/2600.000…01 C-002013/2600.000…02 C-003014/2600.000…03 C-004015/2600.000…04 C-005016/2600.000…05 … C-011022/2600.000…11 C-012023/26(empty) row without CNPJ set aside modelo_contrato.docx CONTRACT No. numero Contractor: contratada CNPJ: cnpj Scope: objeto Amount: $ valor signature: person 012-2026.docx generated · sha256 C-012 blocked missing: cnpj $ auditar_docx.py gerados/ revisions · comments · hidden text author · images without alt · headings external template: none · macro: no PDF PDF/A validated fictional data
Illustration: spreadsheet, template with content controls, generated batch with one block and validated PDF/A; fictional data.
Word and Office 2016 and 2019Oct 14, 2025end of support, no security updates; 2021 and LTSC 2021 left on Oct 13, 2026
PDF conversion through Graph2 MBlimit per file in ?format=pdf
Word through COM in a serviceunsupportedMicrosoft neither recommends nor supports it
Sources16listed at the end of the page
01

What Octo does with Word documents.

Six possible deliverables, drawn from the research. All of them work on copies, leave a manifest or report, and end up on the document owner's desk.

Batch generation from a template

A spreadsheet becomes one document per row: each variable field of the template is a tagged content control, filled in the body, header and footer, without Word open.

Deliverable: documents + manifest with sha256

Blocking what is missing

A row without a required field, a control still holding the placeholder text or a column without a control in the template stops the document before it exists.

Deliverable: list of blocks for whoever maintains the spreadsheet

Version comparison

CompareDocuments generates a third file with what the other party changed, attributed to a name, without touching either version; the script counts insertions, deletions, moves and formatting changes.

Deliverable: comparison and inventory of differences

Validated PDF/A

Export with UseISO19005_1 and structure tags on a workstation, or conversion through Graph up to 2 MB, and always veraPDF afterward, with a report per file.

Deliverable: PDF, validation report and sha256

Accessibility pre-screening

Images without alt text, tables without headers, controls without titles and documents without heading styles, following the published Accessibility Checker rules.

Deliverable: open issues per file; final check in Word

Metadata before publishing

Personal author, last saved by, template on a network path, custom properties, comments, pending revisions, hidden text and macros, without opening Word.

Deliverable: audit in CSV, nothing deleted blindly
02

Eight arms, one checked batch.

The same Octo cycle, applied to documents. Each arm has a narrow role; the ones who write the clause, accept the revision, sign and publish are people.

  1. Discovery

    Surveys what already exists

    Templates in use, the Office version on each workstation (2016, 2019 and 2021/LTSC 2021 out of support), where the documents live and who generates them.

  2. Data

    Pins down where each field comes from

    Source spreadsheet, required columns and the column → content control tag mapping.

  3. Security

    Looks after access and leaks

    Graph token outside the code, minimum permission, macros disabled in the automation, people's names out of the metadata; personal data flagged (LGPD).

  4. Architecture

    Chooses the path

    Files directly on a server, Graph for conversion up to 2 MB, COM only on a workstation with a user, Power Automate when the flow is already there.

  5. Development

    Writes the script

    Generators, auditors and converters with a manifest, sha256 and the source of each syntax noted in the file.

  6. Review

    Checks by content

    No empty field, no pending revision, veraPDF passed and a sample opened in Word. "The file was generated" is not a check.

  7. Release

    Delivers the batch

    Documents, PDFs and reports ready. Publishing, filing and sending are done by a person.

  8. Documentation

    Records what was done

    Template and spreadsheet used, manifest, validation report, who approved and where each file ended up.

Octo works on copies and delivers for review. It does not write clauses on its own, does not sign, does not accept revisions, does not send email and does not publish documents.

03

Every task, its own path.

The criteria Octo uses to choose, with the official reference for each path.

TaskPathNotes
Generate hundreds of documents from a templateContent controls + python-docx or Open XML SDKRuns on a server, without Word
Template with loops and conditionsdocxtpl (Jinja2)LGPL-2.1 license
Fill a template inside a flowPower Automate, "Populate a Microsoft Word template"Premium; 10 MB; no rich text, date or checkbox
Classic mail mergeMailMerge.Execute(False) through COMWorkstation with a user
Compare versionsCompareDocuments, new destinationBoth versions stay intact
Count revisions and commentsReading w:ins, w:del, w:moveFrom, w:moveTo, w:rPrChange and the like, comments.xmlIn batch, without Word: insertions, deletions, moves and formatting changes
PDF for previewGraph GET .../content?format=pdfUp to 2 MB; 302 to a URL valid for a few minutes
PDF/A for archivingExportAsFixedFormat with UseISO19005_1Always validate with veraPDF
Accessibility pre-screeningReading the XML by the Checker's rulesFinal check in Word
Clean metadatacore_properties or RemoveDocumentInformationDo not remove revisions blindly
Read controls of the open documentOffice.js, Word.ContentControl (WordApi 1.1)Add-in, not batch
04

From copy and paste to a batch with proof.

Three steps. Each one only makes sense after the previous one has shown results on your team.

A proposal, not a promise

1 Today

Audit of what goes out

Octo reads the documents that are already published and shows what goes along with them, without changing anything.

  • Forgotten revisions and comments
  • People's names in the metadata
  • Accessibility issues
Gain: knowing what is leaking before fixing it
2 Next

Templates with controls and batch generation

The most used templates get content controls with tags and titles, and the spreadsheet becomes documents.

  • Empty fields blocked
  • Manifest with sha256
  • Institutional properties
Gain: the team checks one spreadsheet, not each document
3 Later

PDF/A and archiving with a log

Batch conversion and validation, with a report per file and approval logged before archiving or publishing.

  • PDF/A profile per recipient
  • veraPDF report kept
  • Who approved each batch
Gain: archiving with before, after and proof
05

Confirmed by a source.

Every point below has a source published by Microsoft (Learn and Support), by the package's official repository (PyPI, NuGet, PowerShell Gallery) or in Brazilian federal law. The examples are scripts to follow, not runs. The sources are in the next section.

4

points with a published source, each with its reference shown alongside.

ConfirmedOffice 2016, 2019 and 2021 out of support
Word 2016, Word 2019, Office 2016 and Office 2019 reached end of support on Oct 14, 2025; Word 2021, Word LTSC 2021, Office 2021 and Office LTSC 2021 left support on Oct 13, 2026; Office LTSC 2024 has standard support until Oct 9, 2029.Source: Microsoft Lifecycle
ConfirmedCOM without a user is not supported
"Microsoft does not currently recommend, and does not support, Automation of Microsoft Office applications from any unattended, non-interactive client application or component"; the alternatives indicated are Graph and Open XML.Source: learn.microsoft.com, unattended automation of Office
ConfirmedGraph conversion is limited
?format=pdf accepts files up to 2 MB and responds with a 302 to a pre-authenticated URL valid for a few minutes; minimum delegated permission Files.Read.Source: Graph v1.0, driveItem get content format
ConfirmedAccessibility Checker rules
In Word, these are errors: non-text content without alt text, tables without headers, programmatically restricted access and content controls without titles.Source: support.microsoft.com, Rules for the Accessibility Checker
06

What Octo does, and what stays with you.

Octo prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.

Octo prepares

Surveys, organizes and produces the files: documents, spreadsheets, presentations, schedules, inventories and check reports, on file and through the APIs, without sending or publishing anything.

Deliverable: material ready to check

Your team checks

Whoever is accountable for the document, the spreadsheet or the schedule checks what Octo delivered before approving. If something doesn't add up, it goes back to Octo with the correction.

Step: checked by the person accountable

Who signs and approves

Octo does not sign, approve or send. The document owner reviews and signs; the project manager approves the baseline; the Microsoft 365 administrator grants consent for permissions; the data protection officer approves anything that goes out with personal data.

Approval: document owner and 365 administrator
07

Sources.

Microsoft documentation (lifecycle, Word VBA reference, Graph, Office.js, connectors and support), library and veraPDF pages and Law 14.063/2020, consulted on Oct 31, 2026.

Your documents, generated and checked.

The assessment starts with a read-only audit of the documents your team already publishes. You get the list of what is going out along with them, the templates that could be batched and the questions only your team can answer, and you decide with that in hand.