Project Management migration

Migrate from Intervals to Asana

Field-level mapping, validation, and rollback between Intervals and Asana. We move data and schema; workflows are rebuilt natively in Asana.

Intervals logo

Intervals

Source

Asana

Destination

Asana logo

Compatibility

83%

10 of 12

objects map 1:1 between Intervals and Asana.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Intervals to Asana trades a time-tracking-first tool for a general-purpose work management platform. Intervals organizes around Clients at the top, with Projects, Tasks, and Milestones nested beneath and time entries recorded per task. Asana uses Workspaces and Teams as top-level containers, with Projects holding Tasks in Sections. The most significant structural difference is that Asana does not have a native time-entry object at any pricing tier. We handle this by mapping Intervals time entries to a combination of task-level duration fields and date-stamped notes, preserving hours, dates, and billable status for billing audits. Intervals' custom activity fields require API enumeration during scoping because they are not visible in the CSV export; we enumerate all active fields and map each to a corresponding Asana custom field. Documents cannot be bulk-exported from Intervals, so we document every attachment URL and present the customer with a manual-download checklist organized by Project and Task.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Intervals logo

Intervals

What's pushing teams away

  • No native mobile app — all time entry and task work must happen in a desktop browser, which rules out field-based or travel-heavy teams.
  • Dated UI compared to Asana, Monday, ClickUp or Hive — the vendor has publicly acknowledged the interface needs modernization but a new UI has been promised rather than delivered.
  • Limited collaboration depth — task comments and milestone notes exist but the platform has no real-time collaboration layer, @mentions, or rich document editing.
  • No bulk document export — documents must be downloaded individually from each task, which makes migration off the platform painful for any account with significant file attachments.
  • Access-level roles are limited to admin/member, with no separate project-manager, executive, or client-portal role tiers, frustrating larger or more hierarchical organizations.

Choosing

Asana logo

Asana

What's pulling them in

  • Organizations with distributed teams cite Asana's multiple project views (List, Board, Calendar, Timeline) as the primary reason for adoption, allowing each team member to work in their preferred interface without changing the underlying data.
  • The platform's 100+ native integrations with tools like Slack, Google Drive, Salesforce, and Microsoft Teams reduce context-switching and keep work synchronized across the stack.
  • Small teams and non-profits value the free plan's generous limits: unlimited projects and tasks for up to 15 team members with basic views, enabling teams to validate fit before committing to a paid tier.
  • Marketing and creative teams specifically praise Asana's visual project organization, reporting dashboards, and timeline views for managing cross-functional campaign workflows.
  • Project managers report that Asana's dependency management and workload views help surface bottlenecks before they derail deadlines.

Object mapping

How Intervals objects map to Asana

Each row shows how a Intervals object lands in Asana, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Intervals

Client

maps to

Asana

Team or Project

1:1
Fully supported

Intervals Clients are the top-level organizational unit containing Projects, Tasks, and time-tracking data. We map them to Asana Teams (the org-level container) or, for customers preferring a flat structure, to Projects flagged with a client-tag custom field. The mapping decision is made during scoping based on whether the customer uses Intervals' client billing features. Client status (active/inactive) maps to Team membership and Project active status in Asana.

Intervals

Person

maps to

Asana

User

1:1
Fully supported

Intervals People records are user accounts with timesheet permissions, access levels (admin/member), and billable-rate settings. We map them to Asana Users, preserving name, email, and access-level intent (admin maps to Asana Admin on Business/Enterprise, member maps to Member). Inactive Intervals users become inactive Asana users. HubSpot-style owner-to-user mapping is not required because Intervals People and Asana Users both use email as the natural key.

Intervals

Project

maps to

Asana

Project

1:1
Fully supported

Intervals Projects belong to a Client and contain Tasks and Milestones, with budget, start/end dates, and status. We map them to Asana Projects within the corresponding Team. The Intervals Project status (active/on-hold/archived) maps to Asana Project archived status. Budget amounts from Intervals migrate to a custom currency field in Asana because Asana does not have a native budget tracking object.

Intervals

Milestone

maps to

Asana

Milestone

