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?
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).
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.