Athletics academy · Contract automation
Two hundred bespoke student contracts — identical in everything except Full Name and ID Number — used to take four days of manual copy-paste per intake. Now it’s a single form upload, and the finished zip lands in the admin’s inbox under an hour later.
Each intake, the academy issues a contract to every incoming student. The wording is the same on every contract — same boilerplate, same terms, same signature blocks — with only the student’s Full Name and ID Number changing. About two hundred contracts ahead of each cohort.
The previous process was end-to-end manual: open the master template, paste in the next row from a spreadsheet, save under the right filename, repeat. Four working days of focused admin time per intake, with three recurring failure modes:
A single web form the academy admin opens in her browser. She uploads the contract template — an ordinary Word document marked with placeholder tags like {{FullName}} and {{IDNumber}} — alongside a spreadsheet whose column headers match those tags and whose rows hold the student data. She names the batch, clicks Submit, and closes the tab.
Three workflows handle the rest. The Generator receives the upload and hands off asynchronously to the Processor, which renders every contract by substituting each tag with the matching cell from each row, then zips the result. When the batch finishes, an email arrives in the admin’s inbox with a single download link. One click and the zip is on her machine, ready to send onwards.
Per intake, three steps:
flowchart LR
classDef extern fill:#fdfcfb,stroke:#c4873b,stroke-width:1.5px,color:#0a0f0f
classDef hub fill:#0a0f0f,stroke:#c4873b,stroke-width:1.5px,color:#fdfcfb
classDef mail fill:#f3f2f1,stroke:#9a9a96,color:#0a0f0f
U["Academy
admin"]:::extern
R["PDF rendering
service"]:::extern
N["n8n
(3 workflows)"]:::hub
E["Email with
zip link"]:::mail
U -->|template + data| N
N <--> R
N --> E
E --> U
Form upload kicks off three small n8n workflows; the heavy PDF rendering is offloaded to a dedicated service; the finished zip is delivered by email.
Because the entire batch is driven by the spreadsheet, the contracts are perfectly consistent: any change made to the template applies to all 200, and any correction to a student’s data is a one-cell edit followed by another Submit. The workflows are idempotent — a re-run produces the same output safely, no risk of duplicate documents or partial deliveries. The PDF rendering itself runs on its own service rather than inside n8n, which keeps the orchestration simple and the heavy work isolated.
Got a once-a-year process that eats a week of your time? The first automation is free — if it saves you time, we move onto a monthly plan. If it doesn’t, we shake hands and part ways. Start a conversation →