← All playbooks
Project management migration

Trello → Linear

Move active work from Trello boards to Linear teams without flattening list semantics, treating description-appended comments as Linear comments, duplicating notifications, or importing a backlog nobody intends to own.

Typical timelineEditorial estimate: 8–15 business daysEditorial estimate: 32–55 active hours active work
Statusagent reviewed
Source profileTrello export documentation reviewed 2026-10-27
Destination profileLinear importer documentation reviewed 2026-10-27
Documentation date
Review window
Evidence7 sources
This route was independently agent reviewed.Its documented claims passed a two-agent source review. It is not a substitute for a representative migration test before production.
Before you migrate

Should you make this move?

Both platforms have a case. Compare what you gain with what you give up before scheduling the cutover.

Current platform

Trello

Reasons to stay
  • Visual boards are immediately understandable and require almost no training
  • Structured ownership, status, and workflow views improve operational visibility
Reasons to leave
  • Dependencies, planning depth, reporting, and scale expose its simplicity
  • Custom fields, automations, history, and reporting are difficult to reproduce exactly
New platform

Linear

What gets better
  • Fast, opinionated product-development workflows keep software teams focused
  • Structured ownership, status, and workflow views improve operational visibility
What gets worse
  • Non-software work and highly customized enterprise processes fit poorly
  • Custom fields, automations, history, and reporting are difficult to reproduce exactly
Best of the move

Linear: Fast, opinionated product-development workflows keep software teams focused. This removes a major source-side concern: Dependencies, planning depth, reporting, and scale expose its simplicity.

Worst of the move

What you lose: Visual boards are immediately understandable and require almost no training. What you inherit: Non-software work and highly customized enterprise processes fit poorly.

Jump to a section
01At a glance

Know the shape of the move.

Transfer outcome13 features audited
Transfer outcome distributionClean transfer: 0, Partial transfer: 7, Manual rebuild: 3, Not transferred: 3.
Clean0
Partial7
Manual3
Lost3
Mapping route11 of 12 fields have a destination path

This timeline assumes

  • Editorial planning scale, not a Trello or Linear product limit: up to 20 active boards, 10,000 cards, 100 users, 200 labels, and 50 active Trello Automations (formerly Butler).
  • A Linear workspace administrator runs the import; Linear teams, members, statuses, labels, cycles, and project conventions are created first.
  • Individual Trello board exports are used because Linear documents that its Trello JSON path does not accept a Workspace-level export.
  • Use @linear/import's Trello JSON importer on each board export. Native Trello CSV is Premium and omits comments. Linear's documented CSV template is a separate CLI option (Title, Description, Priority, Status, Assignee, Created, Completed, Labels, Estimate) and is not required for Trello JSON. Do not upload a Workspace-level export to the Trello JSON path.
  • Linear's Import Guide lists dedicated in-product assistants for Jira, GitHub Issues, Asana, Shortcut, Linear, and CLI. Trello is not in that list. linear.app/docs/import-trello returns 404. Do not invent an in-product Trello assistant from marketing copy.
  • The migration moves active operational work; stale and completed boards are archived unless an owner approves import.
  • The source remains read-only for at least one full delivery cycle after cutover.
02What transfers

What survives the move.

“Partial” and “manual” are not footnotes. They are work that must be scheduled and verified.

