The Scenario
Your SaaS company just wrapped a strong onboarding quarter. Two hundred new customers activated — and your marketing manager pulled the full list into an Excel workbook the moment it landed from the CRM: first name, last name, email, company, plan tier, activation date. Clean. Organized. Ready.
The testimonial-request campaign was supposed to go out this week. Endorsal is set up, the email sequence is written. What's not done: the contacts don't exist in Endorsal yet.
The bad version:
- Open Endorsal, navigate to Contacts, click "Add contact," and type each row from the workbook — name, email, company — one record at a time
- Toggle between the workbook and the form for every row, double-checking emails because you've already made two typos in the first fifteen minutes
- Hit save, scroll back to where you were in the workbook, start over on the next row — for two hundred rows
That campaign window — the period when onboarding is fresh and customers feel warmly about the product — closes fast. Spending four hours on data entry instead of getting the request out isn't a resource problem. It's a missed opportunity in the guise of a task.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Excel workbook. It reads the workbook, understands the data, and through its built-in Endorsal integration it pushes contacts directly — no form fills, no tab-switching, no copy-paste.
Read my Excel customer table and create a new Endorsal contact for every row using columns First Name (A), Last Name (B), Email (C), and Company (D), then log each contact ID in column E.
SheetXAI reads every row, creates the corresponding Endorsal contact, and writes the contact ID back to column E. When it finishes, you have a complete, linked record between the workbook and Endorsal.
What You Get
- A new Endorsal contact for every row in the specified table
- Each returned contact ID written to column E for reference
- Any rows that fail (duplicate email, missing field) flagged in a status column so you can review them without re-running the whole batch
- The campaign-ready contact list sitting in Endorsal, exactly as it exists in the workbook
What If the Data Is Not Quite Ready
Some rows are missing a company name
Create an Endorsal contact for each row in the customer table where column D is not blank — skip rows with an empty Company field — and write each contact ID to column E.
First and last name are in one column
Split the full name in column A on the first space, use the left part as first name and the right part as last name, then create an Endorsal contact for each row with those values plus the email in column B and company in column C. Write the contact ID to column D.
Plan tier should map to a tag in Endorsal
Create an Endorsal contact for each row in the customer table — columns A through D — and after creating each contact, apply the tag matching the plan tier in column E. Write the contact ID to column F.
Deduplicate on email before pushing, then create contacts and pull back IDs
Check column C for duplicate email addresses in the customer table, remove duplicates keeping the first occurrence, then create an Endorsal contact for each unique row and write the contact ID back to column E. Flag any rows that were removed as duplicates in column F.
The principle: handle the data shape and the push in one go, rather than cleaning the workbook first and then running the operation separately.
Try It
Get the 7-day free trial of SheetXAI and open the Excel workbook holding your customer list, then ask it to create Endorsal contacts for the whole batch. You can also look at how to bulk import testimonials into Endorsal or go back to the Endorsal integration overview.
