I have an integration service with Hubspot and added webhooks to some properties of Companies and Contacts objects. That being creation, propertyChange and deletion events.
For some reason, when an Object is created, let’s say I just created a company. The batch group sent via webhooks include the creation event and also one propertyChange event for each property I had filled out to create the company.
Also, in the webhooks monitoring I noticed that the same group (same Batch ID) don’t always follow a logic ordem such as to first send the creation event and then later the propertyChange events.
Why does these “extra” events are sent via webhooks when the event was only the creation of the company? Is there a reason?
Hi @MShiraishi 
I think this is so the integrating application has access to the property value of interest (i.e. the property relevant to the propertyChange subscription) without having to request this data from a HubSpot API. You might consider using unique combinations of the “objectId” and “occurredAt” parameters in an attempt to understand which webhook subscription event messages relate to the same operation.
I hope this proves useful. Please let me know if you have any follow-up questions.
Hi Zach,
Thanks for the reply.
But what is is strange is that the event “creation” already sends out the same info. And the propertyChange events sent altogether are not from different events, they are sent with the creation event. In the image below, highlighted with green, we can see 4 events with the same batch ID. This was triggered by the creation of a Contact.
In the end, all of those 4 events come with the same objectID and same occuredAt. And the object on “creation” event already comes with the infos sent by the other 3 events, so it becomes redundant and also no correct order for the events. For example, in the image you can see that we received 2 propertyChange events before even receiving the creation event. Is there a reason why Hubspot does this way for the same event? Which in this case was the creation of a Contact via CRM UI
Hi @MShiraishi 
Are you sure the property values come through in the contact.creation subscription event data? Based on what I’ve tested, I don’t receive any specific property values in the contact.creation subscription event, so there’s no redundancy there. See below example that contains 2 events of differing subscription types (1 contact.creation and 1 contact.propertyChange)
[
{
"eventId": 2330852643,
"subscriptionId": 2447570,
"portalId": redacted,
"appId": redacted,
"occurredAt": 1705301801082,
"subscriptionType": "contact.creation",
"attemptNumber": 0,
"objectId": 151,
"changeFlag": "CREATED",
"changeSource": "CRM_UI",
"sourceId": "userId:redacted"
},
{
"eventId": 2470844178,
"subscriptionId": 2447571,
"portalId": redacted,
"appId": redacted,
"occurredAt": 1705301801082,
"subscriptionType": "contact.propertyChange",
"attemptNumber": 0,
"objectId": 151,
"propertyName": "firstname",
"propertyValue": "Test",
"changeSource": "CRM_UI",
"sourceId": "userId:redacted"
}
]
If you haven’t already, I recommend reading in detail HubSpot’s Webhooks API documentation.
I hope this proves useful. Please let me know if you have any follow-up questions.
Hi @zach_threadint ,
I am sorry, my mistake, they do not come duplicated. We pull them ourselves when we get the creation event.
But it still does not seem right to get all the events without some logic order.
Since they are triggered on the same object, they come with the same objectId and with the same occurredAt value so, in the end, we need to do an ording on our end, and it does not seem correct that they are event sent without following the proper order of event.
All the best,
Matheus