I encountered a scenario where I needed to capture a change in a property value within a Quote Line Item field (e.g., Margin), and update a corresponding property in the associated Deal record based on some calculations.
To address this, I implemented the following workaround:
1. Created a webhook to detect changes in the Line Item property.
2. Developed a Node.js application to process the webhook’s POST requests and hosted it on a third-party platform (Heroku).
3. Utilized standard HubSpot APIs in Node app to fetch the relevant data from HubSpot and update the corresponding field.
I would like to know if this workaround is an appropriate approach to handle the described scenario.
Do you have any suggestions for improvement or alternative solutions?
Hi @Sanjeewa_Dias 
That solution sounds good to me 
A couple of tips regarding HubSpot APIs and webhooks:
- You might like to consider using an established HTTP requests library (e.g. Python’s ‘requests’ or Node’s ‘axios’) to interact with HubSpot’s APIs (rather than using a HubSpot API Client Library). The client libraries have many known issues, especially with documentation and backwards comptability.
- Always validate your incoming requests to ensure they originate from HubSpot.
I hope that proves helpful. Please let me know if you have any follow-up questions.
Hi @zach_threadint
,
Thank you for your prompt reply and the helpful tips!
I have a few additional queries:
- Is there a dedicated hosting platform for HubSpot-specific app hosting?
- Do you have suggestions for hosting platforms? (e.g., Heroku, etc.)
Looking forward to your insights!
Thanks,
Sanjeewa.
Hi @Sanjeewa_Dias 
No problem, happy to help 
In response:
- Not really. Sometimes it’s possible to handle this kind of use case via HubSpot’s “Serverless functions” feature. But it’s not really designed for that. I generally recommend hosting outside of HubSpot for these kinds of use cases.
- I work mostly with Google Cloud Run (either via a “service” or a “function”). I find it works well and is generally cost effective.
Hope that helps.
Thank you @zach_threadint .
Appreciate your insights on this.
Hi @Sanjeewa_Dias
I think your approach is fine as a first step, since HubSpot doesn’t expose property-level webhooks for quote line items directly.
Creating your own Node.js app to process POSTs and then calling the Deals API to update the target field is exactly how HubSpot intends you to extend its objects (Accounts Dashboard | HubSpot )
Just be sure you’re registering webhooks correctly and verifying signatures to confirm they really originate from HubSpot That will protect you from noisy or malicious requests.
(How to Trigger Webhooks in HubSpot Contact-Based Workflows )
For improvements, you might reduce your hosting overhead by leaning on HubSpot custom workflows where possible. A workflow triggered by a line item change can sometimes write back to the deal without needing an external server at all, though this depends on how complex your calculation is.
If the math requires external logic, platforms like Google Cloud Run or AWS Lambda can be more elastic and cost-efficient than a long-running Heroku dyno.
If the end goal is to keep deal metrics aligned with quote data in real time, Stacksync can remove the need for webhook plumbing altogether. It captures field-level changes instantly and syncs them across HubSpot and your database or ERP, so you don’t have to maintain a custom app just to push updated margins back into deals.
Hope this gives you some new options.