LibreSign / LibreSign/libresign

Import signers from CSV file

Open
#6,959 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

feature-request
Dominant language
PHP
Stars
818
Forks
146
Avg merge
11h 31m
Merged PRs (30d)
326

Description

As a complement to batch management via Collectives, allow users to import multiple signers from a CSV file for quick bulk participant addition.

Proposed Feature

Add CSV import functionality to add multiple participants at once. This provides an alternative to Collectives for users who already have participant lists in spreadsheets or other systems.

CSV Format

account,name,email,phone,telegram,role,receive_final
jdoe,John Doe,john@example.com,+5511999999999,,signer,true
msmith,Mary Smith,mary@example.com,,,observer,false
bjones,Bob Jones,bob@example.com,+5511888888888,@bobjones,signer,true

Required Columns

  • email (required)

Optional Columns

  • account - Nextcloud username
  • name - Participant display name
  • phone - Phone number (for SMS/WhatsApp)
  • telegram - Telegram username
  • role - signer or observer (default: signer)
  • receive_final - true or false (default: false)

UI Concept

┌─────────────────────────────────────────────────────┐
│ Add Participants                                    │
├─────────────────────────────────────────────────────┤
│                                                     │
│ [+ Individual] [+ From CSV] [+ From Collective]    │
│                                                     │
└─────────────────────────────────────────────────────┘

When clicking "From CSV":

┌─────────────────────────────────────────────────────┐
│ Import Participants from CSV                        │
├─────────────────────────────────────────────────────┤
│                                                     │
│ [📄 Choose CSV File]                                │
│                                                     │
│ Preview (first 5 rows):                             │
│ ✓ jdoe - john@example.com - Signer - Receives final│
│ ✓ msmith - mary@example.com - Observer             │
│ ✗ invalid - invalid-email - Error: Invalid email   │
│                                                     │
│ 2 valid, 1 with errors                             │
│                                                     │
│ [Download Template] [Cancel] [Import Valid Rows]   │
└─────────────────────────────────────────────────────┘

Features

  • Validation: Validate emails, phone numbers, usernames, and other fields before import
  • Preview: Show preview with validation status before confirming
  • Error handling: Highlight invalid rows, allow importing only valid ones
  • Template download: Provide CSV template for users
  • Bulk configuration: Set default role and receive_final for all imported rows

Benefits

  • Quick import from existing spreadsheets
  • Integration with external systems (CRM, HR, etc.)
  • No dependency on Collectives app
  • Useful for one-time bulk imports

Related

Complements #6959 (Collectives integration) as an alternative bulk import method.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are identified in the issue. Start by locating the participant-addition UI and its backend handling, then trace how validation and bulk creation are tested. Done means CSV upload, preview, validation, template download, error handling, and importing valid rows work as described.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.