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

  1. Open the Rhythms chat
  2. Upload your Excel or CSV file directly in the chat input (click the attachment icon or drag-and-drop)
  3. Describe what you want: "Import these goals as OKRs for Q3" or "Bulk import this spreadsheet — the hierarchy is defined in the Parent column"
  4. Rhythms parses the file and shows you a preview of all goals to be created, with their hierarchy, owners, and targets
  5. 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.)
  6. 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.


Related Articles