The Scenario
It's the Thursday before the new quarter starts. The PMO director dropped 15 new client project names and their initial tasks into a Google Sheet three days ago with a note: "These need to be in DeskTime before Monday so teams can start logging time."
Nobody has touched it. Today is Thursday.
The sheet has project names in column A, task names in column B, and an empty column C where the DeskTime project IDs are supposed to land once each project is created. Creating DeskTime projects one by one through the UI means 15 separate forms — project name, save, add task, save, back to the list, next project. Doing that 15 times takes about an hour you don't have, and you're almost certainly going to miskey something by project 11.
The bad version:
- You open DeskTime project creation, type the first project name, add the task, save — 4 clicks and 3 field fills per project
- You go back to the sheet to check the next name and realize two project names have typos in the original because someone edited the sheet on a phone
- You finish all 15 and realize you forgot to write any of the project IDs back — now you have to open each project in DeskTime individually to copy its ID into the sheet
The teams need these live by Monday. The director wants confirmation they exist. Neither of those things happens faster if you do it by hand.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads the planning data already in the sheet, connects to DeskTime through its built-in integration, and creates the projects row by row — writing the returned project IDs back into column C automatically.
Open the SheetXAI sidebar and paste this:
For each row in the NewProjects sheet (columns: project_name in A, task_name in B), create a DeskTime project with the initial task — process all 15 rows and write the returned project IDs back into column C
What You Get
- Column A: project name (unchanged)
- Column B: task name (unchanged)
- Column C: DeskTime project ID returned after each project is created
- Rows processed sequentially — if one fails, the error is noted in column C for that row and processing continues
- No partial states: each project either creates successfully with an ID written back, or fails with a clear message
What If the Data Is Not Quite Ready
Some project names have duplicates and I need to skip them
For each row in the NewProjects sheet, check if a DeskTime project with the same name already exists before creating it. If it does, write the existing project ID into column C and mark column D as "Existing." If it doesn't, create the project and task, write the new ID into column C, and mark column D as "Created."
The task names need to follow a specific naming format before creation
For each row in NewProjects, trim whitespace from both the project name and task name, then capitalize the first letter of each word. Use the cleaned versions to create the DeskTime project and task. Write the returned project ID into column C.
I need to create projects across two separate DeskTime accounts
The NewProjects sheet has a column D labeled "Account" — values are either "ClientA" or "ClientB." For rows where Account is "ClientA," create the project in the ClientA DeskTime workspace. For "ClientB," use the ClientB workspace. Write the project ID and which account was used into columns E and F.
Create all projects, confirm each one, and write a completion report
Process every row in NewProjects. Create a DeskTime project and initial task for each row using columns A and B. Write the returned project ID into column C. After all rows are processed, add a summary below the last data row showing: total projects created, any rows that failed and why, and the timestamp of the run.
One prompt creates all 15, logs all IDs, and hands the director a completion summary.
Try It
Get the 7-day free trial of SheetXAI and open your project planning sheet before the quarter kicks off, then ask it to push every new project into DeskTime. The DeskTime integration is included in every SheetXAI plan. You might also want to look at exporting DeskTime project hours for invoicing or the DeskTime overview hub.
