Projects & Office Platforms · Flagship example

Election project templates: roll last cycle's plan forward with the right dates

Put last election’s Asana export in a folder and have the AI rebuild it for the next election, with each due date worked out from its milestone.

Yellow data classification· Think first

An election project plan is internal, and it usually lists staff names and emails as assignees. Delete the columns that hold personal information, or replace names with roles, before you put the export in the folder (add them back in Asana). Only the cleaned file goes in the folder. Or use your office’s approved business plan. Keep security tasks generic, with no details.

By hand
1–2 days
With AI
2–3 hours

AI’s part: about 30 minutes, measured in a test run. Your time includes review.

Who it helpsAdministrationIT
On this page
  1. The problem
  2. The prompts
  3. Where this came from
  4. Anchors, not shifts
  5. What you need
  6. CSV export and import, in plain terms
  7. Step by step
  8. One possible outcome
  9. Make it yours
  10. Time: by hand vs. with AI
  11. Checking the work
  12. Related use cases

The problem

Every election runs on the same few hundred tasks: order supplies, recruit and train poll workers, test equipment, mail ballots, staff early voting, canvass, audit. Most offices keep them in a project plan and copy last cycle’s plan forward. The usual shortcut is to shift every date by the same amount. That breaks fast. A Primary isn’t a General, a new law moves a deadline, and a shifted date lands on a Sunday or a holiday. Then someone spends two days fixing due dates by hand and still misses one.

The prompts

Start in a folder

…\AI Projects\Election Project Rollover\

  1. Make the folder

    On your C: drive, OneDrive, or an external drive. Your choice.

  2. Open it in the app

    Claude: Code tab → under the message box, choose Local → Open folder… ChatGPT: open Codex, click Add new project (or press Ctrl+O), then pick the folder. To add more folders later, open the project menu, choose Edit project, then Add folder.

  3. Say what you want

    Use the prompt below. Then open what it saved in the folder.

How folder projects work →

Say them out loud or type them. Change the words to fit your office. The AI goes and gets the public documents itself and saves what it makes in the folder.

Prompt 1 · Say it or type it

Rebuild the project for the next election

The CSV in this folder is our Asana project for the [Past election]. Rebuild it for the [Next election] as a new CSV I can import into Asana. Check Asana's help page on CSV imports so the columns and date format are right.

Don't just shift every date by the same amount. For each task, figure out the milestone it really depends on, like Election Day, book closing, the vote-by-mail mailing, the start of early voting, or certification, and how many days before or after that it falls. Go to the Florida Division of Elections website and get the dates for both elections, including our county's actual early voting days. Our office's holiday list is in this folder. Move anything that lands on a weekend or holiday to the business day before, unless it's tied to a deadline in law or has to happen on or after a milestone. Flag those for me instead.

Also save a review spreadsheet with each task, its milestone, the old and new dates, and anything you moved or flagged. Leave the original export alone and the assignees blank.

Fill in anything in [brackets] with your own details.

This is the job I did for real. Say it your way; the parts that matter are the milestones, the holiday list, and the flags.

Prompt 2 · Say it or type it

Fix an anchor

Mailing poll worker assignment letters should count back from the start of early voting, not Election Day. Fix that, redo the dates, and update both files.

Prompt 3 · Say it or type it

Save a master for each election type

Now make a master template for each kind of election we run: presidential preference primary, primary, and general. Keep the tasks and the milestone each one depends on, with no dates and no names, so next cycle we can start from the master.

Where this came from

I exported our Asana project for a past election to CSV, and Claude Code rebuilt it for the next election with correct due dates, ready to import back in. This page turns that into a method you can repeat every cycle. The key idea: instead of shifting every date by the same amount, give every task an anchor.

Anchors, not shifts

An anchor is the milestone a task depends on. An offset is how many days before or after that milestone it’s due. “Mail poll worker assignment letters” isn’t really due on September 4. It’s due 60 days before Election Day. Write that down once as E-60, and you can work out the right date for any future election.

