What this covers
Field mapping
Spreadsheet columns matched to the correct CRM fields and objects.
Dedup against live data
Every incoming record checked against what already exists before it writes.
Reviewed before it runs
The mapping and a sample batch are approved before the full migration executes.
One-time job, not standing sync
A migration moves a fixed dataset once; ongoing hygiene keeps it clean after.
01
What counts as a data migration request?
Moving a defined, external dataset, a spreadsheet of leads bought from a data provider, an export from a CRM you are leaving, a list a founder has been keeping in a Google Sheet, into your live Salesforce or HubSpot backend. It is explicitly one of the six things a Mindlyft request can be: post-call CRM updates, follow-up drafts, cross-tool coordination, sales-to-CS handoffs, CRM hygiene, and data migration into a live backend. The common shape is a large lead spreadsheet that needs to become real, working CRM records rather than a file nobody opens again.
02
How does a spreadsheet actually become CRM records?
Mapping first, then a write. Mindlyft reads the spreadsheet's columns and maps each one to the correct object and field in your CRM, a "Company" column to the Account name, a "Stage" column to the actual pipeline stage your team uses rather than whatever label the source system used. Free-text or inconsistent values, a title written five different ways across five hundred rows, get normalized against your existing field values rather than imported as-is, because a migration that faithfully reproduces messy source data just moves the mess into a system you rely on more.
03
How does migration avoid creating duplicate records?
The same deduplication check used for ongoing CRM hygiene runs on every incoming row before it writes. Each record in the spreadsheet is checked against what already exists in Salesforce or HubSpot, by email, domain, and name, and a likely match is flagged rather than written as a new record. A genuine duplicate does not get merged silently mid-migration, it is surfaced the same way an ongoing hygiene merge is: drafted for a person to confirm. That is the same policy CRM hygiene automation applies day to day, applied once at the start instead of continuously after.
04
Does a bulk import go through the approval gate?
Yes, and for the same reason a deal-stage change does: it is not a reversible action with a low individual blast radius, it is a single write with a large one. ASTRA gates by consequence, not by category, and a bulk write into a system of record other decisions depend on is exactly the kind of action that waits for a person. In practice that means the field mapping and a representative sample of the mapped records are drafted and shown before the full batch runs, so a wrong mapping, a "Close Date" column landing in the wrong field, gets caught on ten rows instead of ten thousand. Once the mapping is approved, the full batch executes, and every record it creates is logged individually in the audit trail, with enough context to roll back a bad row without redoing the whole migration.
05
Is a one-time migration different from ongoing CRM hygiene?
Yes. A migration is a fixed dataset moved once: the spreadsheet has an end, and once its records are in the CRM and deduplicated against what already existed, the job is done. CRM hygiene automation is the opposite shape, a continuous job with no defined endpoint, running deduplication, field enforcement, and activity capture on the records already in the system as they change. The two use the same underlying detection, the same dedup logic checks a migrating record against live data and checks a live record against every other live record, but a migration is scoped and finite where hygiene is ongoing.
06
What happens to records that do not map cleanly?
They do not get forced in. A row missing a required field, or one where the source value cannot be confidently mapped to anything in your CRM's schema, is set aside as an exception rather than written with a guessed or blank value. Exceptions are reported back as their own reviewable list, what did not migrate and why, rather than silently dropped, so nothing from the source spreadsheet disappears without a record of why it did not land. A person can then correct the source data and re-run just the exceptions, instead of the whole migration.
07
How long does a migration take, and does it count as one request?
A migration is sized the same way every request is: as work one GTM engineer can ship inside your stack in roughly a week, which is what one active slot in the subscription queue covers. A modest spreadsheet, a few hundred to a few thousand rows with a fairly clean structure, fits comfortably in that window. A very large or very messy dataset, many source systems, inconsistent formatting, thousands of likely duplicates to review, gets broken into shippable pieces and queued in order rather than stalled as one giant, unreviewable batch. Either way, the field mapping is scoped and agreed before the bulk write runs, not discovered partway through.
08
Where does the review for a migration happen?
The same place any other drafted action gets reviewed: Slack or the inbox, wherever the accountable person already works, rather than a separate migration console you have to learn. The mapping is shown as a diff-like summary, this spreadsheet column becomes this CRM field, with the sample batch attached so the reviewer can see actual rows rather than an abstract schema. That keeps a migration consistent with everything else ASTRA drafts: one review surface, whether the action in front of you is a stage change from a call or a field mapping for a thousand incoming leads.
09
Can a migration run alongside another request, like onboarding or a handoff?
A migration is one request in the queue like any other, so it takes its turn behind whatever is already active rather than running in parallel with it. In practice migrations often sit at the front of a new customer's queue for a reason: onboarding automation and renewal-risk flagging both work from the records already in the CRM, so a clean migration first means the requests built after it are working from real data instead of a partially populated backend. A team switching CRMs, or consolidating a spreadsheet a founder has been keeping by hand, typically queues the migration before the workflows that depend on the data it brings in.
FAQ
Can Mindlyft migrate a lead spreadsheet into Salesforce or HubSpot?
Yes. Data migration into a live backend is one of the six standard request types the subscription covers. Mindlyft maps the spreadsheet's columns to your CRM fields, checks every row for duplicates against existing records, and holds the mapping and a sample for approval before the full batch writes.
Will a migration overwrite or duplicate my existing CRM records?
No, not silently. Every incoming record runs through the same deduplication check used for ongoing CRM hygiene, and a likely match against an existing record is flagged for a person to confirm rather than written or merged automatically.
Does the bulk write need my approval, or does it just run?
It waits for approval. A bulk write into a system of record is gated the same way any consequential action is: the field mapping and a sample batch are drafted and shown first, and the full migration only executes once a person confirms the mapping is correct.
What happens after the migration, do the records stay clean?
The migration itself is a one-time job on a fixed dataset. Keeping records clean afterward, deduplication, field enforcement, activity capture, is what CRM hygiene automation does on an ongoing basis, and it is a separate request that can run continuously once the migrated data is in place.
Does a migration take up the one active task slot?
Yes, the same way any other request does. A migration is queued and built like the rest of the queue, one active task at a time, sized to fit roughly a week. A very large or messy dataset is split into shippable pieces and queued in order rather than treated as a special, unqueued project.
Agents do the work. You approve what reaches the customer.
Mindlyft is the approval and audit layer over your AI GTM agents: every customer-facing action drafted, human-approved, reversible, and logged. We engineer the first workflow free.
Get your first workflow free