Public Records Packager — Tutorial
A records request arrives. The response is assembled by hand: search the
mailbox, save each message, save the attachments alongside, number everything, build a
manifest. This does the assembly. It does not do the review, and it never redacts.
Read this before your first bundle. The bundle this produces is
unredacted source material for you to review — it is not a release package. Nothing
in it has been checked for confidential information, and no exemption has been applied.
Treat it exactly as you would treat the raw mailbox: it goes to your reviewer, not to the
requester.
Tutorial — building a bundle
Worked example: a request for correspondence about a bridge inspection contract
between January and June 2026.
1. Click Records Packager in the Records ribbon group.
2. Under Search criteria, fill in:
| Field | Example |
| Search terms | bridge inspection contract |
| From date / To date | 2026-01-01 → 2026-06-30 |
| Participant (optional) | a specific person's address, to narrow further |
| Bundle folder name | 2026-07 Bridge inspection - Rasmussen |
3. Click Find responsive messages.
You should see a chronological checklist of matches. Nothing has been
written anywhere yet.
4. Work the checklist. Tick what's genuinely responsive and untick
what isn't — this is a judgment only you can make. Select all is there for when the
search was already tight.
5. Click Build records bundle in OneDrive.
What you get
A folder under Records Requests/<your bundle name>/ in your OneDrive:
0001_2026-02-14_Bridge inspection scope.eml
0001_2026-02-14_Bridge inspection scope.html
0001_attachments/
Inspection scope v3.pdf
0002_2026-02-19_RE Bridge inspection scope.eml
0002_2026-02-19_RE Bridge inspection scope.html
manifest.csv
README.txt
| Part | Why it's there |
| .eml | The exact original message, headers and all — the defensible copy if anyone questions authenticity. |
| .html | A readable copy you can print to PDF from your browser for release. |
| NNNN_attachments/ | Attachments in their original formats, names de-duplicated. |
| manifest.csv | From, to, cc, subject, attachments — plus blank columns for released_in_full, exemption_notes and statute_cited. |
Those three blank columns are the point of the manifest. Iowa Code ch. 22
requires a statute cited per redaction, so the log has to exist anyway. Better it
starts as a row per record than as a blank spreadsheet you build at the end.
Why it doesn't redact
This is a deliberate limit, not a missing feature. Deciding what is
confidential is a legal judgment with real consequences — for the requester, for third
parties named in the records, and for you. Software that guessed at it would be wrong
sometimes, and the failure mode is releasing something that should have been withheld. So
the tool assembles and numbers; a person decides and redacts, and signs their name to it.
Practical notes
Start narrow. Search results are capped and the date filters are
applied after the search, so a vague term over five years wastes a pass. Tighten the terms,
bundle, then run a second bundle for the next angle.
If a build fails partway, build again into a fresh folder
rather than on top of the half-finished one. A bundle with an ambiguous numbering sequence
is worse than no bundle.
"Couldn't reach your OneDrive"? Almost always OneDrive has never been
opened on the account. Being licensed isn't the same as being provisioned — go to
office.com, open OneDrive once so it exists, then try again.
Clock and cost, for context
Iowa Code ch. 22 gives you 20 calendar days to make a confidentiality determination
(ten business days is the working norm), and fees are limited to actual cost. This
add-in exists to cut the assembly hours, because assembly is the part that is pure labour
and no part of the judgment.
Where the data goes
Your own OneDrive, and nowhere else. No publisher server, no telemetry. It reads your
mailbox and writes your files, using delegated permissions that reach only what you can
already reach.