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

Bulk Import Historical Call Notes Into CentralStationCRM as Protocol Entries From a Sheet

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

The Scenario

You are the sales operations manager at a company decommissioning a legacy CRM on Friday. The new system is CentralStationCRM. A sales team of eight has 300 past call notes in an Excel export, one row per call with columns for contact email, note text, and call date. Every note needs to appear as a protocol entry in CentralStationCRM before Friday, or the historical context is gone.

The slow version:

  • Open CentralStationCRM, search for the contact by email
  • Open the person record, navigate to the protocol/notes section
  • Click "Add note," paste the note text, set the date manually
  • Return to the export, find the next row
  • You get through 40 rows in the first hour and do the math: 260 rows left at this pace means you need six more hours you do not have.

The fast version is one prompt.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent inside your spreadsheet that can look up each contact by email, create the protocol entry with the correct note text and date, and confirm the operation row by row.

Open the SheetXAI sidebar and type:

For each row in this sheet, look up the person in CentralStationCRM by the email in column A. Create a protocol entry for that person with the note text in column B and the date in column C. Write the new protocol ID into column D. If the person is not found by email, write "NOT FOUND" in column D instead.

SheetXAI works through all 300 rows. Found contacts get a protocol entry. Not-found rows are flagged so you can handle them manually. The protocol IDs in column D are your confirmation log.

What You Get

A completed migration log in the sheet:

  • Column D — protocol ID for every successfully created note
  • Column D (flagged rows) — "NOT FOUND" for contacts the CRM could not match by email

The flag-and-skip behavior is the important part. You do not want 300 rows to fail silently because 12 emails changed between the old system and the new one. The "NOT FOUND" rows surface immediately so you can search for those contacts by name and handle them after the bulk run.

You can also pull the notes back out to verify. Ask SheetXAI to read all protocols created in CentralStationCRM in the last 24 hours and compare the count against the "done" rows in column D.

What If the Data Is Not Quite Ready

Legacy CRM exports are reliably messy. SheetXAI handles the cleanup and the import in the same prompt.

When note dates are in inconsistent formats

The export has some dates as "2024-03-14," some as "March 14, 2024," and some as "3/14/24."

Normalize all dates in column C to ISO format (YYYY-MM-DD). Then for each row, look up the person in CentralStationCRM by email in column A and create a protocol entry with the note in column B and the normalized date. Write the protocol ID into column D.

When note text contains formatting artifacts from the old system

The export has pipe characters, HTML entities, and legacy field markers in the notes that should not appear in the CRM.

For each row, clean the note text in column B by removing HTML tags, converting pipe characters to spaces, and stripping strings that start with "[FIELD:" and end with "]." Then look up the person by email in column A and create the protocol entry with the cleaned note and the date in column C. Write the protocol ID into column D.

When you need to verify the protocol count before closing the old system

Before decommissioning, you want to confirm that the protocol count in CentralStationCRM for a given contact matches what the old system had.

For each unique email in column A, count how many rows appear in this sheet for that email. Then look up the person in CentralStationCRM by email and count how many protocol entries they have. Write the sheet count in column E and the CRM count in column F. Flag any row in column G where the counts do not match.

When each note also needs to be linked to a deal

The legacy system tracked which call was associated with which deal. You have the deal name in column D and need each protocol to be associated with the matching deal in CentralStationCRM.

For each row, look up the person by email in column A and the deal by name in column D in CentralStationCRM. Create a protocol entry with the note in column B and date in column C, and link the protocol to the matched deal. Write the protocol ID into column E and the deal ID into column F. If the deal is not found, create the protocol without a deal link and note "DEAL NOT FOUND" in column F.

The pattern: describe the full migration operation in one prompt. SheetXAI handles the lookup, the create, the conditional logic for not-found records, and the ID capture, all in one pass.

Try It

Get the 7-day free trial of SheetXAI and open the call notes export from your legacy CRM, then ask SheetXAI to create protocol entries in CentralStationCRM row by row. The CentralStationCRM integration is included in every SheetXAI plan. For related workflows, see how to bulk import contacts and tag them or the CentralStationCRM 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