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

Bulk Import Contacts Into Reply From a Google Sheet

2026-05-14
5 min read

The Scenario

It is 8:45 AM on a Tuesday and your first call of the day is with the VP of Sales at 9:30. She wants to know the Q2 Inbound sequence is running. You have 300 new inbound leads sitting in a Google Sheet — columns A through C, name, email, company — and none of them are in Reply yet.

The bad version:

  • Open Reply, navigate to Contacts, start a new list. Copy the first chunk of rows from your sheet, paste into the import box. Match the column headers one by one.
  • The import finishes. Go back to the sheet, find where you left off, copy the next chunk. Repeat until all 300 are in.
  • Enroll the list in the 'Inbound Nurture' sequence manually. Confirm the count looks right. Realize three contacts had the wrong email format and were skipped. Fix them individually.

You have 45 minutes and two things need to happen before that call. The manual import process is not something you can compress into that window.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that sits inside your Google Sheet and talks to Reply on your behalf. You describe what you need — which columns, which list, which sequence — and it handles the API calls.

Create a Reply contact list called 'Q2 Inbound', then add every row from the Leads sheet (columns A=name, B=email, C=company) as a contact and move them to that list, writing the result in column D

What You Get

  • Each row in the Leads sheet processed as a Reply contact creation call.
  • Column D updated with the outcome: created, duplicate, or an error note for any row with a malformed email.
  • The contact list 'Q2 Inbound' exists in Reply and is ready to attach to a sequence.
  • A final count of contacts successfully added, visible without leaving your sheet.

What If the Data Is Not Quite Ready

Names are in one column as "First Last" instead of split across two

Add every row from the Leads sheet to the Reply list 'Q2 Inbound', splitting the name in column A into first and last name on the space, using column B for email and column C for company, and write the result in column D

Some email addresses in column B are missing or blank

Add all rows from the Leads sheet to Reply's 'Q2 Inbound' list where column B is not empty, skip any row with a blank email and write 'skipped – no email' in column D for those rows, and write 'created' or the error in column D for the ones that ran

Company data lives in a second tab called "Accounts" and needs to be joined before import

For each row in the Leads sheet (columns A=name, B=email), look up the matching company name in the Accounts sheet using column B as the join key, then create each contact in Reply with the matched company and add them to the 'Q2 Inbound' list, logging results in column D

The list already exists and you want to deduplicate before adding, then enroll in a sequence

Fetch the existing contacts in the Reply list 'Q2 Inbound', compare against column B in the Leads sheet, add only the emails not already present as new contacts, add them to the list, and write 'new' or 'already in list' in column D for each row

The principle: ask for the cleanup and the action together. You should not have to pre-filter the sheet before running the import — describe the condition and let SheetXAI handle it.

Try It

Get the 7-day free trial of SheetXAI and open the sheet where your inbound leads are sitting. Ask it to create the Reply list, add the contacts, and log the result column — all in one prompt. You can also look at how to audit contact campaign membership or the hub overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

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

Learn more