The Scenario
You are a sales ops analyst. Your company is migrating 400 leads from a legacy CRM into Kommo. The leads export has a stage name column — but the stage names came from the old system and do not match Kommo's pipeline stage names exactly.
Kommo's API requires a stage ID, not a stage name. If you push a lead with an unrecognized stage, the import fails silently or defaults to the first stage. Either way, your pipeline data is wrong.
Before you run the bulk import, you need to map every legacy stage name to the correct Kommo stage ID. The Kommo workspace has three pipelines and fourteen stages across them.
The bad version of this prep work:
- You open Kommo's pipeline settings and write down each stage name and ID by hand
- You build a VLOOKUP table in Google Sheets
- Your colleague says there are two pipelines, not three
- You go back to Kommo, realize there is a hidden archive pipeline, now there are four
- You update the lookup table
- You run the VLOOKUP — 37 rows return 'NO MATCH' because the legacy names use slightly different capitalization
- You spend Friday afternoon fixing case-sensitivity issues in your formula
- The import is still not validated by Monday.
The fast version is one prompt.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your Google Sheet that can pull Kommo's full pipeline stage list, build the lookup, validate your import rows, and flag mismatches in one pass.
Open the SheetXAI sidebar and type:
List all Kommo pipelines and for each pipeline list all its stages — write the results to a 'Pipeline Stages' sheet with columns: pipeline_id, pipeline_name, stage_id, stage_name.
Once the lookup is built, validate the import:
Using the 'Pipeline Stages' sheet as a lookup, check every row in the 'Import Leads' sheet and write the correct Kommo stage_id to column F where column E contains the stage name — use case-insensitive matching. Write 'NO MATCH' to column F if the stage name is not found.
The validation is done before lunch. Any row with 'NO MATCH' in column F is a record that needs a human decision before the import runs.
What You Get
A validated import sheet ready for bulk lead creation:
- Pipeline Stages sheet — all Kommo pipelines and stages with IDs, in one place
- Stage ID column — every import row has either a resolved Kommo stage_id or 'NO MATCH' in column F
- Case-insensitive matching — 'closed won', 'Closed Won', and 'CLOSED WON' all resolve to the same stage
Column F with 'NO MATCH' is the work list. Filter for it, review the unmapped stage names, decide which Kommo stage they belong in, and update those rows. When column F has no 'NO MATCH' values, the import is safe to run.
What If the Data Is Not Quite Ready
Stage validation almost always reveals more problems than just unmatched names.
When the legacy stage names use abbreviations your team made up
'Neg' for Negotiation, 'Q-Val' for Qualified, 'PW' for Proposal Won. The lookup table will not catch these.
Using the 'Pipeline Stages' sheet as a lookup, validate column E of 'Import Leads'. For common abbreviations ('Neg' → 'Negotiation', 'Q-Val' → 'Qualified', 'PW' → 'Proposal Won'), resolve them before matching. Write the matched stage_id to column F. Write 'NO MATCH' for anything that still does not resolve. Write a 'ABBREVIATION RESOLVED' note to column G for any rows where an abbreviation was applied.
When you want to see a summary of how many import rows map to each Kommo stage
Before running a 400-lead import, it is useful to see the distribution. If 380 rows are going to the same stage, something is probably wrong with the mapping.
After validating 'Import Leads', create a 'Stage Distribution' sheet showing: stage_id, stage_name, count of import rows mapping to that stage, percentage of total. Sort by count descending.
When some import rows should go to a pipeline you have not decided yet
Your legacy CRM had one pipeline. Kommo has three. Some records need to be assigned to the right Kommo pipeline before the stage ID is resolved.
For rows in 'Import Leads' where column D (account type) is 'Enterprise', resolve stage names against the Enterprise pipeline in 'Pipeline Stages'. For all other rows, resolve against the SMB pipeline. Write the matched stage_id to column F. Write 'NO MATCH' for unresolved rows.
When you want to go all the way: pull stages, validate, fix common mismatches, and summarize in one prompt
Monday is the deadline and you need the import file validated, corrected, and summarized before stand-up.
Pull all Kommo pipelines and stages and write them to 'Pipeline Stages' with columns: pipeline_id, pipeline_name, stage_id, stage_name. Using 'Pipeline Stages' as a lookup, validate every row in 'Import Leads': resolve column E stage names case-insensitively, apply common abbreviation expansions (Neg → Negotiation, Prop → Proposal, QW → Qualified), and write the matched stage_id to column F. Write 'NO MATCH' to column F for anything that does not resolve. Create a 'Validation Summary' sheet showing: total rows, rows resolved, rows with NO MATCH, rows per matched stage.
The pattern: build the lookup from the live system, validate against it, and surface every problem in one pass. No formula-writing, no manual ID lookup.
Try It
Get the 7-day free trial of SheetXAI and use it to validate your next Kommo import before it runs. The Kommo integration is included in every SheetXAI plan. For the import step itself, see how to bulk-import leads into Kommo from a sheet or the Kommo in Google Sheets overview.
