The Scenario
You are a marketing manager at an Italian e-commerce brand. The WhatsApp promotional campaign launches in 48 hours. You have 3,000 customer records in a Google Sheet — phone numbers in E.164 format, first names, emails, and a custom field called loyalty_tier that Spoki needs for segmentation.
The campaign cannot send to contacts that are not in Spoki. You have 48 hours and a manual import process that nobody has actually done at this scale.
The bad version:
- Export the sheet as a CSV
- Open Spoki's contact importer and map the columns by hand
- Run the import and stare at a progress bar
- Discover that 180 rows failed because of phone number formatting
- Go back to the sheet, fix the rows, re-export, re-import
- Repeat until you either get it right or run out of time
- You go into the campaign launch with 2,600 contacts instead of 3,000 and no idea which 400 are missing.
The fast version is one prompt.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your spreadsheet that reads the sheet and handles the Spoki sync for you, writing the result of each row back so you know exactly what happened.
Open the SheetXAI sidebar and type:
Bulk sync all contacts in this sheet to Spoki: column A is phone number in E.164 format, column B is first_name, column C is email, column D is a custom field called loyalty_tier. Write the sync result for each row into column E — use "created", "updated", or the error message.
SheetXAI reads all 3,000 rows, batches the API calls, and writes the per-row result into column E as it goes. You see every success and every failure before you leave your desk.
What You Get
A fully synced Spoki contact database with per-row transparency:
- Column E populated for every row — "created," "updated," or a specific error
- Custom field
loyalty_tiercarried in — no manual mapping in the Spoki importer - Batch processing handled automatically — no timeout, no manual chunking
- Failures visible immediately — go fix the phone numbers that failed, re-run just those rows
The error column is the part the CSV importer never gives you. When 180 rows fail, you find out by counting the missing contacts a day later. With SheetXAI, you see which rows failed before the campaign clock runs out.
Want to re-run only the failed rows? Tell SheetXAI to filter column E for error values and retry just those.
What If the Data Is Not Quite Ready
Most contact exports are not launch-ready. SheetXAI handles cleanup and the sync in the same prompt.
When phone numbers are not in E.164 format
The export came from a local CRM and the numbers look like "333 123 4567" or "+39-06-1234567" instead of "+393331234567."
Normalize all phone numbers in column A to E.164 format with Italian country code +39. Then sync all rows to Spoki with column B as first_name, column C as email, column D as loyalty_tier, and write results into column E.
When some rows are missing the loyalty_tier field
About 200 rows have a blank loyalty_tier. Spoki needs a value for the segmentation to work.
For any row where column D is blank, set loyalty_tier to "standard" before syncing. Then bulk sync all contacts to Spoki and write the result into column E.
When there are duplicate phone numbers in the sheet
The export was run twice and some customers appear in two rows with slightly different data.
Deduplicate column A by phone number, keeping the row with the most complete data (fewest blank columns). Then sync the deduplicated list to Spoki and write results into column E.
When the sheet has contacts from multiple tiers and you only want to sync one tier now
You want to warm up the VIP tier first, then run the standard contacts in a second wave.
Filter to rows where column D is "VIP". Sync only those contacts to Spoki with phone (A), first_name (B), email (C), loyalty_tier (D). Write sync results into column E. Then separately filter to rows where D is "standard" and write those row numbers into a new tab called "PendingStandard" so I can sync them later.
The pattern: instead of cleaning the sheet, exporting, importing, and checking results in four separate tools, you ask for all of it in one prompt. SheetXAI handles the conditional logic inline.
Try It
Get the 7-day free trial of SheetXAI and open any contact sheet, then ask it to sync the records to Spoki. The Spoki integration is included in every SheetXAI plan. For related workflows, see how to add contacts to a specific Spoki list or the Spoki in Google Sheets overview.
