Filter webhook change event, customize webhook data

While working on an integration between HubSpot and a third party I’m facing a serious limitation of the private app’s webhook event subscription tool.

Issues

No filter

Can’t be controlled which objects are watched the changes for.

Example: I want only the Country = Germany contacts to be watched for changes.

No optional properties

Can’t be added optional properties of the object to the change event data.

Example: I want to receive the Country property of the Contact object in the event data, to be able to filter the incoming data on the integration side.

Proposed solution

No filter

Extend the webhook subscription tool with a filter as we have it in the workflows or lists.

No optional properties

Extend the webhook subscription tool to let the user select some properties of the object, that will be included within every change event.

The data could look like this:

{
 eventId: 12345,
 subscriptionId: 376543,
 portalId: 3247823,
 appId: 8907485,
 occurredAt: 1612817930264,
 subscriptionType: 'contact.propertyChange',
 attemptNumber: 0,
 objectId: 67235764,
 propertyName: 'email',
 propertyValue: 'test@gmail.com',
 changeSource: 'CRM_UI',
 sourceId: 'userId:3546436',
 objectProperties: {
 country: 'Germany',
 some_custom_property: 2356747
 }
}

Disclaimer:

- it is not a viable option to get the data using the API, because we should be able to handle millions of data changes daily.

- using workflows to filter the objects and trigger a webhook containing just the right data is not an option either, because without an API call can’t be verified what property/properties were changed.

We would love to see these same improvements along with a few more suggestions …

  1. Ability of exclude webhooks being sent if from a specified listing of source IDs. For example, if AppID = SourceID then omit sending a webhook. Also don’t want webhooks from sources such as Dialpad
  2. Ability to limit the # of attempts a webhook tries to submit itself when receiving an error
  3. Always include any custom unique ID properties in the response output (in most cases, if this field isn’t filled in, we don’t want to process the webhook, so this would make it easier to know when to not process it.

Additionally, it would be helpful if when importing a file into HubSpot, we were given an option to supress from sending webhooks.

Thanks!