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 an Excel workbook 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 workbook 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 workbook to check the next name and realize two project names have typos in the original because someone edited the workbook 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 workbook
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 Excel workbook. It reads the planning data already in the workbook, 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:
In Excel, read the ProjectSetup table and for every row call DeskTime CreateProjectWithTask using the ProjectName and TaskName columns, writing the new project ID into the ProjectID column
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 ProjectSetup table, check if a DeskTime project with the same name already exists before creating it. If it does, write the existing project ID into the ProjectID column and mark the Status column as "Existing." If it doesn't, create the project and task, write the new ID, and mark Status as "Created."
The task names need to follow a specific naming format before creation
For each row in ProjectSetup, 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 the ProjectID column.
I need to create projects across two separate DeskTime accounts
The ProjectSetup table has an Account column — 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 the ProjectID and AccountUsed columns.
Create all projects, confirm each one, and write a completion report
Process every row in ProjectSetup. Create a DeskTime project and initial task for each row using ProjectName and TaskName. Write the returned project ID into the ProjectID column. After all rows are processed, add a summary block below the table 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 quarter-start planning workbook, 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.
