We have done a massive import from old CRM to Hubspot but Creation date of all objects was set to the migration date. We have date (e.g. in Proposals) with the Presentation field date that would be good to be used as Creation date. Is there a way to to a full copy from this field to creation one so this date could be used for reporting and statistics and not the “fake” creation date? We need do this also in Calls, Companies, etc…
No, this is, as far as I know, not possible. You can always create custom date fields but the defaul HubSpot Create date will store the time when the record was created in HubSpot. It cannot be edited.
So, what I would like is to “copy” to this property, the value of the date of other custom field where I keep the “true” creation date of the object in our previous CRM.
Is Proposals a custom object or what are you referring to.
I’m just in the process of doing preparing a large CRM import for a customer and was able to import historic deals with the correct create dates without a problem.
Have you actually imported and mapped the create date of objects?
If so did you get an error message?
If not, have you tried re-running the import an just matching and over-writing the create date?
There is no “business” object in HubSpot. I’ll just assume you are talking about deals.
Yes, the create date can be changed. Like I said, I changed or set this via the initial import. I assume you can change this via API calls too, but have no experience on doing so myself.
I recommend testing it, by picking a few deals and either:
Match and import the actual create date from your old CRM, or
@DFB I understand you’re finding the import process quite frustrating. It’s important to know the difference between read-only properties and those you can modify. For instance, creation properties like the contact’s creation date and the company’s creation date are read-only. You can’t change them at all.
In contrast, in a deal, you can change the creation date. So, when you’re analysing this, you need to look at each object separately. For contacts and companies, it’s not possible to change the creation date as HubSpot sets it automatically. However, for deals, you might be able to modify it with the UI and even with Workflows or the APIs.
The short version: most HubSpot system properties like Create date are hard-locked and can’t be overwritten after import. That’s why you’re seeing everything stamped with the migration day. The one big exception is Deals, where the create date can indeed be updated via import or API if you map it explicitly
For Contacts, Companies, and Calls though, HubSpot treats the creation date as system history, not something you can change. The workaround I’ve seen succeed in 2024–2025 migrations is to:
create a custom property such as “Original CRM Creation Date”,
backfill that with your legacy date field,
then use that field in your reports and filters instead of the default system property. HubSpot supports full reporting off custom date fields
This way you preserve the “true” history without trying to rewrite HubSpot’s audit trail.
If your reporting spans multiple objects (calls, companies, deals, custom objects), the key is just to normalize that custom date property across each object type so you can align them in dashboards.
And since you mentioned doing this across several objects: some teams sidestep the heavy lifting by using a sync platform that can pull in legacy system dates and keep them aligned in HubSpot, even after the migration. Stacksync, for example, is often used that way it keeps historical timestamps consistent across CRMs and databases in real time, so you don’t get stuck with skewed reporting windows after a big import.