The Scenario
The referral program went live three weeks ago. Employees submitted candidates through a Google Form — name, email, the job they're applying for, and the referring employee's email. Thirty submissions came in. Your HR coordinator exported the form responses into a Google Sheet. None of those referrals have been entered into Ashby yet.
The referring employees are starting to ask what happened to their submissions.
The bad version:
- Open Ashby, navigate to the job in column C of row 1, click "Add Referral," fill in the candidate's name and email, enter the referrer's email, save.
- Go back to the sheet. Row 2.
- By submission 10, you realize the form collected emails in lowercase but Ashby's deduplication is case-sensitive, so two candidates you already entered from a previous batch are getting created again as duplicates.
30 referrals at four minutes each is two hours. And you still have to go back and clean up the duplicates.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads the referral sheet and submits each one to Ashby through a built-in integration — with deduplication logic baked into the prompt if you need it.
For each row in this sheet, create an Ashby referral linking the candidate email in column A to the job ID in column B, crediting the referrer email in column C.
SheetXAI submits one referral per row, in order, and writes the resulting application ID — or error — into column D.
What You Get
- Column D fills with Ashby application IDs for every successfully submitted referral.
- Rows that fail — duplicate email for that job, invalid job ID, unrecognized referrer — show the exact error.
- Referrer credit is set from column C, not guessed.
- The referring employees' submissions are in Ashby the same day.
What If the Data Is Not Quite Ready
Some candidate emails in column A already exist in Ashby from previous batches
Before submitting referrals, check whether a candidate with the email in column A already exists in Ashby. If they do, write "Candidate exists — application may proceed" in column D and still create the referral. If Ashby returns a duplicate application error, write "Duplicate application" instead.
The job IDs in column B are job titles, not IDs
For each row in this sheet, look up the Ashby job whose title matches column B and use its ID to create the referral. Candidate email is in column A, referrer email is in column C. Write the application ID or error into column D.
The form collected candidate first and last name in separate columns instead of email
For each row in this sheet, first check whether an Ashby candidate exists with the email in column C. If not, create the candidate using first name in column A and last name in column B, email in column C. Then create a referral linking that candidate to the job ID in column D and crediting the referrer in column E. Write the application ID into column F.
Deduplicate emails, normalize to lowercase, and submit all referrals in one pass
Normalize all emails in column A and column C to lowercase. Flag any duplicate email in column A as "Duplicate — skipped" in column D. For unique rows, create one Ashby referral per row linking the candidate email in column A to the job ID in column B, crediting column C. Write the application ID into column D.
Try It
Get the 7-day free trial of SheetXAI and open any Google Sheet with referral form responses, then ask it to submit all of them into Ashby in one pass. See also the spoke on bulk creating applications, or return to the Ashby overview.
