Skip to content

Add bulk send from template with CSV mapping and batch tracking #41

@jusso-dev

Description

@jusso-dev

Context

ScopeStack now supports CSV contact import, but bulk document sending is a separate workflow. DocuSign/PandaDoc-style tools support sending the same template to many recipients with unique documents/links and individualized data.

Goal

Add bulk send from a template using CSV data to generate and send individualized documents.

Scope

  • Pick a published template.
  • Upload CSV of recipients/client fields/document variables.
  • Validate CSV and show preview before sending.
  • Generate one document per row or one envelope per row, depending on product language.
  • Populate variables/recipient roles from CSV columns.
  • Send unique secure links to each recipient.
  • Track bulk send batch with progress and failures.
  • Allow downloading a template CSV based on selected template variables/recipient roles.

UX Notes

  • Bulk send should be a guided flow:
    1. Select template.
    2. Download/upload CSV.
    3. Map/validate columns.
    4. Preview generated rows.
    5. Send.
    6. Monitor results.
  • Validation errors should identify row numbers and columns.
  • Do not send anything until preview validation passes.

Data/Architecture Notes

Potential models:

  • BulkSendBatch
    • organisationId
    • templateId
    • status
    • createdById
    • counts: total/sent/failed
  • BulkSendItem
    • batchId
    • documentId
    • recipientEmail
    • status
    • error

Acceptance Criteria

  • User can download a CSV template for a published document template.
  • User can upload and validate a CSV.
  • User can preview generated documents/recipients before sending.
  • System creates individualized documents and recipient links.
  • Partial failures are visible with row-level errors.
  • Audit logs record batch creation and sends.
  • Tests cover CSV validation and batch processing helpers.

Dependencies

  • Real signer fields and recipient routing make this much more valuable.
  • Content library and catalog can remain independent.

Priority

P2. High value for scale, but should follow signer fields/routing basics.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions