Skip to main content
Spodus
  • Pricing
Log inGet a demo

Migrate from HubSpot

Moving off HubSpot is three files and an afternoon.

Companies, contacts and deals export as CSV, and Spodus recognises HubSpot's column names and fills in the mapping. The marketing side of HubSpot has no counterpart here and does not come with you.

Get a demoCompare with HubSpot

What this move actually is.

Four facts that decide most of the work, before any column is mapped.

The files
Three exports out of HubSpot: Companies, Contacts, Deals. Take them as CSV or as .xlsx; Spodus reads both. HubSpot queues an export and mails you the link, so start it before you do anything else.
The preset
Spodus ships a HubSpot preset. Upload the file and the Map step says it looks like a HubSpot export and pre-fills the mapping, including a translation table for Deal Stage. Every line of it is editable.
The order
Accounts, then Contacts, then Deals. Both of the last two carry a company name that becomes a link, and importing the accounts first means those links resolve on arrival rather than later.
The direction
One way, once. There is no sync and no way to run HubSpot and Spodus against the same data, so pick a cut-over date and export on it.

Column by column.

What each HubSpot column becomes, and what the importer deliberately leaves alone.

HubSpot columnLands inNotes
Companies file, into Accounts
Company name / NameNameThe primary field, and what duplicates are checked on
Company Domain Name / DomainDomainStored as typed
CityLocationA city, not a postal address
Company ownerOwnerMatched against your Spodus roster; a name nobody here holds stays as text
Contacts file, into Contacts
First Name + Last NameNameTwo columns joined into one field, blanks dropped
EmailEmail
Phone Number / PhonePhone
Company Name / Associated CompanyAccountA link, resolved by name
Job TitleJob title
CityLocation
Lifecycle StageDeliberately unmapped. HubSpot ships eight values, Spodus has four, and only Lead and Customer line up
Deals file, into Deals
Deal NameName
AmountAmountCurrency symbols and thousands separators are stripped; anything left that is not a number is flagged
Close DateClose date
Associated CompanyAccountA link, resolved by name
Deal ownerOwnerMatched against your roster
Deal StageStageTranslated: Closed Won to Won, Contract Sent to Negotiation, Qualified To Buy to Discovery, and so on

HubSpot ships seven default deal stages and Spodus has six, so two pairs collapse: Appointment Scheduled and Qualified To Buy both become Discovery, and Decision Maker Bought-In and Contract Sent both become Negotiation. A stage you renamed in HubSpot matches nothing, arrives as typed, and is counted in the preview. These aliases came from HubSpot's published property list and have never been run against a file a customer downloaded, so treat a column that fails to bind as normal rather than as a fault: it stays visible under Ignored columns and you point it at a field by hand.

What does not come across.

A spreadsheet holds text. Everything below is either not in the export or has no field here to land in.

The marketing hub

Email campaigns, landing pages, forms, sequences, ad accounts and lists. Spodus has none of these, so there is nothing for them to import into. If this is the half of HubSpot you use most, read the last section on this page before you go further.

The timeline

Logged calls, meetings, emails and notes attached to a record. An object export carries properties, not history, so the record arrives with its fields filled and its past empty.

Files on records

A CSV holds text. Attachments stay in HubSpot and have to be downloaded and uploaded again, record by record, or left where they are.

Workflows and reports

Spodus has its own automations and dashboards, and neither reads a HubSpot definition. You rebuild the handful you actually rely on, which is usually far fewer than the number you have.

Users, teams and permissions

Nobody is invited by an import. You add your people in Settings, and per-object access is set there too.

Associations beyond the one company

The preset binds a contact to an account and a deal to an account. Everything else HubSpot associates, and the many-to-many ones especially, has no column in a standard export and no equivalent field here.

How to do it.

In this order. Steps two and three are the ones people skip and then repeat.

  1. 1

    Start the exports first

    HubSpot queues an export and sends a link by email, so this is the step with a wait in it. Export Companies, Contacts and Deals from each object's list, and choose the properties you actually want rather than every property on the object. A file with forty columns you will never map is forty rows of noise on the Map step.

  2. 2

    Create your custom fields before you import

    The wizard maps into fields that already exist. A HubSpot property Spodus has never heard of is either a custom field you add first in Settings, or a column you consciously leave behind. Deciding that now is much cheaper than discovering it with the file already open.

  3. 3

    Import Accounts

    Open Accounts, press Import, upload the Companies file. The Map step should announce a HubSpot export and fill itself in. Read every row of it anyway, then look at what sits under Ignored columns, because that is the list of things you are choosing not to bring.

  4. 4

    Import Contacts, then Deals

    Same wizard, same object-first rule. The company column on each becomes a link by name, and because the accounts are already in, the preview will tell you nothing is unresolved. If it tells you something is, that number is a spelling mismatch worth fixing in the sheet.

  5. 5

    Read the preview, every time

    Three numbers matter: rows that duplicate a record already in the workspace, cells the importer could not read, and rows pointing at an account that does not exist. Skip duplicates is on by default. Automations are off by default, and leaving them off is almost always right for an import.

  6. 6

    Rebuild the rest by hand

    Pipeline stages you renamed, saved views, dashboards, automations, and your people. This is the part with no shortcut, and it is also the part where you get to not rebuild the things you had stopped using.

