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

Bulk Create Paystack Customers From a Google Sheet

2026-05-15
5 min read

The Scenario

The legacy system migration is next weekend. Your CTO flagged it in the all-hands: every customer from the old platform needs to exist in Paystack before the new checkout goes live, or payments will fail from day one. You have a Google Sheet with 500 rows — email, first name, last name, phone — exported from the old system. Someone needs to get all 500 into Paystack as customers.

That someone is you.

The bad version:

  • You open Paystack, click into Customers, hit Create Customer, fill in the four fields, save.
  • You do this 12 more times before your phone rings. When you come back you can't remember which row you stopped at without scrolling through the Paystack customer list.
  • By row 40 you realize some email addresses have trailing spaces from the export. Three customer creation calls have already failed silently because of them.

500 customers at even two minutes each is 16+ hours of UI work. The migration window opens in six days.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Google Sheet. It reads your customer data and creates each Paystack customer through the API row by row, then writes the returned customer code back into column E — so you have a complete migration record with no manual UI entry.

Create a Paystack customer for each row in this sheet using the email in column A, first name in column B, last name in column C, and phone in column D — write the returned customer code to column E.

What You Get

  • Column E: Paystack customer code (e.g., CUS_xxxxxxxxxxxxxxxx) written per row as each creation completes
  • Rows where creation fails — duplicate email, invalid phone format — get an error message in column E so you can triage without re-running the whole batch
  • All rows processed in one run without touching the dashboard

What If the Data Is Not Quite Ready

Email addresses have trailing whitespace from the export

Trim all email addresses in column A, then create a Paystack customer for each row using cleaned email, first name from B, last name from C, and phone from D — write the returned customer code to column E.

Some emails already exist in Paystack from a partial migration

For each row in this sheet, check if a Paystack customer already exists for the email in column A and write 'EXISTS' to column E if so — only create new customers for rows where column E is blank after the check, then write the returned code to column E.

Phone numbers are in mixed formats and need normalization

Normalize the phone numbers in column D to international format starting with +234, then create a Paystack customer for each row using email from A, first name from B, last name from C, and normalized phone — write the customer code to column E.

Clean emails, normalize phones, skip duplicates, and create in one shot

Trim email addresses in column A, normalize phone numbers in column D to +234 format, check each email against existing Paystack customers and mark 'EXISTS' in column E for matches, then create new customers for remaining rows and write the returned customer code to column E.

Running cleanup and creation together means you end up with a fully reconciled migration sheet — not a partially created batch with errors scattered across 500 rows.

Try It

Open the sheet where your customer migration data lives, then Get the 7-day free trial of SheetXAI and ask it to push your customers into Paystack in bulk. You can also see how to create payment requests for those customers once they're set up, or how to pull your full transaction history after go-live.

Stop memorizing formulas.
Tell your spreadsheet what to do.

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

Learn more