I would say you would need to create a custom plugin and use Hubspot webhooks.
Within this plugin you would have a controller method that, when you visit the action url, will take a response and convert it to an entry.
So for example if your plugin was called hubspotentries
, you could have a controller HubspotEntries_WebhookController.php
Then inside that:
<?php
namespace Craft;
class HubspotEntries_WebhookController extends BaseController {
protected $allowAnonymous = true;
public function actionSync()
{
// If the webhook POSTS to the action url, get the php input and decode it
$webhook = json_decode(file_get_contents('php://input'), true);
//....Go through webhook and save entries etc.
}
}
Your action url would be something like http://domain.com/actions/hubspotEntries/webhook/sync
You can then give this url to Hubspot and set up it so when an event occurs, they will POST or GET to this url and you'll be able to create the entries. I did something similar to this before (not hubspot but another service) and it works like a charm.
Useful Craft Documentation links
Plugin development introduction
Controllers in plugins
Hubspot Help
How do I use webhooks with HubSpot Workflows
Hope that helps you get started!