1:1
Fully supported

Intervals Milestones are date-driven checkpoints within a Project, each with optional comments. We map them to Asana Milestones, which are available from Asana Business tier ($24.99/user/month). If the destination Asana workspace is on Starter, we flag this as a tier constraint during scoping and offer to map Milestones to milestone-flagged tasks in a milestone tracking section instead. Milestone sequence, target dates, and comments all migrate directly.

Intervals

Task

maps to

Asana

Task

1:1
Fully supported

Intervals Tasks belong to a Project and optionally to a Milestone, with assignees (People), status, estimated vs. actual hours, and task-level comments. We map them to Asana Tasks within the corresponding Project, preserving assignee (mapped to Asana User by email), due date, start date, and the task description field. Task status in Intervals (active/completed/archived) maps to Asana completion status. We preserve task ordering within the Project by setting the Asana custom field sort_order or by using the task position in the project's task list.

Intervals

Task Comment

maps to

Asana

Comment

1:1
Fully supported

Intervals task-level comments are threaded text entries attached to Tasks. We map them to Asana Comments on the corresponding Task. Comment author maps to the Asana User by email match; comment timestamp preserves the original Intervals date. Comments posted via the Asana API are attributed to the migration service account unless the original author has a matching Asana User — we log the original author in the comment body for audit purposes.

Intervals

Milestone Comment

maps to

Asana

Comment

1:1
Fully supported

Intervals Milestone comments follow the same mapping logic as task comments, attaching to the corresponding Asana Milestone as a Comment. Milestone-level discussion threads are preserved with author and timestamp intact. Asana Milestones are not themselves commentable in all API versions — we verify the destination API version during setup and use the appropriate endpoint.

Intervals

Project Note

maps to

Asana

Project Description or Comment

1:1
Fully supported

Intervals Project Notes are standalone text entries scoped to a Project but not tied to Tasks or Milestones. We map these to the Asana Project description field if there is a single dominant note, or to a pinned Comment on the Project if there are multiple notes that should remain as separate entries. The mapping decision is documented in the object mapping spec before migration.

Intervals

Time Entry

maps to

Asana

Custom Field + Note

lossy
Fully supported

Intervals time entries are the primary data object — each records hours, a date, task association, billable status, and optional notes. Asana has no native time-entry object at any pricing tier. We handle this by creating a custom field on the Task called Hours Logged (numeric) and a companion custom field Billable (checkbox). Each time entry becomes a Note on the task with the date, hours, and billable status in the note body. For customers requiring detailed billing history, we also generate a CSV export of all time entries as a companion artifact for import into a billing tool.

Intervals

Custom Activity Field

maps to

Asana

Custom Field

lossy
Fully supported

Intervals custom activity fields are user-defined properties attached to time entries (e.g., Service Type, Expense Code, Billing Category). These are not visible in the CSV export — they appear only via the Intervals API. We enumerate all active custom activity fields during the discovery phase by querying the API, then create corresponding custom fields in Asana on the Task object. Field type mapping follows: text fields map to Asana text custom fields, dropdown values map to single-select custom fields, and numeric fields map to Asana number custom fields.

Intervals

Document

maps to

Asana

Attachment

1:1
Fully supported

Intervals Documents are file attachments stored per Task. The platform explicitly states that documents cannot be bulk exported — only individually downloaded. We do not attempt API-based bulk document extraction. During discovery, we document every document URL organized by Project and Task. We present the customer with a manual-download checklist so they can download documents individually before we proceed with the data migration. After download, documents are re-uploaded to Asana as attachments on the corresponding tasks during the migration window.

Intervals

Task to Milestone Linkage

maps to

Asana

Task to Milestone Membership

1:1
Fully supported

Intervals Tasks optionally belong to a Milestone via the milestone_id reference. Asana Milestones are project-level markers rather than containers, so the linkage is maintained differently — we set the Task's due date and start date to align with the target Milestone date, and we add a custom field Milestone Name to the Task that references the parent Milestone name for audit purposes. This preserves the relationship without requiring a structural workaround.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Intervals logo

Intervals gotchas

High

