Help center
Signing

How do I bulk-send a contract to many people?

Use a template + CSV upload. Each row gets its own personalized document and invitation email.

2 min read

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

  1. Create a Template (or pick an existing one) under Templates. The template's PDF + field placements + signer roles become the blueprint each row inherits
  2. On the template detail page, click Bulk send via CSV
  3. Prepare a CSV with at minimum two columns: email and name. Any other columns map to template variables by name (e.g., a template variable {salary} reads from a CSV column named salary)
  4. 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
  5. 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:

  1. A new Document is created from the template's PDF
  2. The CSV variables are substituted into the field placeholders
  3. A SigningSession is created with the row's email + name
  4. The invitation email fires (with your tenant branding and bilingual EN+AR body)
  5. 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.