Generate documents
One row. One document.
Upload a spreadsheet. Pick a template. Get one signed-ready document per row — sent or saved as drafts.
The bulk operation other e-sign tools half-build.
Mail merge for contracts. Upload a CSV of new hires, pick the NDA template, hit generate. Each row becomes a personalised document, routed to the right signer, tracked in its own folder. Templates with variables. Datasets with typed schemas. CSV import. One workflow, all of it.
4 steps
Data → Records → Template → Send
Unlimited
Rows per batch
Drafts or live
Per-batch choice
Step 1 of 4
Pick your data — from a dataset or a Word doc.
Start with a record set. Either import a Word template (we auto-detect the {{vars}} and build a typed dataset from them), build a schema manually field by field, or pick a dataset you already have.
- Word import auto-detects {{vars}}
- Manual schema builder for arbitrary fields
- Re-use any existing dataset
- Typed fields: text, number, date, email, phone, dropdown
Step 1 — Choose your data
Pick a dataset, or import one from a Word document.
Import from Word
Detects {{vars}}
Build manually
Field by field
Or pick one you already have
Employees
2 records
Resenie_za_Vrabotuvanje
1 record
Resenie_za_Vrabotuvanje
10 records
Step 2 of 4
Add the records — CSV upload or row-by-row.
Drop a CSV from Excel or Google Sheets — it maps to your schema automatically. Or add a row at a time if you have just a few. Validation catches malformed emails, dates, and numbers before they reach the document.
- CSV from Excel / Sheets — instant mapping
- Add records one at a time when you only have a few
- Live validation against the dataset schema
- Edit any cell inline before generating
Step 2 — Add records to Employees
Each row becomes one generated document.
Upload CSV / TXT
From Excel or Sheets
Add row manually
One at a time
3 rows ready
Step 3 of 4
Pick the template — Word or PDF.
For Word, the template uses {{variables}} we auto-detect on upload. For PDF, you drop "merge text" fields visually and they get baked in at generation time. Either way, the dataset drives the values. Templates wired to a different dataset are dimmed so you can't pick the wrong one.
- Word templates: {{vars}} resolve from the dataset
- PDF templates: visual merge-text field placement
- Strict wiring — mismatched templates are dimmed
- Upload a new template inline if needed
Step 3 — Choose your template
The Word or PDF document each record gets merged into.
Upload new template
Word or PDF
Use existing template
Pick below
Your templates
Resenie_za_Vrabotuvanje
DOCX · Wired to a different dataset
Vrabotuvanje 2
DOCX · Ready
Vrabotuvanje
DOCX · Ready
Step 4 of 4
Send — drafts to review, or live to signers.
Pick which records to use (search, check, uncheck). Choose a destination folder so the batch lands organised. Save as drafts to review first, or send for signing immediately — each signer gets the email instantly.
- Per-record select with search
- Destination folder picker (create inline)
- Save as drafts to review before send
- Send-now mode triggers signer emails right away
Step 4 — Send
Pick records, destination, mode.
Records (3 selected)
Destination folder
What do you want to do?
Save as drafts
Send for signing now
After send
Live progress bar — per-record commit.
Each batch is one click and watch the progress bar tick. One bad row doesn't kill the batch — it commits per record. Webhooks fire on every successful generation, so the rest of your stack stays in sync.
- Live progress bar with per-record status
- Per-record commit — one failure doesn't kill the batch
- Webhook fires on every successful generation
- Retry just the failed records, not the whole job
Alice Bain
alice@co.io
Bob Cole
bob@co.io
Carol Dean
carol@co.io
Dave Ellis
dave@co.io
Eli Fox
eli@co.io
100x
“faster than sending one document at a time.”
Send your first contract in the next 60 seconds.
Free. No card. No demo call. We get out of your way.