CSV Import Guide

CSV import guide for cleaning team shifts

CleanConfirm can create shifts from a CSV, so your team can keep its current planning workflow and add confirmation on top.

Open CSV import

Sign in required · Owner or admin

Required fieldsHow CSV import works

Prepare before you import

Start with the required fields, then add optional job and access details when the cleaner needs more context.

  • Use one row per shift, not one row per client.
  • Match assigned_member_email to an active team member in the workspace.
  • Keep the CSV header in the complete template column order.

Required fields and CSV columns

Start with the required fields, then add optional job and access details when the cleaner needs more context.

CSV columnRequirement
shift_dateRequired
start_time_localRequired
end_time_localRequired
assigned_member_nameOptional
assigned_member_emailRequired
client_nameRequired
address_fullRequired
city_or_areaOptional
entry_instructionsOptional
access_detailsOptional
contact_phoneOptional
notesOptional

How CSV import works

  1. 01Open the CSV import page and download the blank or sample template.
  2. 02Fill in one row for each assigned shift and keep the column order unchanged.
  3. 03Upload the CSV and choose whether imported staff should receive email notifications.
  4. 04Confirm the import. CleanConfirm creates valid shifts, skips invalid rows, and shows the result for every row.

Before you import again

The upload page accepts CSV files up to 10 MB. Blank and sample templates are available there to eligible owners and admins.

  • CSV import creates new shifts; it does not overwrite existing shifts.
  • CleanConfirm does not automatically remove duplicate rows.
  • Importing the same file again may create duplicate shifts.
  • Review the file before submitting it.
  • Scheduling conflicts are shown as warnings but do not block import.
  • A file can contain up to 300 shift rows.
  • Split larger imports into smaller files.

Example CSV row

The example below follows the CSV column order shown above. Replace the sample values with your own shift details.

Scroll horizontally to view the complete CSV row.

2026-05-04,9:00 AM,11:00 AM,maria@example.com,Maple Street home,123 Maple Street,North Park,Gate code 204,Use side entrance,+1 555 0100,Bring extra towels

What happens after a CSV import?

Each import result shows the outcome for every CSV row after the import is confirmed.

Valid rows

Valid rows create new unconfirmed shifts.

Invalid rows

Rows with missing required fields, invalid dates or times, or an unknown staff email are skipped and shown as Failed.

Conflict warnings

A shift with a detected scheduling conflict is still imported and shown as a Warning.

Email notifications

Imports are silent by default. If an owner or admin chooses email notifications and confirms the choice, emails are sent after valid shifts are created.

Example import result

Illustrative result based on the current CSV import statuses

RowStatusReason
2ImportedImported
3WarningConflict Warning
4FailedStaff email not found

Result summary

The import result shows total rows, imported rows, warning rows, failed rows, and for every row its number, assigned staff email, shift date and time, client name, status, and reason.

Sign in required. CSV import is available to workspace owners and admins.

Templates & Checklists