The Scenario
You are a SaaS engineer. Your app database has 150 user records — visitor ID, email, name, and plan tier — and GoSquared has been tracking those users anonymously since before they signed up. You need to call GoSquared's identify endpoint for all 150 so their anonymous sessions link to the known profiles in the People CRM.
You could write a script. But you are in the middle of three other things, the data is already in a Google Sheet from your last database export, and writing and deploying a one-off identify script for 150 rows feels like more than this task deserves.
The slow version:
- You write a small Node script, authenticate with the GoSquared API, loop through the rows, call identify for each one
- You test it on a staging environment, hit a rate limit, add retry logic
- You deploy it, run it in production, get back a 200 but are not sure whether GoSquared actually linked the profiles or just accepted the call silently
- You check three profiles manually in the GoSquared dashboard to confirm
- An hour later you are still not sure if it worked for all 150.
The fast version is one prompt.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your spreadsheet that calls GoSquared's identify endpoint row by row, so you do not have to write, test, or deploy a script to process a one-off batch.
Open the SheetXAI sidebar and type:
For each row in this sheet, call GoSquared identify with the visitor ID in column A, email in column B, name in column C, and plan in column D. Process all 150 rows. Write the API response status into column E for each row.
SheetXAI iterates through all 150 rows, calls the GoSquared identify endpoint for each one, and writes the response status back into column E. You see at a glance which rows succeeded and which ones need attention — without writing a single line of code.
What You Get
A completed identify operation with a status log written back to the sheet:
- 150 rows processed — one GoSquared identify call per row
- Status column — "200 OK" or an error message per row so you know exactly what happened
- No script, no deployment, no rate-limit debugging — SheetXAI handles the pacing
Any row that returns an error is flagged in the status column. If five rows fail because the visitor ID format is wrong, you can see them immediately, fix them in the sheet, and re-run just those rows.
What If the Data Is Not Quite Ready
User data sheets rarely arrive in the exact format GoSquared's identify endpoint expects.
When visitor IDs have inconsistent formatting
Some rows have visitor IDs with a "vid_" prefix, others do not. GoSquared expects a consistent format.
Before calling GoSquared identify for each row, normalize the visitor ID in column A: strip the 'vid_' prefix if present so all IDs are plain numeric strings. Then call identify with the cleaned visitor ID, email in column B, name in column C, and plan in column D. Write the status into column E.
When custom properties vary by plan tier
Free users have fewer custom properties than paid users. You want to send the right property set for each row based on the plan column.
For each row, call GoSquared identify with visitor ID in column A, email in column B, and name in column C. If column D is 'paid', include company in column E and created_at in column F as custom properties. If column D is 'trial', only send email and name. Write the response status into column G.
When some rows are already identified
You ran a partial identify batch last week and some users are already in GoSquared. You want to skip duplicates.
Before calling GoSquared identify for each row, check whether a GoSquared People profile already exists for the email in column B. If it does, write 'Already Identified' in column E and skip the identify call. If it does not, call identify and write the response status in column E.
When you need to identify and verify in one operation
You want to run the batch and immediately confirm that the profiles are findable in GoSquared People after the identify calls complete.
For each row in this sheet, call GoSquared identify with visitor ID in column A, email in column B, name in column C, and plan in column D. After all 150 calls complete, query GoSquared People for each email in column B and write the resulting GoSquared person ID into column F. If a person ID comes back, write it. If not, write 'Not Found'.
The pattern: identify the users, write the status, verify the result. One prompt handles the whole operation.
Try It
Get the 7-day free trial of SheetXAI and ask it to bulk-identify your GoSquared users from any sheet of user records. The GoSquared integration is included in every SheetXAI plan. See also how to create GoSquared Smart Groups from a sheet or the GoSquared in Google Sheets overview.