How long it realistically takes.

Measured in the phases the work actually falls into, including the ones that are not importing.

Exporting from HubSpot
10 to 30 minutes. Mostly waiting for the email.
Adding custom fields
20 to 60 minutes. Depends entirely on how much you customised HubSpot.
Each file, upload to imported
10 to 20 minutes. Three files, so call it an hour.
Fixing what the preview flags
30 to 90 minutes. Renamed stages and unreadable dates are the usual two.
Rebuilding views and automations
Half a day. No shortcut exists for this.
Files and timeline
Not included. Neither one moves; plan for manual work or leave them behind.

A clean three-file HubSpot migration is one afternoon. A heavily customised one, with a lot of properties and a lot of flagged cells, is two or three days spread over a week. Neither figure includes attachments or history, because neither of those comes across at all.

True of any import into Spodus.

The same four rules apply whichever tool you are leaving.

It is a file, not a connection
Spodus reads .csv and .xlsx. Not .xls, which no spreadsheet parser here can open, and not JSON. There is no public API and nothing keeps two systems in step, so what you get is a copy of your data as it stood the moment you exported it.
One file per object
You import into an object, not into the workspace. Open Contacts and import contacts; open Deals and import deals. A vendor that keeps people, companies and deals in three exports needs three passes.
Links are stored as names
A deal points at an account by name, and the link resolves the moment a record with that name exists. So importing accounts before deals is a convenience rather than a rule, and a link that lands unresolved starts working when the missing record arrives.
Nothing is written until you press Import
The preview counts duplicates against the records already in your workspace, counts the cells it could not read, and counts the rows pointing at something that does not exist yet. All three are on screen before the write.

Do not migrate off HubSpot if:

  • Inbound marketing is your main motion. There is no email marketing, no landing pages, no forms builder for campaigns and no ad management in Spodus, and there is no plan to add them.
  • You need the activity timeline to travel with the record. Calls, emails and meetings logged in HubSpot cannot be exported into Spodus, and a contact whose history matters more than its fields will arrive looking empty.
  • You need both systems live at once. Without a public API there is no sync, so a phased cut-over means dual entry by hand for as long as it lasts.
  • You want it done for you. Spodus has no migration service and no engineer who will do this on your behalf. It is your export, your mapping and your afternoon.

There is no migration service and no engineer here who will do this for you. It is your export, your mapping and your afternoon.

Questions, answered.

Will the importer recognise a HubSpot file on its own?
Usually. Spodus ships a HubSpot preset built from HubSpot's published property names, and the Map step says so and pre-fills the mapping when enough columns match. It has never been run against a file a customer downloaded, so a column that does not bind is normal: it stays under Ignored columns and you map it by hand.
What happens to my deal stages?
HubSpot's seven default stages are translated onto the six in Spodus, so two pairs collapse. Closed Won becomes Won and Closed Lost becomes Lost. A stage you renamed matches nothing, arrives as text, and is counted in the preview before you import so you can fix it in the sheet.
Do the notes and emails on a contact come across?
No. A HubSpot object export carries properties, not the timeline, so calls, meetings, emails and notes stay behind. If the history is the reason you keep a record, keep the HubSpot account read-only for as long as you need it rather than expecting the import to carry it.
What if I get the import wrong?
Delete the records and they go to Trash, where they can be restored for thirty days. In practice most people import one file, look at twenty records, delete them and go again with a better mapping.

Coming from something else?

The same page, for the other tools people leave behind.

Work OS

Migrate from monday.com

No preset. Every column mapped by hand.

Read the checklist→

Project management

Migrate from ClickUp

Preset mapping, then your decisions.

Read the checklist→

Sales CRM

Migrate from Pipedrive

Preset mapping, then your decisions.

Read the checklist→

Import a file and see what you get.

Get a demoSign in
Spodus

The all-in-one business suite. CRM, finance, HR, support, and inbox in one seat.

Product

  • CRM
  • Finance
  • HR
  • Support
  • Inbox
  • All products
  • Integrations
  • Pricing

Solutions

  • Agencies
  • IT services
  • Recruiting
  • Consultants
  • Startups
  • Small businesses
  • Professional services
  • B2B services
  • All solutions

Features

  • Connected records
  • Automations
  • Customer portal
  • Roles & permissions
  • Dashboards
  • All features

Compare

  • vs ClickUp
  • vs HubSpot
  • vs Asana
  • vs Zendesk
  • vs monday.com
  • vs Zoho One
  • All comparisons

Alternatives

  • HubSpot alternative
  • monday.com alternative
  • ClickUp alternative
  • Zendesk alternative
  • All alternatives

Migrate

  • From HubSpot
  • From monday.com
  • From ClickUp
  • From Pipedrive
  • From Asana
  • From Trello
  • All migration guides

Company

  • Security
  • Contact

© 2026 Spodus Studios · Operated by Olum LLC.

PrivacyTermsDPASub-processors
Spodus