ItemOutcomeImpactWhat happensMitigation
Card title and descriptionpartialcriticalLinear's Import Guide has no dedicated Trello assistant (Jira, GitHub Issues, Asana, Shortcut, Linear, CLI only). The documented Trello path is the official @linear/import CLI reading a per-board JSON export. That CLI documents Name → issue title and Description → Trello markdown description. Linear's switch/migration-guide names Trello among native importers but publishes no Trello field-mapping page — do not treat that sentence as an in-product assistant.Use the Trello JSON CLI path and test Markdown, links, Unicode, long descriptions, and template cards before bulk import.
Board and list structurepartialcriticalTrello boards/lists can express teams, projects, workflow states, queues, or categories; Linear requires one deliberate model. Trello lists are not in the Trello JSON supported-field list.Map every board and list by meaning, not name, before import.
Card membersmanualhighTrello JSON supported fields do not include members. Linear issues are assigned to a single person at a time, so multi-member cards need an editorially approved representation.Choose and verify a primary assignee mapping; preserve additional collaborators manually as text, labels, or subscribers where appropriate.
LabelspartialhighThe Trello JSON CLI documents Labels as a supported field. Duplicate names, colors, board-local scope, and inconsistent taxonomy can still create noise.Create a workspace label dictionary and merge synonyms before import.
ChecklistsmanualhighTrello JSON can contain nested checklist data, but checklists are not in the Trello JSON supported-field list for @linear/import.Choose description checklist, manually created sub-issues, or archive per checklist type and validate completion state.
CommentspartialcriticalThe Trello JSON CLI can optionally append comments into the issue description. They do not become Linear comments with authors or threads. A board JSON export contains only the 1,000 most recent board actions, including comments; Trello says a Premium Workspace export is the way to get all comments. CSV exports omit comments. Linear's CLI help page warns that CLI imports lack data a dedicated assistant would keep, such as comments — that warning is about assistants vs CLI, and Trello has no dedicated assistant page.When complete comment history is required, preserve it through a Premium Workspace export or another verified complete API/archive method. Otherwise document older comments as unavailable and obtain an explicit accepted-loss decision. Enable the optional comment-append on the Trello JSON CLI and copy decision-critical comments into descriptions with an archive link.
Attachments and cover imagespartialhighThe Trello JSON CLI adds attachments as links in the description, not as Linear files. Trello's Premium Workspace export can include raw attachments in a zip; otherwise exports only link to Trello-hosted files, which can break after access changes.Download raw attachments, hash them, upload critical files, and retain a card-to-file manifest. Treat description links as the documented CLI result, not as uploaded Linear files.
Custom fieldspartialhighTrello includes custom-field data in both JSON and CSV exports: Checkbox, Date, Dropdown, Number, and Text; max 50 Custom Fields per board; 50 dropdown options; Standard plan and up. Values persist if a Workspace is downgraded to Free but become unavailable. Linear issue properties do not provide a universal Trello custom-field map.Map each field to label, priority, estimate, cycle, project, description, or archive.
Dates and reminderspartialhigh@linear/import says creation and modification dates on issues will not carry over. The Trello JSON supported-field list includes neither due date nor created date. Linear's documented CSV template has Created and Completed columns but no Due Date column; that template is a separate CLI option, not the Trello JSON path. Start dates, reminders, recurrence, and calendar behavior differ and are not documented imports.Define date semantics and rebuild due dates, recurrence, or reminders deliberately. Do not expect created or completed timestamps from Trello JSON.
Trello AutomationlostcriticalTrello Automation (formerly Butler) rules, scheduled commands, due-date rules, card buttons, and board buttons do not execute in Linear. The docs URL remains create-and-manage-automations. These objects do not become Linear workflows.Inventory triggers and outcomes, delete obsolete automation, and rebuild essential behavior with Linear workflows or integrations.
Power-Ups and integrationslosthighPower-Up state, votes, aging, forms, calendars, dashboards, and linked services are platform-specific.Export required data and approve an explicit replacement or retirement.
Card activity and audit historylostmediumMove history, edits, notifications, watches, and archival events do not become Linear activity history. Board JSON includes only the 1,000 most recent board actions.Keep board JSON and compliance evidence through the retention window.
Archived cards and boardsmanualmediumBulk-importing history can bury current work and distort metrics.Create a signed active/archive decision and keep historical boards in the read-only source or a static archive.
03Field and feature mapping

Where each thing goes.

