APIs & Integrations

udayapitchika
Member | Diamond Partner
Member | Diamond Partner

integratorObjectId property in HubSpot contact & deal webhooks

Is it possible to add integratorObjectId property to HubSpot webhooks if a contact/deal is created/updated through ECommerce bridge API?

When we POST a sync-message the immediate response we see is HTTP 204 but we don't know when the contact actually syncs into HubSpot. Our app needs to know when a contact/deal is actually created/updated in HubSpot to do some additional tasks.

We are subscribed to contact & deal webhooks but there is no reference of which contact/deal in our database is created/updated. For that, when we receive a HubSpot webhook, we are taking another round trip by doing a GET for that objectId and figuring out which deal/contact is synced into HubSpot.

HubSpot webhooks with integratorObjectId would be much helpful for us and I believe for other developers too.

{
"objectId": 4701,
"integratorObjectId": xxxxxxx,
"changeFlag": "NEW",
"changeSource": "API",
"eventId": 2416643867,
"subscriptionId": 15171,
"portalId": 4057391,
"appId": 57790,
"occurredAt": 1523966482856,
"subscriptionType": "contact.creation",
"attemptNumber": 0
}

0 Upvotes
4 Replies 4
sduane
HubSpot Product Team
HubSpot Product Team

integratorObjectId property in HubSpot contact & deal webhooks

@udayapitchika,

I've looked into this with the team, and unfortunately a lot of this comes back to the purposeful design of the sync process. We want to syncing to be one way, and asynchronous. This means we didn't plan, and still don't plan, on ways of exposing which objects get created/deleted from the sync (at least for now)

Instead, we want to deal with each case that has issues and see how else we can resolve them.

This link is important to us because, we want to be able to add contacts to static lists or workflows when all the contact property values are available in HubSpot

Is there a reason you cannot use dynamic lists? If a CRM object create/update comes through with a new property ip__ecomm_bridge__ecomm_synced set to true, then it's an object that was just synced from your ecommbridge app.

You could, also, add a new field mapping for a new property that gets set on new synced objects, and use that property in the same way.

Let me know how this sounds,

-Sean

0 Upvotes
sduane
HubSpot Product Team
HubSpot Product Team

integratorObjectId property in HubSpot contact & deal webhooks

You probably couldn't open it because I pasted the wrong link! That looks correct, thanks for verifying :slight_smile:

Cool, that all makes sense. I'll chat with the team about this, and see what we can come up with.

I apologize that there isn't a way to get this link currently, I realize that's a bad experience, and it's not ideal since it will take time for us to implement something. However, I appreciate you raising this problem so we can fix this flow!

-Sean

0 Upvotes
udayapitchika
Member | Diamond Partner
Member | Diamond Partner

integratorObjectId property in HubSpot contact & deal webhooks

Thanks for replying @Sean_Duane.

I couldn't open the link that you have added in your response but these are the webhooks I'm referring to -
contact.creation
contact.deletion
contact.propertyChange
deal.creation
deal.deletion
deal.propertyChange

Webhooks API Overview

Overview for the Webhooks API

When these objects are created through ECommrece bridge API, it would be really helpful to get the link between integratorObjectId and hubspotId in the webhook itself rather than downloading them again from HubSpot which is defeating the purpose of using webhooks.

This link is important to us because, we want to be able to add contacts to static lists or workflows when all the contact property values are available in HubSpot (default + additional fields that I mentioned in my other post).

0 Upvotes
sduane
HubSpot Product Team
HubSpot Product Team

integratorObjectId property in HubSpot contact & deal webhooks

udayapitchika,

Currently, the integratorObjectId is not a property on crm objects.

You're referring to these webhooks correct?

I agree, this feels like a limitation. I'll chat with the team, see if we can expose something that will help make the link between integratorObjectId and hubspotId

Just for my own understanding, why is the link important for your integration? Is it simply that the object exists?

-Sean

0 Upvotes