Stop entering clients one by one
If you're migrating to Coachful from another platform — or finally moving your client list out of a Google Sheet — the last thing you want is to re-type every name, email, and phone number by hand. Importing clients from a spreadsheet gets your entire roster into Coachful in minutes, so you can start sending programs, scheduling sessions, and collecting payments right away.
This guide walks you through exactly how to format your CSV file, upload it, resolve common errors, and make the most of your freshly imported client list.
TL;DR
- Export your existing client list as a .csv file from your old tool or spreadsheet app.
- Match your column headers to Coachful's required fields:
email,first_name,last_name. - Go to Coach Dashboard → Clients → Import and upload the file.
- Review the preview, fix any flagged rows, then confirm the import.
- Clients receive an invitation email to activate their account automatically.
Before you start: what you need
Importing clients from a spreadsheet requires just a few things prepared in advance. Gathering them now will make the actual upload a two-minute job.
A clean .csv file
Coachful accepts standard comma-separated values (.csv) files. If your data lives in Excel or Google Sheets, use File → Download → CSV (Google Sheets) or File → Save As → CSV (Excel) to export it. Avoid .xlsx or .numbers formats — they won't upload.
Required and optional columns
Your CSV must contain at minimum these three columns, with headers spelled exactly as shown:
email— the client's primary email address (must be unique)first_name— client's first namelast_name— client's last name
Coachful also recognizes these optional columns, which are imported when present:
phone— include country code for international numbers (e.g.,+447911123456)timezone— IANA timezone string, e.g.,America/New_Yorktags— comma-separated tags inside quotes, e.g.,"vip, 12-week, nutrition"notes— free-text internal notes visible only to you
Any columns Coachful doesn't recognize are silently ignored, so you don't need to strip out extra columns before uploading.
A Coachful account on the Growth or Scale plan
Bulk CSV import is available on the Growth and Scale plans. If you're on a free trial, you can still test the import with up to 10 rows to confirm your file is formatted correctly before upgrading.
Already using Coachful? Sign in to your workspace and head straight to the Clients section. If you're not yet on Coachful, start your free trial and have a functional client roster live before your first session.
Step-by-step: importing clients from a spreadsheet
Follow these steps exactly and your import will go smoothly the first time.
-
Prepare your CSV. Open your spreadsheet, make sure the first row contains the column headers (
email,first_name,last_name, plus any optional fields), and export it as a.csvfile. Save it somewhere easy to find, like your desktop. - Navigate to the import screen. In your Coachful coach dashboard, click Clients in the left sidebar, then click the Import button in the top-right corner of the Clients page. This opens the import wizard.
-
Upload your file. Click Choose file (or drag and drop your
.csvdirectly onto the upload zone). Coachful will parse the file and display a column-mapping preview within a few seconds. Files up to 5 MB and 2,000 rows are supported in a single upload. - Map your columns. The wizard automatically detects standard headers. If any column wasn't recognized, use the dropdown next to it to map it to the correct Coachful field, or choose Ignore this column if it's not needed.
- Review the data preview. Coachful shows the first 10 rows of your file. Check that names and emails look correct. Rows flagged in red contain errors (most commonly: missing email, duplicate email, or invalid format). You can fix them directly in your original CSV and re-upload, or remove the flagged rows and import the valid ones now.
- Choose invite settings. Decide whether to send invitation emails now or import silently. Silent import adds clients to your roster without notifying them — useful if you're still building out your programs and aren't ready to go live. You can send invitations later from the individual client profile or in bulk from the Clients list.
- Confirm the import. Click Import [N] clients. Coachful processes the file and shows a results summary: how many clients were created, how many were skipped (duplicates), and how many failed. A downloadable error report lists any rows that couldn't be processed.
- Verify your client list. Return to Clients and use the search bar or filters to spot-check a handful of imported records. Confirm that names, emails, tags, and notes look right.
Formatting your spreadsheet correctly
The most common reason imports fail is a formatting issue in the CSV itself — not a bug in the platform. Here's how to produce a clean file every time.
Headers matter — use lowercase with underscores
Coachful's parser is case-sensitive for header matching. Write first_name, not First Name or FirstName. If you're exporting from a CRM that uses different column names, rename the columns in your spreadsheet before exporting.
One email per row, no duplicates
Email is the unique identifier for each client account. If your spreadsheet has two rows with the same email, only the first will be imported and the second will be flagged as a duplicate. Clean up duplicates in your spreadsheet with a Remove Duplicates function before uploading (Data → Remove Duplicates in both Google Sheets and Excel).
Encoding: UTF-8 only
If your client list contains names with accented characters (é, ü, ñ, etc.), make sure your CSV is saved with UTF-8 encoding. In Google Sheets, UTF-8 is the default. In Excel on Windows, choose CSV UTF-8 (comma delimited) from the Save As format dropdown — not the plain CSV option, which uses a legacy encoding that can corrupt special characters.
Tags and notes with commas: wrap in quotes
Because CSV uses commas as delimiters, any field that itself contains a comma must be wrapped in double quotes. For example: "vip, nutrition, 12-week". Most spreadsheet apps do this automatically when you export, but double-check if your tags contain commas.
What happens after the import
Once the import completes, each successfully created client has a full profile in your Coachful workspace. Here's what that means in practice:
- Client profiles are ready immediately. You can open any profile and add notes, attach documents, log progress, or enroll the client in a program right away.
- Invitation emails (if sent) include a magic link. Clients click the link to set their password and land directly in their client portal on your branded subdomain (e.g.,
yourname.coachful.co) or custom domain. - Tags carry over. Any tags you included in the CSV are applied instantly, making it easy to filter and segment your roster by cohort, program type, or status.
- Clients can be enrolled in programs in bulk. After import, select the newly imported clients using the tag filter, then use Bulk Actions → Enroll in Program to add them to a cohort squad or structured program all at once.
Pro tip: Tag your imported clients with the source or cohort before you upload — for example, imported-2025, q3-cohort. This makes it trivial to select only the new batch for a bulk program enrollment or a welcome message in a community squad.
Pro tips for a smooth migration
Do a test import with 5 rows first
Before uploading your full list of 200+ clients, create a test CSV with just five rows — ideally including one row with a tricky character in the name and one with tags. Import those five, confirm everything looks right, then upload the full file. This catches formatting issues before they affect your whole roster.
Use "silent import" when migrating mid-program
If you're moving clients over from another platform while they're actively enrolled in a program, use the silent import option so they don't receive a confusing "you've been invited" email out of context. Draft a personal welcome message and send it once their new client portal is fully set up.
Combine import with a program enrollment
Coaches who get the most value out of Coachful don't just import a contact list — they immediately enroll imported clients into a structured program. A 12-week coaching program with three weekly tasks, daily habit check-ins, and goal milestones gives clients something to engage with from day one, dramatically improving activation rates. Learn how in Create a coaching program.
Keep your master spreadsheet as a backup
Your CSV import is a one-way sync — Coachful doesn't write back to your spreadsheet. Keep the original file as a backup, and going forward manage client data directly inside Coachful where it stays current automatically.
Troubleshooting common import errors
"Invalid email format" on rows I know are correct
This usually means there's a hidden space before or after the email address. In Google Sheets, apply =TRIM(A2) to the email column to strip leading and trailing spaces, then re-export. Excel users can use Find & Replace to remove spaces from the email column.
"Duplicate email" for clients who don't exist yet
If you've previously invited a client manually and they haven't accepted yet, their email is still registered in the system. The import treats it as a duplicate. To resolve this, go to Clients → Pending Invitations, revoke the existing invite, then re-run the import — or simply leave that row out and manage the client from their existing pending profile.
Import succeeds but tags are missing
Check that your tags column header is lowercase and that tag values containing commas are wrapped in double quotes. Also confirm you're looking at the right client profile — use the search bar to find the client by email rather than scrolling through the list.
Special characters appear as question marks or boxes
This is a UTF-8 encoding issue. Re-export your CSV from Google Sheets (which always uses UTF-8) or from Excel using the CSV UTF-8 format option. If you're on a Mac, the default CSV export from Excel is typically UTF-8 already.
The import button is greyed out
Bulk import requires the Growth or Scale plan, or an active free trial. If you're on a legacy Starter plan, check your plan options or contact support to discuss upgrading.
Only some clients received the invitation email
Invitation emails are sent asynchronously after the import completes. If a handful of clients haven't received theirs within 10 minutes, ask them to check their spam folder. You can also resend individual invitations from Clients → [Client Name] → Resend Invite, or use Bulk Actions → Resend Invitations for a filtered group.
After your import: next steps
With your clients in Coachful, a few follow-up actions will get everyone productive quickly:
- Enroll clients in programs. Use the tag filter to select your imported batch and enroll them in a structured program. See Enroll clients in a program.
- Set up group communication. Create a community squad or cohort squad so your new clients have a space to connect. See Create a squad.
- Schedule an intake or onboarding call. Use Coachful's built-in booking system to send clients a link to book their first session. See Set up your availability.
- Review your client portal branding. First impressions matter. Confirm your subdomain or custom domain is set up and your coaching website reflects your brand before clients log in for the first time.
Ready to bring your clients into Coachful?
Migrating your client roster doesn't have to be a weekend project. A well-formatted CSV and five minutes in the import wizard is all it takes to go from scattered spreadsheets to a fully organized coaching business — with programs, scheduling, messaging, and billing all in one place.
If you're not yet on Coachful, start your free trial today and have your entire client list imported before your next session. Already a member? Sign in to your workspace and head to Clients → Import to get started right now.