Why a flat shift breaks:

  • Election types differ. A Presidential Preference Primary, a Primary, and a General have different calendars. Qualifying, for example, is counted back from the primary election, not the general (s. 99.061, F.S.).
  • Laws change. When the Legislature moves a deadline, only the tasks anchored to that deadline should move. A flat shift moves everything or nothing.
  • Calendars don’t line up. Change “2026” to “2028” and every date lands on a different day of the week. A Friday task becomes a Monday task, and sometimes that Monday is Labor Day.

Most anchors are Election Day. Some are milestones set by law:

  • Registration book closing: the 29th day before each election, with its own rule when that day is a Sunday or legal holiday (s. 97.055, F.S.).
  • Vote-by-mail: ballots go to military and overseas voters no later than 45 days before the Presidential Preference Primary, Primary, and General. Other voters who requested one get it between the 40th and 33rd days before (s. 101.62(3), F.S.).
  • Early voting: begins on the 10th day before an election with state or federal races and ends on the 3rd day before. Supervisors may add days (s. 101.657(1)(d), F.S.).
  • Qualifying: periods are counted from the primary, and different offices qualify in different windows (s. 99.061, F.S.).
  • Post-election audit: must be finished and made public by 11:59 p.m. on the 7th day after certification (s. 101.591(4), F.S.).

What you need

  • The Claude desktop app (Code tab) or the ChatGPT desktop app (Codex) and a folder called something like Election Project Rollover. Put it on the C: drive, OneDrive, or an external drive.
  • A cleaned CSV export of last cycle’s project, with the personal-information columns deleted and staff names swapped for roles. CSV (comma-separated values) is a plain-text spreadsheet file. Excel opens it.
  • Your office’s holiday list for the new election year, saved in the folder. The supervisor’s office may observe different days than the county commission, so use your own office’s list.
  • Nothing else to download yourself. The AI gets the election dates from the Division of Elections and Asana’s import rules from Asana’s help center. The Division’s current pages show only the current cycle; older calendars are in its Publications Archive, so point the AI there if it can’t find last cycle’s dates. Asana’s help center needs a real web browser, so the AI may not be able to read it. If it can’t, tell it to use the “What Asana expects” list below.

CSV export and import, in plain terms

Export from Asana: click the drop-down menu next to the project’s name, hover over Export/Print, and pick CSV. Asana can also export JSON, a format for programs, which you won’t need here.

Export and import aren’t the same format. An export can’t be imported back as is: the column headers, the date format, and the way dependencies are listed are all different. That’s why the prompt asks for a new CSV.

Before it goes in the folder: open the CSV in Excel. Delete every column that holds personal information first. Then replace every assignee email and name with a role (“Early Voting Coordinator”) using Find and Replace. Save only that cleaned file in the folder. The full export stays out of the folder: keep it in Asana or in a different folder outside the project. Doing this work first is what makes it safe.

Import into Asana: create a new project from your team, choose Import spreadsheet, pick the CSV, click Make changes to review the preview, then Continue to project. You can also import into an existing project from the project’s drop-down menu (Import, then CSV), but the importer only adds tasks. It never updates ones already there.

What Asana expects (from Asana’s help center):

  • A header row, in title case.
  • The task name first, then Description, Section, and Assignee. Other columns follow.
  • Assignee: one email address of a person already in your Asana workspace.
  • Due Date: month/day/year.
  • Start Date: paid plans only. On the free plan it lands in the task description.
  • Type: “Milestone” marks a milestone.
  • Parent Task: for subtasks. The parent’s row must come first.

Read Asana’s own articles before your first import: Prepare data for CSV import and Project importing and exporting. Using monday.com, Planner, or Smartsheet? Their import and export formats are compared on the Projects & Office Platforms page.