No bulk document export in Intervals

Medium

Custom activity fields are account-specific and require enumeration

Medium

No native bulk-import format for inter-object relationships

Asana logo

Asana gotchas

High

Automation rules have no export representation

High

API rate limits cap bulk migration throughput

Medium

Portfolios are view-only objects that do not hold data

Medium

Custom field enum options cannot be updated via API

Low

Subtasks do not appear in project views by default

Pair-specific challenges

  • No native time-entry object in Asana

    Asana does not have a time-tracking or time-entry object at any pricing tier. This is a fundamental architectural difference from Intervals, which is built around time entry. We handle this by mapping Intervals time entries to a combination of task-level custom fields (Hours Logged numeric, Billable checkbox) and timestamped notes. Customers with billing requirements must treat this as a partial solution. We generate a companion CSV export of all time entries as a structured billing artifact, and we recommend evaluating Asana-compatible time-tracking integrations (Toggl, Harvest, TimeCamp) as a parallel tool if precise billable tracking is business-critical.

  • Intervals documents cannot be bulk exported

    Intervals explicitly states that documents cannot be bulk exported — only individually downloaded via the UI. This applies regardless of the destination platform. For migrations involving dozens or hundreds of attachments, we cannot script document extraction via the Intervals API. We handle this by documenting every document URL during discovery, presenting the customer with a manual-download checklist organized by Project and Task, and re-uploading the downloaded files to Asana during the migration window. The customer's team performs the manual download step; FlitStack AI handles re-upload.

  • Custom activity fields require API enumeration

    Intervals custom activity fields are user-defined properties attached to time entries, but they are not visible in the standard CSV export — they appear only via the API. We discover all active custom activity fields during the scoping call by querying the API endpoint GET /activity_fields. Each discovered field is then mapped to a corresponding Asana custom field on the Task object. If the destination Asana workspace uses a Starter plan, custom field slots are limited to 15 — we flag this during scoping and prioritize the most business-critical fields.

  • Intervals CSV export omits inter-object relationship IDs

    Intervals' native export tools produce CSV files for Clients, Projects, Tasks, People, and Milestones, but the exports do not include the internal IDs needed to resolve relationships (e.g., which Task belongs to which Milestone, which Project belongs to which Client). We pre-process the customer's export to join these CSVs by name and reconstruct the foreign-key relationships before generating Asana-import-ready files. Without this pre-processing, imported Tasks in Asana would be orphaned from their Milestones and Projects.

  • Asana Milestones require Business tier or above

    Intervals Milestones are available at all pricing tiers. Asana Milestones are available only from the Business tier ($24.99/user/month). If the destination Asana workspace is on Starter ($10.99/user/month), we flag this constraint during scoping and propose one of two alternatives: map Intervals Milestones to milestone-flagged tasks within a dedicated Milestones section, or recommend upgrading to Business tier. The customer's admin makes the decision before migration begins.

Migration approach

