HubSpot provides a number of different APIs and in addition to that we also offer the option of leveraging webhooks. This post discusses this in more detail and also elaborates on different methods of implementation. You can learn more about how that in this video I recorded.
The key difference is that with an API request you are proactively “requesting” information from the system. This may not be required as the data may not have changed since your last request and may not be the most efficient use of your call limit. With a webhook on the other hand you are notified by the system as soon as the data changes without having to continually make API requests. Within HubSpot we have a few ways to use webhooks.
Here is a diagram highlighting the general differences. Notice how with an API we continually make requests despite the data never changing. With a webhook we simply tell the server once to let us know if something happens:
As mentioned you can achieve this in a variety of ways within HubSpot. I’ve broken them down in more detail below. Each have different use cases, strengths and weaknesses so it’s important to qualify in more detail to ensure you know what to position/recommend.
1) Webhooks API: Free and up
This involves setting up an app and subscribing to various events occurring in any portal that your app is installed. Events include Contact, Company and Deal creation, deletions and property updates. The drawback to this is that it doesn’t support Ticket objects. The major advantage is that it’s lightweight and easy to setup. An example of the payload can be found here. More information on our Webhooks API can be found in our developer documentation.
2) Workflow Extensions API: Marketing Pro and up
This can only be used in contact based workflows. The big advantage is that it lets you customize the payload you wish to send to your webhook URL which makes things easier for your development team to process. It’s also much more user friendly for the marketing team who are creating workflows. The big limitation is that it’s only usable in Contact workflows (although there are plans to extend this to other types of workflow in the future). An example of the payload can be found here. More information on the workflow extensions API can be found in our developer documentation.
3) Workflow/Bot Webhook Action: Operations Hub Professional only
This can be used in all workflows namely Contact, Company, Deal, Ticket and Quote and/or Bot. HubSpot will post all of the object data to the webhook URL. There is no option to customize the payload. The advantage is that you can leverage it in all workflows. An example of the payload can be found here, More information on using the webhook action in a workflow can be found in our developer documentation. Information on using workflows in bots can be found here.
The analogy I like to use is that imagine you have a friend you continually text asking when they’re having a party (API request). Every time they respond with the same answer… No. So instead you tell your friend once to simply notify you when they’re having a party (Webhook) so you don’t have to keep texting them.
If you’ve any questions at all please do not hesitate to leave a comment below. Alternatively check out this video where I walk through all of the above.

