For sending the same contract to many recipients (e.g., "Q2 offer letters to 50 candidates", "annual NDA renewal for all contractors"), use bulk-send.
Setup
- Create a Template (or pick an existing one) under Templates. The template's PDF + field placements + signer roles become the blueprint each row inherits
- On the template detail page, click Bulk send via CSV
- Prepare a CSV with at minimum two columns:
emailandname. Any other columns map to template variables by name (e.g., a template variable{salary}reads from a CSV column namedsalary) - Upload the CSV, give the batch a name (e.g., "Q2 2026 offer letters"), optionally add a personal message that appends to every invitation email
- Click Send batch
Limits
- 10 MB max CSV size
- 10,000 rows max per file
- 100 rows max per inline batch (above this, batches queue for background worker — coming in a future release)
- Each row creates one Document + one SigningSession + one invitation email
What happens per row
For every valid row:
- A new Document is created from the template's PDF
- The CSV variables are substituted into the field placeholders
- A SigningSession is created with the row's email + name
- The invitation email fires (with your tenant branding and bilingual EN+AR body)
- An audit event records the per-signer document_sent for compliance trail
Rows that fail validation (missing email, malformed phone, required template variable absent) are skipped — they get a status of "skipped" with the specific error captured on the row, so you can see exactly what to fix and re-upload.
Tracking progress
After dispatch, you see a summary:
- Total rows — what we tried
- Sent — invitations dispatched successfully
- Failed — validation skipped OR email-delivery failed (with error message per row)
Each row is also a real Document in your Documents list, so you can track signing status individually after dispatch.