The short answer
In a HighLevel sub-account, go to Contacts, click Import, choose Contacts, upload a CSV file, map each column to a field and confirm. You need admin access, a single-sheet CSV with a header row, and a name, email or phone number on every row. Progress and errors show under Bulk Actions.
Prepare the CSV file
HighLevel imports CSV files only, so save Excel or Google Sheets data as CSV first. The file needs one sheet, a header row as its first line, and at least one header that matches a HighLevel field. The import guides give a 30 MB limit (one getting-started page says 50 MB), so split anything larger. Strip spaces, dashes and letters from phone numbers; the troubleshooting guide asks for E.164 format, such as +15125550123. Remove duplicate rows, and create custom fields under Settings, Custom Fields for any column without a standard match.
- Standard fields include Contact ID, first and last name, email, phone, business name, address, city, state, postal code, country, date of birth, time zone, website, contact owner, source, type, DND and notes
- Additional emails and phone numbers are stored as secondary fields rather than replacing the primary ones
Run the import
Open Contacts and click Import (the icon is an arrow pointing into a box), select Contacts, or Contacts and Opportunities if the file also holds deals, and click Next. Upload the file and choose whether to create new contacts, update existing ones or both; HighLevel looks for existing records by Contact ID, then email, then phone. Map each column to a field, or tick the option not to import unmapped columns. On the last screen you can create a Smart List from the batch, add it to a workflow or tag it. Tick the confirmation box and start the import.
Check the results and fix errors
Imports appear under Bulk Actions for contacts and opportunities. Click Show Stats to see what went through, and download the error log from the Error tab. Common failures are invalid email or phone formats, rows with no identifier, dropdown values that match no existing option, and owner names shared by two users (use the user's email instead). Two behaviors catch people out: a DND column switches off every channel for those contacts, and only one note per contact, up to 5,000 characters, can be imported. If you add the batch to a workflow, its messages start going to the whole list, so confirm consent first.
More answers in HighLevel questions. For costs, see GoHighLevel pricing or run the cost calculator.