SourceDestinationMethodNotes
BoardLinear team and/or projectmanualChoose based on ownership and delivery horizon, not visual similarity. Linear has no Trello board object.
ListIssue status, project, label, or import dispositiontransformEvery list needs one documented semantic mapping. Lists are not in the Trello JSON supported-field list.
Card nameIssue titleautomaticDocumented on the Trello JSON CLI path as Name → issue title. Verify empty, duplicate, Unicode, and long titles.
Card descriptionIssue descriptionautomaticDocumented on the Trello JSON CLI path as Description → Trello markdown description. Verify formatting and repair Trello links and embedded references.
Selected primary card memberAssigneemanualTrello JSON supported fields do not include members. Linear issues are assigned to a single person at a time; choose and verify one assignee, and give unmatched or additional members explicit treatment.
LabelsIssue labelsautomaticDocumented on the Trello JSON CLI path. Normalize board-local duplicates into a controlled taxonomy.
Due dateDue datemanualTrello JSON field list and Linear CSV template both omit Due Date. Configure due dates manually and verify timezone and completed-due behavior. @linear/import also says creation and modification dates do not carry over.
ChecklistDescription checklist, manually created sub-issues, or archivemanualChecklists exist in Trello JSON but are not in the Trello JSON supported-field list for @linear/import.
Custom fieldPriority, estimate, label, project, cycle, or descriptionmanualTrello exports custom-field values in JSON and CSV (50 fields per board, 50 dropdown options, Standard and up). Linear has no universal Trello custom-field map. Map per business meaning and destination constraints.
Comment/activityNo destinationunsupportedOptional append into the issue description on the Trello JSON CLI; they do not become Linear comments with authors or threads. Capped by the 1,000-action JSON export unless a Premium Workspace export is used. CSV exports omit comments.
AttachmentLinks in the issue descriptionautomaticThe Trello JSON CLI adds attachments as links in the description, not as Linear files. Trello's Premium Workspace export can include raw attachments in a zip; otherwise exports only link to Trello-hosted files, which can break after access changes.
Trello Automation ruleLinear workflow/integrationmanualRecreate from desired outcome after cutover. Trello Automation was formerly named Butler; the docs URL is still create-and-manage-automations.
04Before you begin

Make the move recoverable.

Backup procedure

Create the source-of-truth backup

Preserve every board, card, required comment, attachment, custom field, automation, membership, and active-work decision before transformation, with an explicit accepted-loss decision for any unavailable older comment history.

  1. Inventory boards, lists, cards by state, archived items, members, guests, labels, custom fields, attachments, Power-Ups, calendars, email-to-board addresses, and Trello Automation (formerly Butler).
  2. Export each in-scope board as JSON for @linear/import's Trello JSON importer (Board → Show Menu → More → Print and Export → Export as JSON). Native Trello CSV is a Premium Workspace feature and omits comments. Do not transform JSON into invented Linear CSV columns, and do not upload a Workspace-level export to the Trello JSON path.
  3. If complete comment history is required, create a Premium Workspace export or use another verified complete API/archive method; individual-board JSON contains only the 1,000 most recent board actions. If no complete method is available, record older comments as unavailable and obtain an explicit accepted-loss approval.
  4. When Premium is available, include raw attachments in the Workspace archive; otherwise download and hash critical attachments, then map them to board, card ID, and URL.
  5. Record card, comment, attachment, checklist, label, custom-field, and member totals per board, including any accepted comment-history gap.

Proof to capture: A board manifest reconciles counts and hashes and includes an approved import/archive decision for every list and card class.

Transformation · Board-to-team/status/project mapping worksheet

Workflow semantics map

Translate board/list conventions into one coherent Linear operating model.

  1. Interview board owners about what each list means.
  2. Map active flow to Linear statuses and delivery containers.
  3. Archive queues with no current owner or action.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

Transformation · @linear/import Trello JSON importer

Trello JSON CLI import

