Switching CRMs

Bring five years of customers in from a spreadsheet.

A new workspace does not have to start empty. Upload the export from wherever you are coming from, and the people you already know arrive with you — without becoming a pipeline event nobody asked for.

Your columns, matched for you

Upload a CSV with whatever headers your last system exported — "Client Name", "Mobile", "Status" — and the columns most likely to be name, phone, email, address and stage are suggested against your own header text. You confirm the mapping; nothing is guessed silently.

Every row, shown before it is written

A preview marks each row create, duplicate or invalid, and says why — a phone number already on file, a blank name — before a single record is created. The same function produces the preview and the import, so what you approve is exactly what gets written.

Duplicates caught inside the file too

Matched first against phone, then email, against what the business already has and against the rest of the same upload — so an export with the same customer on two rows does not create the same customer twice in one run.

An unrecognized stage does not sink the row

A stage column carrying your last system’s own wording — "Quote Sent" instead of a slug — matches by name where it can, and falls back to your first stage where it cannot, rather than rejecting the customer over a labelling difference between two systems.

The decision behind it

An import never starts automation on your behalf

The obvious design carries a customer’s stage straight into live automation — the follow-up rule for that stage fires, a reminder gets scheduled, and the first thing several hundred people hear from a business they have not dealt with in months is a text drafted by a system they have never heard of.

So an import writes the stage as information and nothing else: no follow-up date, no reminder, no trigger. The cost is real — an imported customer does not get chased until somebody consciously restarts that conversation — and it is the right cost, because the alternative is a compliance complaint and a trust failure on the first day of a new deployment.

What this does not do

  • No live sync with your old system. This reads a file once; it does not keep watching where you came from.
  • Notes are appended exactly as they arrive and never parsed for names, dates or amounts inside them.
  • No import of quotes, invoices or job history. This brings the customer across, not their whole file.

Questions

What if my file has a phone number already in the system?

That row is marked a duplicate in the preview and skipped, so re-running the same file twice is a no-op rather than a doubling. It is checked against what you already have and against the rest of the same upload.

Will my imported customers get a "we switched systems" text?

Not automatically, and that is deliberate. Nothing about an import triggers a message. If you want to tell people you have moved, that is a follow-up you send yourself once they are in.

What if a column does not match anything?

Only the fields you map are read. A column with nothing useful in it — an internal ID from your last system, say — is simply left out of the mapping and ignored.

The rest of it

Or start from your trade

See it against one real job

Fourteen days, no card. Put a job you already know through it and judge it on that.

What it costs · How your data is handled