OKR Bulk Import
Last updated: June 11, 2026
OKR Bulk Import
Import large sets of OKRs into Rhythms from an Excel or CSV file via the chat interface. Bulk import handles everything from small batches to 250+ goals at once, preserving hierarchy, owners, and targets.
When to Use Bulk Import
Bulk import is best for: - Migrating OKRs from another tool (Viva Goals, Lattice, Notion, spreadsheets) - Kicking off a new OKR cycle with goals already defined in a spreadsheet - Onboarding a new team with a pre-built goal structure
For creating a small number of goals interactively, use the chat interface or the goal creation form directly.
Preparing Your File
Bulk import accepts .xlsx (Excel) and .csv (comma-separated values) files. Your file should include at minimum:
| Column | Required | Description |
|---|---|---|
| Title | ✅ Yes | The goal title |
| Type | ✅ Yes | Objective, Key Result, or Initiative |
| Parent | No | Title or ID of the parent goal for hierarchy |
| Owner | No | Name or email of the goal owner |
| Team | No | Team name |
| Target value | No | Numeric target for KRs |
| Start value | No | Starting value (defaults to 0) |
| Time period | No | e.g., "Q3 2025", "FY2026" |
| Description | No | Optional goal description |
Column headers are flexible — Rhythms will map your columns to the right fields during the import preview step.
Importing via Chat
- Open the Rhythms chat
- Upload your Excel or CSV file directly in the chat input (click the attachment icon or drag-and-drop)
- Describe what you want: "Import these goals as OKRs for Q3" or "Bulk import this spreadsheet — the hierarchy is defined in the Parent column"
- Rhythms parses the file and shows you a preview of all goals to be created, with their hierarchy, owners, and targets
- Review the preview:
- Confirm the mapping (Rhythms shows you which spreadsheet columns map to which goal fields)
- Fix any rows flagged with warnings (missing required fields, unrecognized owner names, etc.)
- Click Import to create all goals
What Happens During Import
Rhythms processes goals in dependency order — parent objectives are created before their child Key Results. For large imports (100+ goals), you'll see a progress indicator as goals are created in batches.
After import completes, you'll see a summary: how many goals were created, how many were skipped, and any errors.
Handling Errors
If rows fail during import, Rhythms provides a detailed error log showing which rows failed and why. Common causes:
- Unrecognized owner — the name/email doesn't match a workspace member. Fix: correct the name in your file and re-import, or assign ownership after import.
- Missing required field — the row has no title or type. Fix: fill in the missing values.
- Invalid parent reference — the parent title or ID doesn't match any goal in the import or workspace. Fix: check for typos or import the parent goal first.
Successfully created goals are not rolled back if other rows fail — partial imports are valid.
After Import
All imported goals appear in your workspace immediately. From here you can: - Set up auto-updates on Key Results - Assign check-in reminders - Organize goals into Views - Share goals with teammates
Frequently Asked Questions
What's the maximum number of goals I can import at once? Bulk import handles 250+ goals in a single file.
Can I import goals with nested hierarchy (objectives → KRs → initiatives)? Yes — use the Parent column to define parent-child relationships. Rhythms respects multi-level hierarchies.
What happens if a goal with the same title already exists? By default, Rhythms creates a new goal. It does not update existing goals. To update existing goals, use the goal detail page or check-ins.
Can I import goals into a specific team? Yes — include a Team column in your file, or specify the team in your chat prompt during import.