Import each board through @linear/import's documented Trello JSON path.

  1. Export each in-scope board as JSON. Do not upload a Workspace-level export to the Trello JSON path.
  2. Run @linear/import's Trello JSON importer. It documents Name → title, Description → markdown description, Labels, attachments as links in the description, and optional comments appended to the description.
  3. Do not invent Linear CSV columns for Trello JSON. Linear's documented CSV template (Title, Description, Priority, Status, Assignee, Created, Completed, Labels, Estimate) is a separate CLI option and is not required for Trello JSON.
  4. Add stable Trello board/card IDs to a manifest. Fail on unmapped required owners or states.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

Transformation · Premium Workspace export or verified API/archive, individual-board JSON, accepted-loss ledger, and attachment manifest

Context preservation

Retain decision-critical comments and files that do not become Linear comments or Linear file objects.

  1. Use a complete comment-history method when comments are required; otherwise approve and record the gap beyond the 1,000 most recent board actions.
  2. If using the Trello JSON CLI optional comment-append, treat those strings as description text, not Linear comments with authors or threads.
  3. Identify available comments containing decisions, approvals, or requirements and copy critical context into the issue description with provenance.
  4. Upload critical files separately; the Trello JSON CLI only adds attachment URLs in the description.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

05Handle with care

The things most likely to hurt.

These are operating limits. Treat every “Stop if” condition as a blocked migration, not a suggestion.

Design

List names are mistaken for statuses

criticallikely likelihood

Lists such as Q3, Bugs, Person A, or Reference are mapped to workflow states.

Consequence
The Linear workflow becomes unusable and metrics are meaningless.
Mitigation
Map list intent with owners before importing.

Stop if: Any active list lacks one unambiguous destination meaning.

Import

Comments disappear unnoticed

criticallikely likelihood

Issue count matches but decision context is absent, or only the 1,000 most recent board actions were available. Optional description-appended comments are not Linear comments.

Consequence
Teams repeat decisions or ship against incomplete requirements.
Mitigation
Enable the optional Trello JSON CLI comment-append when useful, curate critical comments, and retain the JSON/source archive. Account for the 1,000-action board JSON cap.

Stop if: A critical card's acceptance or decision trail exists only in comments that were not appended and have no archive.

Cutover

Automations act in both systems

highpossible likelihood

Trello Automation (formerly Butler) and Linear integrations both create or move work.

Consequence
Duplicate issues, status changes, and notifications.
Mitigation
Disable source automation before enabling destination automation.

Stop if: A test action changes both systems.

Scope

Inactive backlog overwhelms current work

highlikely likelihood

Imported issue count greatly exceeds owned active cards.

Consequence
Search, triage, and metrics become noisy from day one.
Mitigation
Import only owned, actionable work and preserve history separately.

Stop if: Any imported backlog class has no owner or review date.

Identity

Members are assigned incorrectly

highpossible likelihood

Email mismatches leave issues unassigned or assign the first wrong member.

Consequence
Work and notifications go to the wrong person.
Mitigation
Pre-create an identity map and reconcile assignee counts.

Stop if: Any critical issue has an unexplained assignee.

06Precise timeline

Do the work in this order.

