Lattice migration: take your goals out with the CSV, keep the cascade intact
Facts checked October 27, 2026
Lattice is one of the easier HR suites to take goals out of. Its CSV export article says all users can export from the Goals Explore page, and the file carries an ID, a Parent ID, supporting goal IDs, owners, weights and progress amounts. You don't need support, a ticket or an API key for the basic move.
What trips people up is visibility. The export lists the public and private goals the person clicking the button has access to, nothing more. Pick the right person, check the counts, and the rest is mostly mapping.
Before you start: decide what leaves and who exports it
Lattice sells Goals & OKRs as its own product next to Performance, Engagement and Compensation, according to Lattice's pricing. Plenty of companies move goals and keep reviews. Settle that first, because it changes what you export and what you tell your account team.
Then gather:
- Your renewal date. Lattice bills annually with a $4,000 minimum. Ask your account team whether Goals can come off at renewal before you plan around it.
- An exporter with wide visibility. An admin is the usual choice. Anyone else's file stops at the goals they can see. Check private goal counts either way.
- The goal cycles in play. Write down the current cycle and any earlier ones leadership still asks about.
- A picture of the cascade. If cascading is on, the Explore page has Cascade and Tree views. Screenshot the top two levels for later.
Step 1: Choose your Lattice exports
| Export | Where | Format | Covers | Watch for |
|---|---|---|---|---|
| Goals CSV | Goals, Explore page, CSV | .csv | Every goal the exporter can see, with 29 fields | Private goals outside the exporter's view are missing |
| Cycle Explore page | Admin, Goals, Goal cycles, then a cycle | On screen | One cycle's objectives and key results, participation | A view for checking, not a file |
| Goals API | developers.lattice.com | JSON | Goals and goal updates | Needs an API key and someone to script it |
| Cascade or Tree view | Goals Explore page | On screen | Parent and child structure | Only with cascading enabled |
The Explore page CSV
Open Goals, set the filters or a preset view, and click CSV. The Goals Explore page has six preset views; pick All for the widest file, since it holds every goal you have visibility into.
The columns are generous: ID, OKR Type, Goal Name, Goal Cycle, Goal Type, Department, Owners, Created at, Parent ID, Parent goal, Priority, Tags, Description, Status, State, Starting amount, Progress amount, Goal amount, Start date, Due date, Last updated, public or private, Supporting goal IDs, Support goals, Employee ID, Employee Email, Weight, Last Update and Progress percent.
A cycle at a time
Admins can open any launched cycle under Admin, Goals, Goal cycles. The cycle page shows participation by department, manager and individual, and the share of goals aligned to company goals. Use it to spot teams with no goals before you export, then filter the Explore page CSV by that cycle.
The Lattice API
If you want weekly update history as well as the goals, the Lattice API lists GET endpoints for goals and for goal updates. Someone with a key and a little scripting can pull the full history as JSON. For most OKR moves the CSV is enough.
Data that isn't goals
Reviews, feedback, 1:1 notes and engagement results stay in Lattice if you keep those products. If you're leaving Lattice completely, give HR a separate deadline for them. The API has feedback endpoints, and each module has its own reports.
Step 2: Check the Lattice file
Three things in Lattice's own notes affect counts. Draft goals appear in the export even though analytics leave them out. A goal with several owners counts once. And archived users' goals only show up in analytics if an active employee co-owns them or they sit in an active cascade.
Run four checks on the CSV:
- Objectives and key results per cycle match the cycle page, after you remove drafts you don't want.
- Every Parent ID points at an ID that is also in the file.
- Owners and Employee Email belong to people who still work at the company.
- You know which rows have a Weight other than the default, and which are private.
A Parent ID with no matching row usually means the parent belongs to a goal the exporter couldn't see. Re-export as an admin, or note it and link by hand.
Still comparing tools? The Lattice alternatives page looks at pricing, Teams support and imports for six options.
Step 3: Rebuild your Lattice goals in OKIAR
Upload the CSV as it is. OKIAR's goal import reads CSV and spreadsheets, including multi-sheet Excel, plus PDF, Word, text, Markdown, up to 5 MB per file. It helps map people, teams and parent links for you to review, so Lattice's Parent ID column does real work here. You can run it while signing up or later.
Order of work:
- Create a free account at okiar.app/signup.
- Import the current cycle. Leave closed cycles in a spreadsheet archive.
- Delete drafts nobody intends to finish.
- Look over the tree. Lattice objectives with OKR Type "Key result" children become objectives with key results.
- Set weights where Lattice had them. OKIAR supports weighted key results.
- Add extra owners where Lattice listed several. They're optional.
- Pick a period. Custom periods cover cycles that don't match calendar quarters.
Where each Lattice field goes in OKIAR
| Lattice | OKIAR | Look out for |
|---|---|---|
| OKR Type: objective | Objective | Objectives with no key results |
| OKR Type: key result | Key result | Key results that are really tasks |
| Parent ID | Parent link | Parents outside the exported view |
| Supporting goal IDs | Child objectives | Duplicates of Parent ID links |
| Owners, Employee Email | Owner and extra owners | People who have left |
| Goal Type and Department | Team | Company goals with no team |
| Goal Cycle, start and due dates | Period, custom if needed | Goals spanning cycles |
| Starting, Progress and Goal amount | Start, current and target value | Binary goals with no numbers |
| Weight | Key result weight | Weights on objectives |
| Status | Pacing status | Manual status that disagrees with progress |
| State | Keep active rows only | Drafts and archived goals |
| Priority and Tags | Description text | Priorities only one team used |
| Private | Leave out or review | Sensitive personal goals |
All 13 fields shown.
Status after the move
Lattice's Status column is chosen by people. OKIAR works status out from pacing, per its objective docs: progress against the expected amount for the date of 0.7 or more is On track, 0.4 to 0.69 is Behind, under 0.4 is At risk. Owners still set Not started, Closed and Abandoned themselves.
Step 4: Replace the Lattice integrations
Lattice's Goals plan includes Jira and Salesforce connections, and it has a Slack app and a Microsoft Teams integration.
| In Lattice | In OKIAR |
|---|---|
| Slack notifications and feedback | Slack posts and direct messages |
| Teams notifications | No Teams app; Slack or Telegram instead |
| Jira or Salesforce progress | No Jira integration; owners enter values at check-in |
| Lattice MCP in Slackbot | OKIAR's MCP server creates objectives, key results and KPIs, and updates progress and check-ins |
Step 5: Run the first check-in
Lattice users are used to weekly Updates. Keep the same day. In the first week, each owner enters a current value, a confidence score from 0 to 10 and any blocker. Compare top-level progress with Lattice's cycle page. When they agree, ask people to stop updating goals in Lattice and keep the CSV with your records.
Run your next quarter in OKIAR
Free during beta, with no credit card.
Frequently asked questions
Who can export goals from Lattice?
All users can, from the Goals Explore page. Each export holds only the goals that person has access to, so an admin gives the most complete file.
Does the Lattice CSV include parent goals?
Yes. It has Parent ID, Parent goal, Supporting goal IDs and Support goals columns.
Are draft goals in the export?
Yes. Lattice includes drafts in the CSV even though analytics leave them out.
Can I move goals and keep Lattice for reviews?
Yes. Lattice prices Goals & OKRs separately from Performance, so you can export goals and keep reviews running. Check with your account team what changes at renewal.
Can I load goals back into Lattice later?
Only partly. Lattice's bulk upload is for admins, takes one owner per goal, up to 500 goals per file, and doesn't set parent links. Keep your original export.
Does OKIAR connect to Jira like Lattice does?
No. OKIAR has no Jira integration. Owners update key results at check-in, or through OKIAR's MCP server.
Related guides: the 15Five migration guide, the Leapsome migration guide and the Betterworks migration guide. See also the free beta.
Rebuild this quarter's OKRs in OKIAR, free during beta
No credit card, no caps on objectives, key results, KPIs or team members. Goal import reads the Lattice Goals CSV.