Operator guideEN

Distribution Lists / Upload Flow

CSV preview and upload flow used to validate files, create a target list when needed, and attach contacts.

How to use this guide

Start with the main guide

Follow the explanation and examples first. Extra definitions and formulas are available below when you need them.

What this flow does

The upload card on Email Newsletters -> Distribution Lists is the real operational entrypoint for creating or extending recipient lists.

The flow is:

  1. choose an optional target list
  2. select a CSV file
  3. preview the file
  4. upload the file
  5. create a list automatically when no target list is selected
  6. parse emails from the CSV before attaching contacts
  7. attach the parsed emails to the chosen or newly created list
  8. show the final result modal

The same card also contains a paged distribution-list table. Its ID, Name, Size, and Actions columns are there to help the operator inspect or rename existing lists before choosing a target for upload.

Important caveats

  • The target-list selector uses an empty value labelled Create new list. That is not a placeholder-only state; it is the actual create branch.
  • Check File and Upload CSV are different steps. Preview validates the file first; upload performs the persistent flow.
  • Preview does not clear the selected file. The page keeps the file selected until a successful upload resets the input.
  • The parser looks for an email or emailAddress column. If the file has only one column, that single column is treated as the email column.
  • Upload CSV can run even when Check File was never used.
  • The create-list branch happens only after a successful file upload.
  • The default new-list name comes from the uploaded file name, with a timestamp fallback only when the file base name is empty.
  • Attach errors can appear even when the file upload itself succeeded.
  • The final dialog title is File Result and is reused for both preview and upload outcomes.
  • The table's top and bottom pagination controls refetch the list query. Large page-size options are available, but they can make the downstream newsletter request slower.
More details

Definitions and formulas

Open only the section you need. The relevant section opens automatically when you request help for a specific item on screen.

Calculations5 topicsOpen details

Email column detection

Attachment depends on the FE being able to extract email-like values from the CSV.

Inputs
selected_csv
Transform
The FE normalizes CSV headers, looks for `email` or `emailAddress`, and falls back to the only column when the file has a single column.

Default list name generation

The auto-created list name is usually predictable from the uploaded file name.

Inputs
selected_csv
Transform
When no target list is selected and upload succeeds, the FE derives the new list name from the file base name, with a timestamp fallback only when the base name is empty.

Create-list branch after upload

`Create new list` is not an immediate form save; it is a branch inside the upload sequence.

Inputs
attach_to_list, selected_csv
Transform
The FE creates a distribution list only after `POST /api/newsletter/files/upload` succeeds and only when no existing target list was selected.

Independent attach failure

A successful upload does not guarantee that contacts were attached.

Inputs
attach_error
Transform
After file upload succeeds, CSV parsing or `add-contacts` can still fail separately, and the final result modal reports that through `Attach Error`.

File reset after successful upload

Operators can preview repeatedly, but a completed upload clears the current file selection.

Inputs
selected_csv
Transform
Preview leaves the chosen file in local state, but successful upload resets the input and bumps the input key so a new file must be selected for another run.
Fields19 topicsOpen details

Attach to List (optional)

Optional target list chooser used before upload starts.

Visual Type
select
Caveats
The empty option is rendered as `Create new list`.

Selected CSV

CSV chosen for preview and upload.

Visual Type
file
Caveats
Preview keeps the selected file in place., Successful upload resets the file input.

ID

Internal distribution-list id shown in the upload-card table.

Visual Type
grid-column

Name

Clickable list name that opens the read-only detail route.

Visual Type
grid-column

Size

Contact-count column shown as `0` when the row count is missing.

Visual Type
grid-column

Actions

Pencil-icon action cell that opens the standalone rename route.

Visual Type
grid-column

Page

Top and bottom pagination controls that refetch the server-backed list with a new page number.

Visual Type
pagination

Rows per page

Page-size selector for the upload-card list query.

Visual Type
pagination-select
Caveats
FE options are `5`, `10`, `25`, `50`, `100`, `500`, `1000`, `5000`, and `10000`.

Success

Top-level success indicator shown inside the `File Result` dialog as `YES` or `NO`.

Visual Type
result-stat

Total Rows

Number of parsed rows shown in the result dialog.

Visual Type
result-stat

Inserted

Number of newly inserted contact rows reported by the newsletter service.

Visual Type
result-stat

Updated

Number of existing contacts updated during file processing.

Visual Type
result-stat

Existing

Number of contacts already known before this run.

Visual Type
result-stat

New

Number of contacts newly discovered in the file.

Visual Type
result-stat

Contact File ID

Internal file-processing identifier returned by the newsletter service.

Visual Type
result-stat

Attached List

Final target list name used for the attach step.

Visual Type
result-stat

Attached Count

Number of emails the FE reports as attached to the chosen list.

Visual Type
result-stat

Attach Error

Follow-up failure shown when file upload succeeded but contact attachment failed later in the chain.

Visual Type
error-text

File Result

Shared modal reused for both preview and upload outcomes.

Visual Type
modal
More help

Related pages

Distribution Lists

Operator documentation for newsletter recipient lists, including detail, rename, contacts inspection, and CSV upload or attach flows.

Distribution Lists / Contacts

Read-only contact grid attached to one newsletter distribution list.

Distribution Lists / Detail

Read-only detail workspace for one distribution list and the contacts currently attached to it.

Distribution Lists / Form

Rename flow for an existing distribution list plus the implicit create-a-list branch triggered from the CSV upload card.

Email Newsletters

Operator workspace for newsletter campaigns, distribution lists, and send-log review.

Email Newsletters / Distribution Lists

Reusable contact-list inventory with CSV preview, upload, create, and add-contacts actions.