# Webhook Integration

**URL:** <https://community.hubspot.com/t/webhook-integration/138287>\
**Category:** APIs & Integrations\
**Tags:** starter\
**Created:** [August 20, 2025, 9:38am UTC](https://community.hubspot.com/t/webhook-integration/138287 "2025-08-20T09:38:47Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chou\_Hai](https://avatars.discourse-cdn.com/v4/letter/c/a88e57/32.png) [@Chou\_Hai](https://community.hubspot.com/u/Chou_Hai)\
**Post date:** [August 20, 2025, 9:38am UTC](https://community.hubspot.com/t/webhook-integration/138287/1 "2025-08-20T09:38:47Z")

</div>

Hi team,

I need to get advices from developers using Hubspot that when getting the data record of pipeline through API Webhook, How can I do it while body json of Hubspot only give me like this below

{  
“eventId”: 220013470,  
“subscriptionId”: 3024697,  
“portalId”: 44324961,  
“appId”: 5170374,  
“occurredAt”: 1755681660000,  
“subscriptionType”: “ticket.propertyChange”,  
“attemptNumber”: 0,  
“objectId”: 131132985037,  
“propertyName”: “hs\_pipeline”,  
“propertyValue”: “722397713”,  
“changeSource”: “CONVERSATIONS”  
}

---

<div class="post-metadata">

**Author:** ![Jaycee\_Lewis](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/jaycee_lewis/32/61352_2.png) [@Jaycee\_Lewis](https://community.hubspot.com/u/Jaycee_Lewis)\
**Post date:** [August 20, 2025, 5:51pm UTC](https://community.hubspot.com/t/webhook-integration/138287/2 "2025-08-20T17:51:34Z")

</div>

Hi [@Chou\_Hai](https://community.hubspot.com/t5/user/viewprofilepage/user-id/980811) 👋 Thanks for the great question. I think this is a common issue devs run into when working with webhooks. I have a few thoughts, but I’d like to ask some of our community experts first — hey @GiantFocal @MichaelMa @SteveHTM how do you handle this type of issue with webhook payloads? — Jaycee

---

<div class="post-metadata">

**Author:** ![Chou\_Hai](https://avatars.discourse-cdn.com/v4/letter/c/a88e57/32.png) [@Chou\_Hai](https://community.hubspot.com/u/Chou_Hai)\
**Post date:** [August 21, 2025, 3:00am UTC](https://community.hubspot.com/t/webhook-integration/138287/3 "2025-08-21T03:00:37Z")

</div>

Hi Jaycee\_Lewis,

Sound looks great! Let me give your more information about that.

I have created the webhook to sync data from hubspot to my internal system called data hub

 ![Chou_Hai_0-1755744775043.png](https://d2qpr2jzcazej7.cloudfront.net/original/2X/b/b75254f896f55db03e34205c27bd8d64cadc6386.png)

However, what I need to have more is when this event hs\_pipeline\_stage changed, Hubspot will send Body Json data to my data hub included “pipeline” in payload to separate that data changed from which one?

 ![Chou_Hai_1-1755745207082.png](https://d2qpr2jzcazej7.cloudfront.net/original/3X/9/3/93acbd04cb47e2639c39c785c6913cdc38b6eda6.png)

So I don’t know the way to connect with dev of hubspot to give it.

---

<div class="post-metadata">

**Author:** ![Jaycee\_Lewis](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/jaycee_lewis/32/61352_2.png) [@Jaycee\_Lewis](https://community.hubspot.com/u/Jaycee_Lewis)\
**Post date:** [August 25, 2025, 10:33pm UTC](https://community.hubspot.com/t/webhook-integration/138287/4 "2025-08-25T22:33:46Z")

</div>

Hey, [@Chou\_Hai](https://community.hubspot.com/t5/user/viewprofilepage/user-id/980811) 👋 Thanks for the details. I double-checked the [**Webhook docs**](https://developers.hubspot.com/docs/guides/api/app-management/webhooks#webhook-payloads) and there are not any instructions or indication that we can augment the payload. My thought is you’ll need to make some combo of your webhook and API calls to fill in the blanks.

Other considerations:

- [**Cache pipeline data**](https://developers.hubspot.com/docs/reference/api/crm/pipelines) - fetch pipeline definitions once and cache them
- Batch API calls where possible - if you get multiple webhooks, batch the API requests
- Error handling - to handle cases where the API call fails
- Rate limits - be careful of any [**API rate limits**](https://developers.hubspot.com/docs/guides/apps/api-usage/usage-details#rate-limits)

Talk soon! — Jaycee

---

<div class="post-metadata">

**Author:** ![Chou\_Hai](https://avatars.discourse-cdn.com/v4/letter/c/a88e57/32.png) [@Chou\_Hai](https://community.hubspot.com/u/Chou_Hai)\
**Post date:** [August 26, 2025, 4:48am UTC](https://community.hubspot.com/t/webhook-integration/138287/5 "2025-08-26T04:48:47Z")

</div>

Hi Jaycee\_Lewis,

I’m so greatful for your suggestion and share

Let me try to find the way with it.

Regards,

---

<div class="post-metadata">

**Author:** ![CBN](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/cbn/32/95196_2.png) [@CBN](https://community.hubspot.com/u/CBN)\
**Post date:** [October 28, 2025, 8:28am UTC](https://community.hubspot.com/t/webhook-integration/138287/6 "2025-10-28T08:28:54Z")

</div>

Hello [@Chou\_Hai](https://community.hubspot.com/t5/user/viewprofilepage/user-id/980811) and [@Jaycee\_Lewis](https://community.hubspot.com/t5/user/viewprofilepage/user-id/127074)

My approach is to use the information in the webhook to get everything through API calls.  
Example:

1. Receive the webhook call

2. Validate headers etc.

3. Get a list of events included in the request as you can have more then one event in the request

4. Loop over each event

5. Process event  
Processing for SubscriptionEvent:

1. Check event ChangeFlagValue

2. Handle selected or all cases Created/New/Updated/Deleted

3. Cases created/New

3.1 GetSubscription (/crm/v3/objects/subscriptions/)

3.2 GetLineItemIds (/crm/v3/objects/subscriptions/{subscriptionId}/associations/line\_items)

3.3 GetAssociatedContacts (/crm/v3/objects/subscriptions/{subscriptionId}/associations/contact)

3…

4. Process the information in my application

5. Return (if you processing is ‘too long’ consider putting into queue and return 204 to prevent HubSpot from marking the webhook call as failed)