Estimate forEditorial planning profile, not a vendor limit: up to 20 active boards and 10,000 cards
Total elapsedEditorial estimate: 8–15 business days
Active workEditorial estimate: 32–55 active hours
BufferEditorial allowance; add 3–5 days for inconsistent board conventions, attachment upload, owner decisions, or custom importer changes.
01
Days 1–2Triage and destination design2 days
02
Day 3Export and manifest1 day
03
Days 4–6Transform and pilot3 days
04
Days 7–9Import in board waves2–3 days
05
Days 10–11Freeze, delta, and integrations1–2 days
06
Days 12–15Run one delivery cycle3–4 days
  1. Days 1–2 · scope

    Triage and destination design

    8–12 hours active2 days elapsedBoard-owner review waiting
    • Classify boards and cards as import, archive, or discard.
    • Define Linear teams, statuses, projects, labels, identities, and permissions.

    Depends on: Trello admins, board owners, Linear admin

    Stop / go checkpoint

    Approve the operating model?

    Go when: Every board/list and active-work class has an owner and destination.

    Stop when: The model copies visual layout without agreeing workflow meaning.

  2. Day 3 · backup

    Export and manifest

    4–7 hours active1 day elapsedWorkspace or API archive generation when complete comments are required waiting
    • Export individual-board JSON for the Trello JSON CLI path.
    • Use a Premium Workspace export or another verified complete method for required comment history; otherwise approve and record the older-comment loss.
    • Download critical attachments and reconcile counts.

    Depends on: Approved scope

    Stop / go checkpoint

    Is context recoverable?

    Go when: Cards, required comments, attachments, fields, members, and automation are represented or have an explicit accepted-loss decision.

    Stop when: Any critical board or decision trail lacks a complete archive or approved loss.

  3. Days 4–6 · pilot

    Transform and pilot

    9–14 hours active3 days elapsedCLI import and owner review waiting
    • Import a simple and a complex board through @linear/import's Trello JSON path.
    • Validate workflow, users, title/description/labels, optional description-appended comments, attachment links, and files.

    Depends on: Linear workspace admin, Backup

    Stop / go checkpoint

    Approve bulk import?

    Go when: Representative owner scenarios and counts pass.

    Stop when: Comments, assignments, workflow semantics, or critical files have no safe disposition.

  4. Days 7–9 · waves

    Import in board waves

    7–13 hours active2–3 days elapsedImport processing waiting
    • Import boards by team dependency using the Trello JSON CLI.
    • Reconcile issue, assignee, label, status, date, checklist, and context counts after each wave.

    Depends on: Approved pilot

    Stop / go checkpoint

    Freeze Trello?

    Go when: Every wave has no unexplained blocking variance.

    Stop when: A wave creates duplicates, wrong assignments, or invalid workflow states.

  5. Days 10–11 · cutover

    Freeze, delta, and integrations

    3–5 hours active1–2 days elapsedFinal change application and integration delivery waiting
    • Freeze Trello changes and disable Trello Automation (formerly Butler).
    • Apply reviewed final changes manually by stable card ID; do not reimport as an update mechanism.
    • Switch forms, Slack, email, Git, calendars, and other intake paths.

    Depends on: Reconciled waves

    Stop / go checkpoint

    Make Linear authoritative?

    Go when: One intake system owns work and all critical integrations pass.

    Stop when: A production path still creates or updates Trello cards.

  6. Days 12–15 · observe

    Run one delivery cycle

    1–4 hours active3–4 days elapsedNormal team workflow waiting
    • Keep Trello read-only and observe triage, assignment, planning, delivery, and reporting.
    • Complete verification and owner sign-off.

    Depends on: Successful cutover

    Stop / go checkpoint

    Close rollback window?

    Go when: Teams complete normal workflow with no missing critical context or source write.

    Stop when: Critical work, context, access, or automation remains broken.

07The point of change

Cut over with a way back.

Go live

Cutover

Make Linear the only editable work tracker after capturing the final Trello changes and disabling source automation.

Recommended window: After the team's final standup of the week, before a low-change day reserved for verification.

  1. Announce and enforce the Trello edit freeze.
  2. Disable Trello Automation (formerly Butler), email-to-board, forms, and integrations that write to Trello.
  3. Record changes since the last import and apply them manually by stable Trello card ID; do not reimport as an update mechanism.
  4. Reconcile active issue, assignee, status, due-date, label, and context counts.
  5. Enable Linear intake and integrations one at a time.
  6. Make Trello boards read-only and pin a notice with the Linear destination.

Proof to capture: Active-work counts reconcile, all tested intake paths create one correct Linear issue, and Trello receives no production write.

Return to safety

Rollback

Resume Trello as the work system while preserving actions performed in Linear after cutover.

