Back to Kommo in Google Sheets
SheetXAI logo
Kommo logo
Kommo · Google Sheets Guide

Bulk-Create Companies in Kommo From a Sheet and Link Contacts

2026-05-13
4 min read
See the Excel version →

The Scenario

You are a RevOps manager. Your company is migrating 180 accounts from a legacy CRM into Kommo. The go-live date is next Monday. Today is Tuesday.

You have a Google Sheet with every account: company name in column A, website in column B, industry in column C, and the email address of the primary contact in column D. The contacts already exist in Kommo (they were imported last week). You need to create the companies, get their Kommo IDs back, and then link each company to its primary contact.

The bad version of this migration:

  • You start creating Kommo companies one by one through the UI
  • After twenty you realize you have no idea what Kommo assigned as the company ID
  • You try the Kommo CSV import for companies — it creates them but does not return IDs
  • You export the company list from Kommo to get the IDs — but the export is in alphabetical order and your sheet is not
  • You spend Wednesday building a VLOOKUP between the export and your migration sheet
  • Friday: you have company IDs but you still have not linked a single contact
  • Go-live is Monday. You have 160 companies with no contacts linked.

The fast version is two prompts.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent inside your Google Sheet that can create Kommo companies, write the returned IDs back to the sheet, and then link contacts in one run per step.

Open the SheetXAI sidebar and type:

Create a Kommo company for every row in the 'Accounts' sheet using column A as company name, column B as website, and column C as industry — write the returned Kommo company ID to column D.

Once column D is populated with company IDs, run a second prompt:

For each row in the 'Accounts' sheet where column D has a Kommo company ID, look up the existing Kommo contact by the email in column E and link that contact to the company in column D. Write 'LINKED' to column F on success, or the error message if the contact was not found.

Go-live prep is done by Thursday.

What You Get

A complete migration output, both steps written back to the sheet:

  • Company IDs in column D — every Kommo company ID returned and written back per row
  • Link status in column F — 'LINKED' for every successfully linked contact
  • Errors surfaced — any contact email that was not found in Kommo writes the error to column F

Column F is your migration QA. Filter for anything that is not 'LINKED' and you have an exact list of contacts that need to be created or email-corrected before go-live. No manual cross-referencing.

What If the Data Is Not Quite Ready

Migration sheets always have edge cases. SheetXAI handles them inline.

When some company names have formatting inconsistencies from the legacy export

The legacy CRM exported some names in ALL CAPS, some with leading spaces, and some with abbreviations like "Inc." that Kommo's dedup logic may not catch.

Before creating companies, normalize the values in column A: convert ALL CAPS names to Title Case, trim leading and trailing spaces, and expand common abbreviations (Inc. → Incorporated, Corp. → Corporation). Then create a Kommo company for every row using the normalized names, write the returned company ID to column D.

When some rows are missing a website

Not every company in the legacy system had a website recorded. You do not want to skip them, but you also do not want to send blank website fields.

For rows where column B is blank, create the Kommo company using only company name and industry — do not send a blank website field. For rows where column B has a value, include the website. Write the returned Kommo company ID to column D for all rows.

When you want to verify that no duplicate companies already exist in Kommo

Your last-week contact import may have auto-created some company stubs. Creating them again produces duplicates.

Before creating companies, search Kommo for each company name in column A and write the result to a 'Dedup Check' sheet: company_name, existing_kommo_id (blank if not found). For rows where an existing ID was found, write that ID to column D of 'Accounts' and skip creation. For rows where no existing ID was found, create the company and write the new ID to column D.

When the full migration needs to run end to end in one prompt

Tuesday is almost over and you need everything done before Thursday stand-up.

Create a Kommo company for every row in 'Accounts' using column A (name), column B (website), column C (industry). Write the returned company ID to column D. Then for each row where column D has a company ID and column E has a contact email, look up the Kommo contact by email and link it to the company in column D. Write 'LINKED' to column F on success. Write the error to column F if the contact email is not found. After both steps complete, write a summary to cell H1: total companies created, total contacts linked, total errors.

The pattern: the sheet is the migration ledger. Every step writes its output back, so the sheet is always the source of truth for what has been done and what still needs attention.

Try It

Get the 7-day free trial of SheetXAI and use it to manage your next Kommo migration from a Google Sheet. The Kommo integration is included in every SheetXAI plan. For related workflows, see how to bulk-import leads into Kommo or the Kommo in Google Sheets overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more