Six steps for a successful Intervals to Asana data migration

  1. Discovery and API enumeration

    We audit the source Intervals workspace via API, documenting all active custom activity fields, the complete object inventory (Clients, People, Projects, Milestones, Tasks, Comments, Documents, Time Entries), and the relationship graph between objects. We query GET /activity_fields to enumerate all custom activity fields not visible in the CSV export. We count time-entry records, document attachment URLs, and identify the highest milestone count across any single project. We present a written scope and Asana tier recommendation (Starter vs. Business) based on Milestone requirement and custom field count.

  2. Schema design and custom field provisioning

    We design the Asana destination schema. This includes creating the Team hierarchy (mapped from Intervals Clients), provisioning custom fields on Tasks (Hours Logged, Billable, and all enumerated Intervals custom activity fields), and designing the Project structure within Teams. If the customer uses Intervals Milestones and the destination is on Starter tier, we confirm the Milestone workaround decision before schema is created. We deploy the initial schema to a validation environment before touching production data.

  3. Pre-processing and relationship resolution

    We pre-process the Intervals CSV exports by joining them on name and external keys to reconstruct the inter-object relationships omitted from the raw export. This produces import-ready CSVs with correctly resolved Client names, Project names, Milestone assignments, and People assignees. We validate the relationship integrity (no orphaned Tasks, no unlinked Milestones) before the first Asana import. This step is the primary reason FlitStack AI produces cleaner Asana imports than manual CSV approaches.

  4. Sandbox validation and record sampling

    We run the migration into an Asana Sandbox environment (or a clean Team in the destination workspace) using the pre-processed CSV files. The customer's project manager or admin reviews a sample of migrated records against the Intervals source — checking task descriptions, milestone dates, time-entry notes, and custom field values. We correct any mapping errors identified during this review before proceeding to production. This step typically takes two to three days and prevents errors from propagating into the live workspace.

  5. Production migration in dependency order

    We run the production migration in record-dependency order: Teams (from Clients), People (Users, validated by email), Projects, Milestones (or milestone-flagged tasks on Starter), Tasks (with assignee resolved and milestone reference restored), Comments (attached to Tasks and Milestones), Time Entries (as custom field values and timestamped notes), and Custom Activity Fields. Document re-upload follows the customer's manual-download checklist. Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and document handoff

    We freeze Intervals writes during cutover, run a final delta migration of any records modified during the migration window, then set the Asana workspace as the system of record. We deliver a document-download completion checklist to the customer confirming all attachment URLs have been addressed. We support a 48-hour hypercare window for reconciliation issues. We do not rebuild Intervals workflows or automations in Asana Rules — the Intervals platform has no native automation, so there is nothing to rebuild, but we document the manual processes the team used so they can be evaluated for Asana Rules if desired.

Platform deep dives

Context on both ends of the pair

Intervals logo

Intervals

Source

Strengths

  • Built-in timer with start/stop makes time entry frictionless for billable teams
  • Consistent export to CSV and PDF across every report view without configuration
  • Per-task budget tracking and milestone date management support billing-heavy workflows
  • XML and CSV export available for all core objects via the native export menu
  • Access-level roles (admin, member) provide basic permission separation

Weaknesses

  • No mobile app — all time tracking and task updates require a desktop browser
  • Limited access-level granularity — no separate manager, project-manager, or executive tiers out of the box
  • Timesheet approval workflow is not customizable to match firm-specific approval chains
  • Task management lacks advanced controls like dependencies, custom status workflows, or subtask hierarchies
  • No bulk document export — individual downloads required for every file
Asana logo

Asana

Destination

Strengths

  • Unlimited projects and tasks on the free plan for teams up to 15 members.
  • 100+ native integrations including Salesforce, Slack, Google Drive, and Microsoft Teams.
  • Four distinct project views (List, Board, Calendar, Timeline) in a single interface.
  • Dependency management with start/end dates and predecessor links for critical path tracking.
  • Portfolio dashboards for executives to track cross-project status and workload.

Weaknesses

  • Per-seat pricing scales expensively: Advanced tier costs nearly double Starter for a 50-seat team.
  • API does not expose all UI-accessible data; some fields require screen-scraping for full fidelity.
  • Automation rule limits on lower tiers are restrictive, causing power users to upgrade or leave.
  • No native document/wiki capability forces teams to use external tools for knowledge management.
  • Rate limits (150 req/min on free, 1,500 req/min on paid) constrain bulk migration throughput.

Complexity grading

How hard is this migration?

Standard Project Management migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Intervals and Asana.

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Intervals: Not publicly documented.

  • Data volume sensitivity

    B

    Intervals doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Intervals to Asana migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Intervals to Asana data migrations

Answers to the questions buyers ask most during Intervals to Asana migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Intervals to Asana migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between two and four weeks for workspaces under 5,000 Tasks and 20,000 time entries with no more than 10 custom activity fields. Migrations with extensive custom activity field schemas (over 15 fields), large time-entry histories (over 50,000 records), or dozens of Milestone-linked projects move to six to ten weeks because of API enumeration time, custom field schema design, and the manual document-download coordination required. The manual document download step is the most common timeline variable — it depends on how many attachments the customer has and how quickly their team completes the checklist.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Intervals.
Land in Asana, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day