Copy settings to new Hubspot portal


#1

We have an enterprise client who would also like to use Hubspot for their marketing emails. I’ve assured them that if they do, indeed, sign up for Hubspot, we can help them customize their property to use some of the settings we’ve created. Specifically, I’m looking to copy contact properties, forms, and maybe some workflows.

Is there a good way to do that via the API? Right now, I’m looking at:

  • GET /properties/v1/contacts/properties which should allow me to get contact properties out in bulk
  • POST /properties/v1/contacts/properties: Do I need to create properties one at a time? Or can I post the json I just received from the get call?
  • GET /forms/v2/forms
  • POST /forms/v2/forms

Thanks for any help!


#2

Hi @sandy

We don’t have a way to directly copy data or settings between portals, but what you’re looking to do with the API would work. You would need to recreate the properties, forms, and workflows one at a time, since we don’t have batch APIs for creating those items.

For the most part, you can grab the JSON from the GET endpoints from the original portal, and then POST that JSON to the new portal. There are a few items that should be stripped, mostly things like numerical id properties (if we don’t throw an error it would end up with a new id anyways), including the stepId in workflow steps, and any system timestamps like insertedAt or updatedAt (though again, most of the time these would just be ignored).


#3

Hi @dadams! Thanks for the help, really appreciate it. Trying now!


#4

Hi @sandy did you end up doing this? I was about to attempt the same thing when I came across your post and would like to know if it worked for you.


#5

Hi Scot,

Yes, I did end up using this process to copy over settings. I’ll note that we did a major cleanup (archiving old/unused workflows, properties, etc) beforehand, which made the process much more tenable.

Good luck!

Sandy


#6

Great, will continue looking into it. Were there any roadblocks you ran into or is it just a matter of working with the available API calls?