Skip to content

Clients

Add clients and import your existing list

Add a client by hand, bring your existing list in from a spreadsheet with the CSV importer, and understand how a booking creates a client record on its own.

Updated August 27, 2026

Your client list is the spine of everything else in Calso — sessions, packages, notes, and revenue all hang off it. You can build it three ways: one client at a time, in bulk from a spreadsheet, or by doing nothing at all and letting bookings fill it in for you. Most coaches use all three.

Open Clients from the sidebar. The page opens on your list, with Import CSV, Export CSV, and Add Client across the top right and four summary cards beneath — Total Clients, Active (30d), With Packages, and Total Revenue. Clients is on every plan.

CalsoThe Clients list

Adding one client by hand

  1. Click Add Client

    The dark button at the top right of the Clients page opens a small form. Use this for someone you already know — a client you're moving over from another tool, or an enquiry you want to track before they've booked anything.

  2. Fill in Name and Email

    Both are required, and the email has to be one no other client in your workspace is using. Phone, Company, and Tags are optional — fill in what you know. For Tags, type a word and press Enter to turn it into a chip; repeat for as many as you want, and use them later to filter your list.

  3. Save the record

    Click Add Client again at the bottom. It reads Adding... for a moment and the modal closes onto your updated list. If the address is already taken you'll see "A client with this email already exists" — that person is already in your list, so search for them instead.

How your spreadsheet should look

The importer reads a plain CSV file whose first row is column headers. It recognises common names on its own: a column headed name, full name, first name, or client name becomes Name; email or email address becomes Email; phone, phone number, or mobile becomes Phone; tags, tag, or labels becomes Tags; and notes, note, or internal notes becomes Notes. Anything it doesn't recognise arrives set to Skip column, and you point it at the right field yourself.

One thing to know about that last column: notes brought in this way are filed with the import rather than shown in the Internal Notes panel on the client's own page. If a note is one you want to read back before a session, type it into that panel once the client is in.

Every row needs a name and an email — those two columns must be mapped, and any row missing either value is left out. Put multiple tags in one cell separated by commas or semicolons, and let your spreadsheet wrap that cell in quotes when it saves. Company isn't one of the import columns, so if you track it, add it on each client record afterwards. One file can carry up to 1,000 clients; split a longer list into batches.

If you'd rather see the shape than build it, Export CSV downloads your current list as a file named for today's date, such as clients-2026-08-27.csv, and its Name, Email, Phone, and Tags columns are recognised straight back by the importer. Archived clients are left out of that file.

Importing your list

  1. Click Import CSV and choose your file

    Import Clients from CSV opens on an upload panel. Click Choose CSV File, pick your spreadsheet, and Calso reads it in the browser and moves straight to the mapping screen. Change file at the top right swaps it for a different one.

  2. Check the column mapping

    Under Map Columns, each header in your file sits beside a dropdown holding the field it will fill — Name, Email, Phone, Tags, Notes, or Skip column for anything you don't want. Fix any the importer guessed wrong. Preview (first 3 rows) underneath shows real values from your file with the mapped field named in each column heading, which is the fastest way to catch a shifted column.

  3. Run the import

    The button at the bottom right names the count it's about to create — for a 24-row file it reads Import 24 Clients. Click it, wait through Importing clients..., and the results panel reports how many were created and how many were skipped.

  4. Review the skipped rows and finish

    Anything left out is listed under Skipped Rows with its email address and the reason. Read that list before you click Done — it's the only time it's shown. Total Clients at the top of the page updates as soon as the import lands.

Why a row gets skipped

Two reasons, and both are harmless. "Already exists in workspace" means that email is already on one of your clients, so the row is ignored rather than merged — the existing record keeps its tags, notes, and history untouched. "Duplicate in import batch" means the same address appears twice or more inside the file itself, and only the first of those rows was created.

Because of the first rule, re-running a file you've already imported is safe: everything already there is skipped and only genuinely new people are added.

Clients that appear on their own

You don't have to add anyone in advance. The first time someone books with you, Calso creates a client record from the name, email, and phone number they typed on the booking form, and registrations for a group event do the same. If that email already matches a client, the booking attaches to the record you already have — which is exactly why adding someone by hand ahead of a booking works cleanly, as long as the address matches.

One consequence is worth knowing: the name on a record follows the booking form. If you saved someone as "Katherine Ross" and she books as "Katie", the record takes the spelling from her booking.

Adding or importing a client doesn't send them anything — no email leaves Calso. Giving clients their own sign-in is a separate switch, covered in turn on the client portal.

Finding someone after a big import

The list shows up to 50 clients at a time, so on a long list the Search by name or email... box is the reliable way to reach one person — it matches both fields and ignores capitalisation. The All tags and All stages dropdowns narrow it further, and Show Archived brings back anyone you've filed away. The sort dropdown — Name A-Z, Last Booked, Sessions, Revenue — reorders what's on screen rather than ranking your whole list, so search first and sort second.

Once you can find people, open one and start using the record itself: see work a client record for the tabs, panels, and actions on a client's page, and move a client through your pipeline stages for tracking where each of them stands.

Frequently asked questions

Why did some rows get skipped when I imported my clients?

A row is skipped for one of two reasons, both shown beside the address under Skipped Rows. Already exists in workspace means that email is already on a client in this workspace. Duplicate in import batch means the same address appears more than once in the file, and only the first of those rows was created. Skipped rows change nothing — an existing client is never overwritten by an import.

Can I change a client's email address after I add them?

No. The email is fixed once the record exists, and it is the address Calso uses to attach that person's sessions, packages, and revenue to their record. If you typed it wrong, add a second client with the correct address and archive the first. Check the email column carefully before a large import, because it is the one field you cannot fix afterwards.

Do clients get an email when I add or import them?

No. Adding a client by hand or importing a spreadsheet sends nothing to the people involved — no welcome email, no notification. Client records are for your own use until that person books with you or you turn on the client portal.

How many clients can I import at once?

One file can carry up to 1,000 clients. A larger file is rejected as a whole rather than partly imported, so split it into batches of 1,000 or fewer and run the import once per file. Each batch is checked against everyone already in your workspace, so re-running an overlapping file is safe.