Deadline: Within one delivery cycle and before teams independently restructure imported work.

  1. Freeze Linear issue changes and capture only scoped post-cutover fields through a verified Linear export or API, using a manual ledger where coverage is incomplete.
  2. Re-enable Trello editing only for approved owners.
  3. Apply reviewed new issues, status, assignee, date, and comment changes back to Trello.
  4. Restore Trello Automation (formerly Butler) and integrations from the versioned inventory.
  5. Disable Linear production intake and announce the source-of-truth change.

Proof to capture: Trello contains all approved post-cutover work and one test intake follows the restored workflow while Linear is read-only.

Rollback immediately when
  • Critical active work is missing
  • Workflow mapping blocks normal delivery
  • Wrong assignees or access affect critical work
  • A required integration has no functioning Linear path
  • Decision-critical context is unavailable
08Verification report

Prove the migration worked.

Every blocking check must pass. Capture the evidence before cleanup begins.

0%
Interactive report preview0 / 8 checks passed
PassIDCheckMethodExpected resultEvidence
V-01BlockingCard dispositionReconcile every source card to imported issue, archive, or approved discard.100% accounted for by stable card ID.Card reconciliation CSV.
V-02BlockingBoard/list semanticsRun representative triage, planning, in-progress, blocked, done, and cancelled scenarios.Statuses and containers match the approved operating model.Workflow scenario log.
V-03BlockingAssignees and accessCompare assignee totals and test member, guest, and unauthorized accounts.Every critical issue has the correct owner and least-privilege access.Identity and access matrix.
V-04BlockingDescriptions, dates, labels, and checklistsCompare stratified cards including long, Unicode, overdue, complete, multi-label, and checklist-heavy examples.Title, description, and labels match the Trello JSON CLI mapping. Due dates and checklists have an approved manual disposition; created and modification dates are not expected from Trello JSON.Record comparison sheet.
V-05BlockingCritical comments and filesReview every card flagged as decision- or attachment-critical.Optional CLI-appended comments appear as description text, not Linear comments with authors or threads. Attachment URLs appear in the description unless binaries were uploaded separately. Required context is in Linear or a durable approved archive link.Context manifest.
V-06BlockingNo duplicate behaviorTrigger each form, integration, rule replacement, and notification scenario.One correct Linear action and no Trello write. Trello Automation does not execute in Linear.Integration delivery log.
V-07BlockingCycles, projects, estimates, and priorityHave each team run one planning and reporting session.Owned work appears in the expected views and metrics. Cycles, projects, estimates, and priority are operational fields, not imported by Trello JSON.Team-owner sign-off.
V-08BlockingArchive usabilityRecover one board, comment trail, and attachment solely from the preserved export.Historical context can be retrieved without editing Trello. The 1,000-action board JSON cap is accounted for.Restore drill log.
09Post-migration cleanup

Remove the scaffolding safely.

Safe after: One complete delivery cycle, all blocking checks pass, and every team owner signs off.

  1. Preserve Trello JSON, attachments, mappings, importer versions, exception logs, and verification evidence.
  2. Revoke temporary API keys, tokens, and importer credentials.
  3. Remove obsolete Trello Automation rules (formerly Butler), email-to-board addresses, forms, Power-Ups, and webhooks after the read-only window.
  4. Keep Trello read-only under the agreed retention policy before cancelling licenses or deleting boards.
  5. Update team workflow, onboarding, intake, planning, and incident documentation.
  6. Schedule quarterly access, stale-work, label-taxonomy, integration, and archive-restore reviews.
Sources and evidence

Verify against the primary material.

Platform behavior changes. Check these sources and the review dates above before executing a production migration.

  1. Atlassian Support: export data from TrelloAccessed 2026-10-27
  2. Atlassian Support: understand Trello JSON exportsAccessed 2026-10-27
  3. Atlassian Support: add a Custom Field to a cardAccessed 2026-10-27
  4. Atlassian Support: Trello automationsAccessed 2026-10-27
  5. Linear Docs: import issuesAccessed 2026-10-27
  6. Linear Docs: CLI importerAccessed 2026-10-27
  7. Linear: @linear/import Trello JSON fieldsAccessed 2026-10-27