The Scenario
It's the week before a new survey wave launches. Your CRM team just sent you a Salesforce export — 500 customer records, name, email, company — and your job is to get them into Simplesat before the surveys go out so the responses come back tagged to the right accounts.
You've done this twice before, once manually and once with a half-working script someone wrote and then left undocumented. The script is in a Notion page titled "maybe still works?" You're not going to find out today.
The bad version:
- Download the Salesforce export, open it, match the column order to what Simplesat's bulk import expects
- Go to Simplesat, find the customer import section, figure out which format the CSV needs to be in
- Upload, get an error on 23 rows where the company field has a comma in it, fix those manually, re-upload
The survey wave launches in two days. Every hour spent on the import is an hour not spent on the survey copy or the routing rules. And if the customers aren't in Simplesat when the surveys fire, the responses come back untagged and the whole point of the exercise is lost.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads the rows in your sheet and writes each one to Simplesat using the built-in integration — deduplicating by email so you don't create duplicates for customers already in the system.
Paste the Salesforce export into your sheet and then run this in the SheetXAI sidebar:
Create or update a Simplesat customer for each row in this sheet using the email in column B as the dedup key, name from column A, and company from column C
What You Get
- Each row is upserted to Simplesat — created if no customer with that email exists, updated if one does
- New customers are created with name, email, and company populated
- Existing customers have their company and name fields updated to match the sheet
- No duplicate records from running the import twice
What If the Data Is Not Quite Ready
You need confirmation that each row went through so you have a record
Create or update a Simplesat customer for each row using the email in column B as the dedup key, name from column A, and company from column C, then write the Simplesat customer ID into column D and "done" into column E for each row that succeeded
The export has 12 rows where email is blank — those should be skipped, not errored
Upsert all rows in this sheet to Simplesat using column B as the email dedup key — skip any row where column B is empty, and write "skipped - no email" in column E for those rows
The company field has inconsistent formatting — "Acme Corp.", "ACME CORP", and "Acme Corp" all appear
Before upserting, normalize column C so all company names are title case and strip trailing punctuation — then create or update each customer in Simplesat using column B as email, column A as name, and the cleaned column C as company
You want normalization, import, and a mismatch report all at once
Normalize column C to title case and strip trailing punctuation, then upsert all rows to Simplesat using column B as email, column A as name, and cleaned column C as company — write the Simplesat customer ID to column D, and if any row fails write the error reason to column E
One prompt handles the cleanup and the import and flags the failures.
Try It
Get the 7-day free trial of SheetXAI and open any Google Sheet with a CRM export staged for Simplesat, then ask it to upsert the rows and write back the customer IDs. See the team member upsert spoke if you also need to sync agent profiles, or head to the Simplesat hub for the full method overview.
