Force HubSpot to READ your applications data


We'd like to have Hubspot be able to read and write to our own custom application API and vice-versa. From what I'm seeing, HubSpot won't specifically trigger outside of webhooks (e.g., it seems there's some limited action by Webhooks that could trigger an external app's behavior).

An example of one thing would be to have our Products available when creating Deals pull directly from our internal applications product offerings. It seems the only way to do this is have the internal app "sync" (manage, create/delete/update HubSpot data via the Products API). There doesn't seem to be a way to make Products pull from a feed – but I wanted to reach out to confirm this.

Doing research for a client and the sales/support team simply sends me here – so I'm hoping someone who is better versed will answer!



Welcome, @theandystratton!

I can confirm that HubSpot can't dynamically sync objects to and from external systems without some intermediary app which either uses an API key or OAuth 2.0 token. Webhooks are currently a one-way street out of HubSpot.

If you wish to go the OAuth 2.0 route, you can create a developer account by clicking the CTA on this page, if you haven't already. From there, I recommend checking out our brand new OAuth 2.0 Quickstart Guide.

Let me know if you have additional questions! Also, could you share your support ticket ID so I can close the loop with the specialist?


@Isaac_Takushi thank you for your quick response! It was a private email, so no ticket ID.

I think my major question, is if using the OAuth 2.0 API's, is there a method of knowing when a Deal is updated?

Deals and Products are of the highest concern for our "syncing" – we'd want all products to sync from our internal app (we can write code into it so it interacts with the HubSpot API's).

So two quick feasibility questions:

  • Do most major objects in HubSpot offer a Webhook or some trigger API (if OAuth 2.0) when created/updated/deleted? How does this look (webhook or something else, I can only see that webhooks are the only OUT, the API's being the only IN)

  • If we wanted to control the listing of products and dynamically sync to our internal app, it sounds like we'd have to do CRUD via the API any time someone in the internal app makes a change (addition, edit, removal). Is this correct?

Thanks for all your help!


Hey @theandystratton,

Yes, there are a couple methods you can use to learn when a deal was created or updated.

  • The Webhooks API allows you to subscribe to contact, company, and deal creations, deletions, and property changes with an OAuth 2.0 connection. You could then use these webhook payloads as "triggers" for subsequent CRUD API calls. Currently, there are no webhooks for product or line item creations, deletions, or property changes, however there is this endpoint for products and this endpoint for line items.
  • That is correct. You could periodically call the new endpoints I linked above and if there are new updates to product or line item properties, you could use them as triggers for subsequent CRUD API calls. This obviously more complicated than waiting for a webhook payload, however.


Thank you! This is probably the best "forums" interaction I've ever had and most valuable for the research I'm doing. Thank you!


I'm so glad to hear that, @theandystratton! Happy to help!