The Scenario
You inherited the support queue. A SaaS company just migrated away from Zendesk, and the outgoing team left you a Google Sheet with 120 legacy tickets — subject in column A, description in column B, priority in column C, and a blank column D where the new OneDesk ticket IDs are supposed to go. Your first week officially starts Monday. It is Thursday afternoon.
The previous person set up a partial import, got to ticket 40, and stopped. Nobody knows which ones made it.
The bad version:
- Open OneDesk, go to the ticket creation screen, and start entering tickets one at a time from the sheet
- For every row marked URGENT in column C, remember to set priority to High instead of Normal before hitting save
- Copy each returned ticket ID back into column D by hand while tracking your place in 80 remaining rows
That ID column is the whole point — without it, you have no audit trail connecting the old system to the new one. And the moment you lose your place in the sheet, you're creating duplicates.
You were handed this migration to close it out, not to become a data entry operator for the next three days.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads what you're looking at and, through its built-in OneDesk integration, creates the tickets and writes the returned IDs back for you. No form, no import template.
Bulk-create OneDesk tickets from the Backlog sheet: title in column A, description in column B, set priority to High for any row where column C says URGENT, otherwise Normal. Write the created ticket ID back into column D. Skip any row where column D already has a value.
That last condition — skipping rows where column D is already filled — means the partial import that stalled at row 40 is handled automatically. You won't duplicate what's already there.
What You Get
- A OneDesk ticket created for every blank row in column D
- Priority set conditionally based on column C without a separate formula
- Ticket IDs written back into column D as each one is created
- Any rows that fail (API error, missing field) flagged in a status note so you can review them specifically
What If the Data Is Not Quite Ready
The priority column uses inconsistent values
Your sheet has a mix of "URGENT", "urgent", "High", "high", and a few blanks that should default to Normal.
Bulk-create OneDesk tickets from the Backlog sheet: title in column A, description in column B. If column C contains any variation of urgent or high (case-insensitive), set priority to High. If column C is blank or anything else, use Normal. Write the ticket ID into column D.
Some description cells are blank
Forty rows have a subject but no description. OneDesk requires a description field.
Create OneDesk tickets from the Backlog sheet: title from column A, description from column B — if column B is blank, use the text in column A as the description. Set priority based on column C (URGENT = High, else Normal). Write ticket ID into column D.
The backlog spans two tabs
Your sheet has a Primary tab and an Overflow tab, both with the same column structure. You need both imported.
Create OneDesk tickets from both the Primary sheet and the Overflow sheet. Both have the same column layout: title in A, description in B, priority flag in C, blank ticket ID in D. Skip any row in either sheet where column D already has a value. Write each returned ticket ID back into column D of the sheet it came from.
The full cleanup-and-create shot
Priority inconsistencies, blank descriptions, and a need to tag which sheet each ticket came from, all in one prompt.
Create OneDesk tickets from the Primary and Overflow sheets. Title from column A, description from column B (use column A if B is blank). Normalize column C: treat URGENT, urgent, High, high as High priority; treat everything else including blanks as Normal. Skip rows where column D already has a value. Write the ticket ID into column D and write which tab the ticket came from into column E.
The pattern: every data quality question and every conditional rule goes into the single prompt. You do not pre-clean the sheet first.
Try It
Get the 7-day free trial of SheetXAI and open the migration backlog sheet you have been putting off — 40 rows or 400 — then ask it to create the tickets and write the IDs back. Also worth reading: how to fetch live ticket details from OneDesk into a sheet, and the hub overview of all four methods for connecting OneDesk to Google Sheets.
