The Scenario
You are a marketing ops manager at an agency. A cold email campaign just wrapped and the vendor handed you a sheet of 500 leads, name, email, phone, company, source. Before anyone starts creating contacts in HighLevel, you need to know which of these 500 are already in the system.
Your HighLevel location has 4,000 existing contacts. Pushing 500 blindly would create duplicates, confuse ownership, and trigger nurture sequences for people who are already mid-funnel. Your client will notice.
The slow version:
- Open HighLevel's contact search
- Type each email one at a time
- Note the result in a column
- Page down to the next row
- Repeat 500 times
- You finish on Wednesday. The campaign team needed the flagged list on Monday.
The fast version is one prompt before you hand the sheet to anyone.
The Easy Way: One Prompt in SheetXAI
SheetXAI reads the sheet, searches HighLevel for each email, and writes the result back — EXISTS or NEW — before any contact gets created.
Open the SheetXAI sidebar and type:
For each email in column B, search HighLevel for a duplicate contact and write "EXISTS" or "NEW" to column E. If a match is found, also write the existing contact ID to column F.
SheetXAI runs through all 500 rows, queries HighLevel's contact search endpoint per email, and writes the deduplication verdict directly into the sheet. You hand the flagged list to whoever owns the next step.
What You Get
A pre-import audit in two new columns:
- Column E — "EXISTS" or "NEW" for every row
- Column F — the existing HighLevel contact ID for any row marked EXISTS
The campaign team can sort by column E and work the two groups separately. The NEW rows go to creation. The EXISTS rows go to whoever manages active contacts, to check if they should be added to this campaign or left alone.
No contacts were created. No duplicates were introduced. The data quality work happened before anything touched HighLevel.
What If the Data Is Not Quite Ready
Cold email lists come in every shape. SheetXAI handles edge cases inline.
When the same email appears more than once in the sheet
The vendor sent a list with internal duplicates — same email in rows 17 and 204.
Before checking HighLevel, flag any email in column B that appears more than once in this sheet by writing "SHEET DUPLICATE" to column E. For the remaining unique emails, search HighLevel and write "EXISTS" or "NEW" to column E, with the contact ID in column F if found.
When you need to check by phone number instead of email
Some rows have an email but no phone. Some have a phone but no email. You want to catch duplicates on either field.
For each row, check HighLevel for a duplicate contact using email from column B if it is not empty, or phone from column C if email is blank. Write "EXISTS" or "NEW" to column E and the matched contact ID to column F.
When you want to split the results into two separate tabs automatically
You want the NEW leads ready on one tab and the EXISTS leads ready on another, so each team has its own view.
Search HighLevel for a duplicate contact for every email in column B. Write the verdict to column E. Then copy all NEW rows to a tab called "To Create" and all EXISTS rows to a tab called "Already in CRM."
When you want the full dedup check plus contact creation in one shot
You have been given the green light to create the new contacts immediately after the check.
For each email in column B, search HighLevel for a duplicate. If it already exists, write "EXISTS" and the contact ID to columns E and F. If it is new, create a HighLevel contact using name in column A, email in column B, phone in column C, and company in column D under the location in cell H1, then write "CREATED" to column E.
The pattern: run the deduplication check and the creation in a single instruction. SheetXAI handles the conditional branching per row.
Try It
Get the 7-day free trial of SheetXAI and run a duplicate check on any lead list before your next HighLevel import. The HighLevel integration is included in every SheetXAI plan. For the next step, see how to bulk-create contacts after the check or the HighLevel in Google Sheets overview.
