Teamwork CSV Import Guide¶
CMS Planner generates CSV files formatted for direct import into Teamwork. This guide covers the import process, troubleshooting, and best practices.
CSV Format¶
The generated CSV uses Teamwork's standard import format with these columns:
| Column | Purpose | Format |
|---|---|---|
| Tasklist | Task list name | Text (e.g., "Phase 1: Setup") |
| Task | Task name | Text with hierarchy prefixes |
| Description | Task details | Markdown with ticket template |
| Assign to | Assignee email | Email address or blank |
| Start date | Task start | Date or blank |
| Due date | Task deadline | Date or blank |
| Priority | Task priority | "low", "medium", or "high" |
| Estimated time | Time estimate | Hours or blank |
| Tags | Task tags | Comma-separated (SP-X, Phase-X) |
| Status | Task status | "Active" for new tasks |
Import Process¶
Step 1: Prepare CSV File¶
The CSV file is generated as [project-name]-backlog-teamwork.csv in your project directory.
Verify the file contains:
- ✅ Proper column headers
- ✅ Task hierarchy with -, --, --- prefixes
- ✅ Story point tags (SP-3, SP-5, SP-13, etc.)
- ✅ Phase tags (Phase-1, Phase-2, etc.)
- ✅ All tasks have "Active" status
Step 2: Open Teamwork Project¶
- Log into Teamwork
- Navigate to your project
- Go to the Tasks section
Step 3: Import CSV¶
- Click Options (three dots menu)
- Select Import Tasks
- Choose CSV Import
- Click Choose File and select your CSV
- Review the import preview
Step 4: Map Columns¶
Teamwork usually auto-detects columns, but verify:
| CSV Column | Maps To |
|---|---|
| Tasklist | Task List |
| Task | Task Name |
| Description | Description |
| Assign to | Assigned To |
| Start date | Start Date |
| Due date | Due Date |
| Priority | Priority |
| Estimated time | Estimated Time |
| Tags | Tags |
| Status | Status |
Step 5: Review and Import¶
- Check the preview of tasks to be imported
- Verify hierarchy is preserved (parent/child relationships)
- Confirm story point tags are recognized
- Click Import Tasks
- Wait for import to complete
Step 6: Verify Import¶
After import:
- ✅ Check task lists created correctly
- ✅ Verify task hierarchy (epics → stories → tasks)
- ✅ Confirm descriptions imported fully
- ✅ Check tags created (SP-X, Phase-X)
- ✅ Verify priorities set correctly
- ✅ Ensure all tasks are "Active"
Task Hierarchy¶
CMS Planner uses prefixes to create task hierarchy:
Hierarchy Prefixes¶
[EPIC] Feature Name [21 points] ← Parent task (no prefix)
- [STORY] Sub-feature [8 points] ← First level child (-)
-- [TASK] Implementation [3 points] ← Second level child (--)
-- [TASK] Testing [2 points] ← Second level child (--)
--- [SUBTASK] Unit tests [1 point] ← Third level child (---)
Teamwork Structure¶
After import, this becomes:
Feature Name [21 points]
└─ Sub-feature [8 points]
├─ Implementation [3 points]
├─ Testing [2 points]
│ └─ Unit tests [1 point]
Tags¶
CMS Planner generates two types of tags:
Story Point Tags¶
Format: SP-X where X is the story point value
Examples:
- SP-1 - 1 story point
- SP-3 - 3 story points
- SP-5 - 5 story points
- SP-13 - 13 story points
- SP-21 - 21 story points
Usage: - Filter tasks by story points - Calculate sprint velocity - Track completed points
Phase Tags¶
Format: Phase-X where X is the phase number
Examples:
- Phase-1 - Phase 1 tasks
- Phase-2 - Phase 2 tasks
- Phase-3 - Phase 3 tasks
Usage: - Filter tasks by implementation phase - Track phase progress - Plan phase releases
Creating Filters¶
In Teamwork, create saved filters:
Sprint Backlog Filter:
- Tag contains: SP-5 OR SP-3 OR SP-2 OR SP-1
- Status: Active
- Sort by: Priority, then Story Points
Phase 1 Tasks:
- Tag contains: Phase-1
- Status: Active
- Sort by: Priority
High Priority Epics:
- Tag contains: SP-13 OR SP-21 OR SP-34
- Priority: High
- Status: Active
Task Lists¶
Tasks are organized into task lists by phase:
Generated Task Lists¶
- Phase 1: Setup & Foundation
- Phase 2: Core Features
- Phase 3: Advanced Features
- Phase 4: Integration
- Phase 5: Testing & Polish
- Phase 6: Launch Preparation
Customizing Task Lists¶
After import, you can:
- Rename task lists - Use your naming conventions
- Merge task lists - Combine phases if needed
- Create new lists - Add task lists for specific teams
- Reorder lists - Drag and drop in Teamwork
Assignees¶
By default, the "Assign to" column is blank. After import:
Assign Tasks¶
- Bulk assign - Select multiple tasks, assign to team member
- Auto-assign - Use Teamwork's workload balancing
- Manual assign - Assign individually as needed
Re-import with Assignees¶
To import with assignees pre-assigned:
- Open the CSV in a spreadsheet
- Add email addresses to "Assign to" column
- Save CSV
- Import again (Teamwork will update existing tasks)
Email format:
Dates¶
By default, "Start date" and "Due date" columns are blank.
Setting Dates After Import¶
- Bulk set dates - Select phase tasks, set start/due dates
- Use dependencies - Set dependencies, dates auto-calculate
- Gantt view - Drag to set dates visually
Re-import with Dates¶
To import with dates pre-set:
- Open CSV in spreadsheet
- Add dates to "Start date" and "Due date" columns
- Use Teamwork's date format (check your localization settings)
- Save and re-import
Date format examples:
Estimated Time¶
The "Estimated time" column is initially blank.
Converting Story Points to Time¶
Use your team's story point → hours conversion:
Example: 1 story point = 6 hours
| Story Points | Estimated Time |
|---|---|
| 1 | 6 hours |
| 2 | 12 hours (1.5 days) |
| 3 | 18 hours (2-3 days) |
| 5 | 30 hours (4-5 days) |
| 8 | 48 hours (6-8 days) |
| 13 | 78 hours (10-13 days) |
CSV format:
Priority Levels¶
CMS Planner sets priorities based on:
| Priority | Criteria |
|---|---|
| High | Must-have features, critical path, blockers, foundation setup |
| Medium | Should-have features, important but not blocking |
| Low | Nice-to-have features, enhancements, documentation |
Adjusting Priorities¶
After import, adjust as needed:
- Review critical path - Ensure dependencies have high priority
- Adjust for sprints - Prioritize current sprint work
- Stakeholder input - Reflect business priorities
Troubleshooting¶
Import Fails¶
Problem: CSV import fails with error
Solutions: 1. ✅ Check CSV has all required columns 2. ✅ Verify no special characters breaking format 3. ✅ Ensure file is saved as UTF-8 4. ✅ Try re-exporting from CMS Planner 5. ✅ Remove any empty rows at end of file
Hierarchy Not Preserved¶
Problem: Task hierarchy appears flat
Solutions:
1. ✅ Verify prefixes: - for level 1, -- for level 2, etc.
2. ✅ Ensure no spaces before prefixes
3. ✅ Check parent tasks exist before child tasks in CSV
Tags Not Created¶
Problem: Tags don't appear after import
Solutions:
1. ✅ Verify tags column format: SP-5,Phase-1 (comma-separated, no spaces)
2. ✅ Check Teamwork permissions (need tag creation permission)
3. ✅ Manually create tags, then re-import
Descriptions Truncated¶
Problem: Task descriptions cut off
Solutions: 1. ✅ Check description field is properly quoted in CSV 2. ✅ Verify no unescaped quotes within description 3. ✅ Try importing in smaller batches 4. ✅ Use Teamwork's API for very long descriptions
Assignees Not Found¶
Problem: Email addresses don't match users
Solutions: 1. ✅ Verify email addresses match Teamwork user accounts exactly 2. ✅ Check users are members of the project 3. ✅ Leave blank and assign after import
Best Practices¶
Before Import¶
- ✅ Review FRD - Ensure requirements are finalized
- ✅ Validate CSV - Open in spreadsheet, check formatting
- ✅ Test import - Import to test project first
- ✅ Backup - Export existing tasks if re-importing
After Import¶
- ✅ Verify hierarchy - Check parent/child relationships
- ✅ Assign tasks - Distribute work to team
- ✅ Set dates - Add sprint or phase dates
- ✅ Review priorities - Adjust based on current needs
- ✅ Create filters - Set up saved filters for sprints, phases
Sprint Planning¶
- Filter by story points - Use SP-X tags
- Calculate velocity - Sum points from past sprints
- Select sprint tasks - Choose tasks totaling sprint velocity
- Create sprint milestone - Group sprint tasks
- Track progress - Monitor completed points
Reporting¶
Use Teamwork reports with tags:
- Burndown by Story Points - Track SP-X tags
- Phase Progress - Filter by Phase-X tags
- Velocity Tracking - Completed points per sprint
- Team Capacity - Points assigned vs capacity
Alternative Import Methods¶
Teamwork API¶
For large imports or automation:
# Using Teamwork API
curl -X POST \
https://yoursite.teamwork.com/projects/123/tasks.json \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"task": {
"name": "Task name",
"description": "Task description",
"tags": ["SP-5", "Phase-1"]
}
}'
Spreadsheet Editing¶
To customize before import:
- Open CSV in Google Sheets or Excel
- Add assignees, dates, estimates
- Adjust priorities or descriptions
- Save as CSV (UTF-8)
- Import to Teamwork
Resources¶
- Teamwork Import Guide: https://support.teamwork.com/
- CSV Format Reference: https://support.teamwork.com/importing-tasks
- Teamwork API: https://developer.teamwork.com/
Getting Help¶
- Documentation: https://kanopi.github.io/cms-planner/
- GitHub Issues: https://github.com/kanopi/cms-planner/issues
- Email: code@kanopi.com
Next: Contributing | Changelog