The Scenario
The Gumroad migration is this weekend. You have 500 historical customers in an Excel workbook — names in Column A, emails in Column B — who need to exist as Lemon Squeezy customer records before Monday's migration announcement email goes out.
The Lemon Squeezy API supports customer creation. You don't have time to write the script to call it 500 times, handle pagination, and write the IDs back to the workbook. And clicking Add Customer in the dashboard 500 times is not an option.
The bad version:
- Write a Python script to loop through the workbook, call the customer creation endpoint, handle rate limits, and write the returned IDs to Column C
- Spend two hours debugging the script, handling the 40 customers who already exist in Lemon Squeezy from prior purchases, fixing the rows where the email format is malformed
- Run the final version, verify the output, find 6 rows that failed silently and have no ID in Column C
- Manually look up and create those 6 in the dashboard
A migration that should have taken 20 minutes takes most of Saturday.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Excel workbook. It reads Column A and Column B and connects to Lemon Squeezy through its built-in integration to create customer records in bulk — writing the IDs back as it goes.
For every row in this Excel sheet where Column C is blank, create a new Lemon Squeezy customer using the store ID in cell F1, name from Column A, and email from Column B, then write the new customer ID into Column C
What You Get
- Column C: the returned Lemon Squeezy customer ID for each newly created record
- Rows where the customer already existed: their existing customer ID
- Rows that failed: the error message in Column C so you can identify and fix them
- Only processes rows where Column C is currently blank — safe to re-run if something fails partway through
What If the Data Is Not Quite Ready
Names are split into first and last columns
Create a Lemon Squeezy customer for each row using the first name in Column A, last name in Column B, and email in Column C — combine into full name — write the returned customer ID into Column D
You want to log outcomes separately from IDs
Create a Lemon Squeezy customer for each row in this workbook using name from Column A and email from Column B — write the customer ID into Column C and write Created or Error (with reason) into Column D
You want to skip rows already marked as migrated
For each row where Column D is blank, create a Lemon Squeezy customer using name from Column A and email from Column B — write the customer ID into Column C and Done into Column D when complete
Full migration with summary in one shot
Create a Lemon Squeezy customer for each row using name from Column A and email from Column B — write the returned ID into Column C, any error into Column D, and after all rows are processed write success count into cell F1 and error count into cell F2
Migration done before the announcement email goes out Monday morning.
Try It
Get the 7-day free trial of SheetXAI and open the Excel workbook with your customer migration list, then ask it to create all the Lemon Squeezy records and write the IDs back. You can also pull your new Lemon Squeezy customer base after migration to verify completeness.
