is there a problem with webhook triggers today (May 4th, 2021)?

We had 2 users bring down our server for our OAuth app (not sure if I should post my app details in this open forum?) Checking with 1 of these users (an internal user), they only had 29 new contacts created in their HubSpot account, but that somehow triggered 13.9K+ webhook requests to our server for that 1 user; while the other user triggered 21K+ requests.

My OAuth app page doesn’t give me much help in researching this, as it only shows the requests I make to HubSpot (not the requests you (HubSpot) send to me). I’m not sure where to look into this to find out what caused this :confused: any help is much appreciated. We gets spikes occassionally, but nothing like what we just saw (and since it was from 2 separate accounts, I need to rule out that the problem isn’t in HubSpot triggering the webhook subscriptions thousands of times for a handful of contacts).

Hi @Skipio,

Is it possible for you to share your app configuration and webhooks that you registered in your app?

Also, do check the webhooks tab from the app monitoring section.

Regards,

Aw, thank you Himanshu. I didn’t realize that the webhooks tab held this info. I was looking for a graph or something to show counts sky rocketing, but this kind of helps. Unfortunately this tab is a nightmare/unusable to navigate when there’s been 31K+ webhook calls and the only way to navigate is via javascript pagination (I can’t type the page number in the URL to quickly jump to the time of day I need)… after navigating 70+ pages it crashes and resets me back to page 1 :sob:

However, this does show me that for each contact creation, multiple webhooks trigger at the same time (assuming seconds from each other, the webhooks tab gives me so little info for the timestamp) for every single contact (this doesn’t make sense to me… there’s 1 hit for “contact.creation”, then 3-4 more hits for “contact.propertyChange”… if those properties just got set during “contact.creation”, they shouldn’t be triggering an update trigger as well :man_shrugging:).

Fortunately these duplicates seem to share the same batchID; I’ll try rejecting duplicates for a batchID that has already been accepted recently to see if I can limit HubSpot webhook spam. It feels like HubSpot is tripping over itself and working harder than it needs to (and causing me to need to work harder to tell HubSpot to stop being hyper chatty).

But this math doesn’t make sense for the thousands of extra webhook hits :thinking: 1 of the users that triggered close to 11K hits had only 29 contacts created (29 x 5 != 11K), so something more must be going on (still digging into this webhooks tab, perhaps the same contact triggers more than 1 batchID?)

Screenshot of 1 of the batchID’s with multiple webhook hits at the same time for 1 contact creation:

Here’s my app settings: (the “targetUrl” has been changed to an example)

{
 "targetUrl": "https://example.com/api/v1/integration-jobs/11aaa11a-111a-111a-a111-aaaaa1a11111/webhooks",
 "throttling": {
 "maxConcurrentRequests": 10,
 "period": "SECONDLY"
 },
 "createdAt": "2020-10-12T13:26:22Z",
 "updatedAt": "2020-10-12T13:26:22Z"
}

Here’s the webhook subscriptions I’m subscribed to:

  • Contacts:
    contact.creation
    contact.deletion
    contact.propertyChange (on hubspot_owner_id, lastname, firstname, phone, mobilephone, email)
  • Companies:
    company.creation
    company.deletion
    company.propertyChange (on hubspot_owner_id, name, domain)
  • Deals:
    deal.creation
    deal.deletion
    deal.propertyChange (on hubspot_owner_id, dealstage, dealname)

I just found this in the Webhooks API under Retries:

“If your service has problems handling notifications at any time, we will attempt to re-send failed notifications up to 10 times. […] Notifications will be retried up to 10 times. These retries will be spread out over the next 24 hours, with varying delays between requests. Individual notifications will have some randomization applied, to prevent a large number of concurrent failures from being retried at the exact same time.”

This could be a possible variable where lots of the requests were retries (looking through the Webhook tab I see many of the failed requests with attempt #'s higher than 1)… but :thinking: I was still consuming the requests (logging them to my DB to be processed in the order received), so maybe the server couldn’t respond with a 2xx code in time? I’m not sure but it’s possible.

I’m still unsure what exactly happened, but hoping that adding in a 1 minute cache for webhook triggers that have the same “objectID” and object type will prevent this from happening again. Time will tell I suppose. I’m already seeing less resources being consumed after deploying this 2 days ago.

[update, 2 weeks later]

Adding the 1 minute cache seems to have fixed this as I haven’t seen any problems since deploying that. It’s interesting how spammy the HubSpot webhooks act, as we’re seeing customers that have a contact created from a form submission trigger 5 webhooks at a time. Other CRM’s I work with usually have a delay before sending out webhooks, so a single contact create (or batch of updates in a short timeframe) won’t trigger mulitple webhooks.

Hi @Skipio,

Apologies for the late response here.

Your subscription seems to fine and everything else too.

For better guidance, you can connect with your app partner manager (you can find this in your app details from the developer account).

Regards,

Unfortunately I was directed to this HubSpot community forum for assistance when I requested help. The App Partner Manager is only available to marketplace apps, my app is private. So far I haven’t had any problems since adding the 1 minute cache, :crossed_fingers: hoping that was what was needed.
If I continue to have problems later on I can try listing my app in the Marketplace so I can get direct help from the HubSpot team.