CRM, Contacts & Lead Gen
How to Import Contacts and Opportunities Together Using a CSV File
By Marnix Geerkens. Published 2025-01-28. Updated 2026-06-02.
GoHighLevel lets you import contacts and opportunities at the same time from a single CSV file, using the import option inside the Opportunities tab. Previously you had to run two separate imports; now one file handles both. You choose which objects to create, map your columns to the correct fields, and optionally tag new contacts or add them to a workflow the moment the import completes.
Watch it, then build it
Get the full platform free for 30 days
That walkthrough runs on GoHighLevel. Start it free through RocketLauncher and you get 30 days instead of the usual 14, the whole platform unlocked, plus our setup help and a community of thousands of builders in 47+ countries.
30 days, not 14Full platform, nothing held backFree community and setup help
We earn a referral commission if you keep GoHighLevel after the trial. It never changes your price.
Summary. The combined CSV import in GoHighLevel's Opportunities tab removes the need to upload contacts and opportunities in separate passes. This tutorial walks through preparing your file using the sample template, selecting your import mode (create, update, or both), mapping columns to CRM fields, and configuring post-import options like tagging and Smart List creation.
What you will learn
- Access the combined import from the Opportunities tab
- Download and follow the sample CSV template structure
- Choose whether to create new records, update existing ones, or both
- Map CSV columns to GoHighLevel contact and opportunity fields
- Add tags and create a Smart List from the imported contacts
- Monitor import progress and review errors in Bulk Actions
Steps
Open the Opportunities import
In your sub-account, go to the Opportunities section. Click the three-dot menu on the right side and select Import. This is the only place that supports the combined contact and opportunity import.
Select the objects to import
On the first screen, check both Opportunities and Contacts if you want to import both. You can also import just one type. Click Next.
Download the sample file and prepare your CSV
Click the sample file link to download a template. Your CSV should include columns for opportunity name, pipeline, stage, lead value, source, and assigned user, plus the standard contact fields. Leave any column blank if you do not have that data.
Upload your file and set the import mode
Drag and drop or click to upload your CSV. Then choose how to handle records: create new records only, create and update existing records, or update existing records only. For a fresh migration, use Create New.
Map your columns
GoHighLevel will attempt to auto-map columns based on their headers. Review each mapping, correct any mismatches, and use the dropdowns to point any unmapped column to the right field. Matching your headers to the sample file names reduces manual mapping.
Configure post-import options and start the import
On the final screen you can create a Smart List from the newly imported contacts, add them to a workflow immediately, and apply a tag. Review your mapping summary, accept the consent confirmation, and click Start Bulk Import.
Monitor the import and check for errors
Click Bulk Actions in the Opportunities section to see import progress and status. Once complete, click Show Stats to see how many records succeeded and how many had errors. Download the error list to find and fix invalid emails or mismatched IDs, then reimport the corrected rows.
Tips
- Keep your CSV column headers identical to the sample file to minimize mapping work.
- Enable the Smart List option during import so you can immediately see and act on the new contacts without building a filter manually.
Related tutorials
Watch it, then build it
Get the full platform free for 30 days
30 days, not 14Full platform, nothing held backFree community and setup help
Frequently asked questions
Where do I access the combined CSV import?
In the Opportunities tab via the three-dot menu, not the Contacts tab.
What happens if a contact already exists in the CRM?
The system matches on email by default and updates the existing record rather than creating a duplicate.
Can I import opportunities without contact information?
Opportunities require a linked contact, so at minimum you need an email or contact ID to associate them.
Why are some rows showing errors after import?
Common causes are invalid email formats or contact IDs that do not exist in the sub-account.
Can I add imported contacts to a workflow automatically?
Yes. The final import screen has an option to enroll contacts in a workflow immediately after import.