Step by step

  1. Make the folder. Do this in the spring of the election year. Run it close to the election, and you’ll import a pile of tasks that are already past due.
  2. Export last cycle’s project from Asana as CSV. Delete the personal-information columns and swap names for roles, then save only the cleaned file in the folder. Keep the full export outside the folder. Save your county’s holiday list in the folder too.
  3. Open the folder in the app. In the Claude desktop app, open the Code tab, and in the row under the message box choose Local, then Open folder…. The first time, choose the permission mode that asks before each action (Manual), so you see every step. In the ChatGPT desktop app, open Codex, click Add new project (or press Ctrl+O), and pick the folder. New to this? See Folder projects.
  4. Say the prompt. Speak it or type it.
  5. Open the review spreadsheet it saved and read every anchor. This is the one-time investment: once the anchors are right, they carry forward. Ask for fixes in plain words (the second prompt is an example). A fixed anchor may not change any dates this cycle (for example, if your early voting days are the same as last time), but it protects the next one.
  6. Check every flagged row against the statute and the official calendar. Look at every row it moved for a weekend or holiday, too.
  7. Test the import with the first 10 rows in a scratch project. Check sections, milestones, and dates. Then import the full file into a new, empty project and add assignees in Asana.
  8. Save master templates with the third prompt. Next cycle, start from the master instead of last cycle’s export.

One possible outcome

One run of the first prompt, with a 20-task Asana export and a holiday list for a made-up Sample County.

The top-left part of the review workbook's Tasks tab, cut off on the right: the first columns (number, task, section, the milestone it depends on, and the timing against that milestone) for the first eight tasks. One row, mailing military and overseas ballots, is shaded orange as flagged. The 2024 and 2026 dates, the rule type, and the notes are in the PDF and the Excel file.(opens the full version, PDF, 4 pages, 307 KB)
Orange rows are the five it flagged; only the first is in view here. A few date cells show ##### because the column is too narrow; widen it in Excel.

Word, Excel, and PowerPoint files download to your phone; the PDF opens first. File names end in -DRAFT because AI output is a draft until a person checks it. Web addresses shown in these samples are made-up and will not open.

Make it yours

  • Not on Asana? The method is the same. Only the import format changes. Tell the AI which tool you use, and it can read that tool’s import help. See the comparison on Projects & Office Platforms.
  • Build the milestone dates first. The election calendar builder turns the Division of Elections’ dates into a checked master calendar. Put it in the folder and say “use the calendar in this folder for the new dates.”

Time: by hand vs. with AI

By hand

1–2 days

AI’s part, measured

About 30 minutes

in a test run of these prompts

With AI

2–3 hours

your time, including review

About the measured time: “AI’s part” is how long the AI took, start to finish, in a test run of these prompts on September 27, 2026. It works on its own while you do something else. “By hand” and “With AI” are estimates of your own time.

Honest estimate for a project of 150–300 tasks. The AI rebuilds the file in about half an hour. The first time takes longer because you read every anchor it picked, which is a one-time job. After that, most of the time goes to checking the flagged legal deadlines against the official calendar. That check is the part a person should do anyway. Fixing due dates one at a time by hand is where the old way lost a day or two.

Checking the work: what an expert looks for

You know this work, so you’re the best person to check it. Open every file it made and read every page. If part of it is outside what you know, hand that part to someone who knows it. These are the spots that most often need a fix:

  • Check every flagged legal deadline against the statute and the official election calendar. Laws change between cycles, and the AI won’t know about a bill that passed last session. If your county adds optional early voting days, deadlines counted from the start of early voting come out earlier than the Division’s calendar shows (it counts from the mandatory start). Decide with your supervisor which start your office counts from.
  • Asana’s CSV importer only adds tasks. It won’t update tasks that already exist, so import into a new, empty project. Test with 10 tasks in a scratch project first.
  • Assignees must be email addresses of people already in your Asana workspace. Add them in Asana after the import, so staff names never go to the AI.
  • Use your office’s own holiday list. Observed holidays vary by county, the supervisor’s office may not follow the county commission’s list exactly, and an AI’s guess at the holiday calendar is just a guess.
  • Keep security tasks generic, like ‘Complete the security checklist.’ The checklist’s contents stay out of the project plan and out of the folder.

Last reviewed October 2, 2026.

One possible outcome
Green data classification· Public data

Election calendar builder: state dates to an office master calendar

Have the AI download the state’s election dates calendar and build an Excel master calendar and an Outlook .ics file, with every date checked by a person.

By hand
4–6 hours
With AI
1–1.5 hours
One possible outcome
Green data classification· Public data

Election-cycle content calendar with a verification table

Have the AI pull every date, time, and place from official sources into a table, have a person sign off, then build the posting calendar from it.

By hand
1–2 days
With AI
3–4 hours

On this page