The Scenario
It's 4 PM on a Thursday and your support team goes live Monday morning. You've just finished the CRM migration and the output is a Google Sheet — 150 rows, columns for email, phone, full name, company, and a language code. Every one of those people needs to exist as a Respond.io contact before the team opens their first shift.
The bad version:
- Open Respond.io, click "Add Contact," fill in the five fields for row 1, save, and go back to the sheet for row 2.
- Discover partway through that several phone numbers are in the wrong format and Respond.io is rejecting them — so now you're also fixing E.164 formatting mid-import.
- Finish 40 contacts, realize there's no good way to track which ones succeeded, and start a second tab to log them manually.
Nobody hired you to be a data entry clerk the Thursday before a launch. The team needs a clean contact list in Respond.io — not a partially-done one padded with apologies about phone formats.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads the sheet, understands what you're looking at, and through its built-in Respond.io integration it creates contacts for you — no API docs, no manual entry.
Create a Respond.io contact for every row in the NewCustomers sheet (A=email, B=phone, C=full name, D=company, E=language code) and write the new contact ID in column F
What You Get
- A Respond.io contact created for each row in the sheet.
- Column F populated with the new contact ID for successful rows.
- Rows that error get the error message in column F instead — bad phone format, duplicate email, missing required field — so you can find and fix them without guessing.
- The rest of the sheet is untouched.
What If the Data Is Not Quite Ready
Phone numbers are not in E.164 format
For each row in the NewCustomers sheet where column B starts with a 10-digit number, prepend +1, then create a Respond.io contact for every row using columns A through E and write the contact ID or error in column F
The language column has full words instead of ISO codes
In the NewCustomers sheet, convert column E from full language names to ISO 639-1 codes (e.g. "English" → "en", "Spanish" → "es"), then create a Respond.io contact for each row using A=email, B=phone, C=name, D=company, E=language code, and log the contact ID in column F
Contacts need to be filtered before import — only rows where company is not blank
Create a Respond.io contact for every row in the NewCustomers sheet where column D (company) is not empty, using A=email, B=phone, C=name, D=company, E=language code. Write the contact ID or skip reason in column F.
Full kill chain — normalize, filter, create, and flag duplicates in one shot
In the NewCustomers sheet: normalize phone numbers in column B to E.164 (+1 prefix if 10 digits), convert column E language names to ISO codes, skip any row where column A (email) is blank or already appears earlier in the sheet, then create a Respond.io contact for each remaining row and write the result in column F
The pattern is to ask for the cleanup and the action together — one prompt, one pass.
Try It
Get the 7-day free trial of SheetXAI and open your customer import sheet, then ask it to create Respond.io contacts from your rows. See also: Bulk Add Internal Notes to Respond.io Contacts and the Respond.io overview.
