Webhook on quotes deployment fail

Hi,
I am trying to set up a new app with a webhook on quotes with these configuration:
app-hsmeta.json:

{

“uid”: “myApp_app”,

“type”: “app”,

“config”: {

“description”: “My custom app”,

“name”: “myApp-Application”,

“distribution”: “private”,

“auth”: {

“type”: “static”,

“requiredScopes”: [

“oauth”,

“crm.objects.companies.read”,

“crm.objects.deals.read”,

“crm.objects.quotes.read”,

“crm.objects.line_items.read”

],

“optionalScopes”: [],

“conditionallyRequiredScopes”: []

},

“permittedUrls”: {

“fetch”: [

“https://api.hubapi.com”

],

“iframe”: [],

“img”: []

},

}

}

and webhooks-hsmeta.json:

{

“uid”: “myApp_webhooks”,

“type”: “webhooks”,

“config”: {

“settings”: {

“targetUrl”: “my-url”,

“maxConcurrentRequests”: 10

},

“subscriptions”: {

“crmObjects”: [

{

“subscriptionType”: “object.propertyChange”,

“objectType”: “quote”,

      "propertyName": "hs\_sign\_status",

“active”: false

}

]

}

}

}

When I use the command “hs project update” the build works but the deployment of the webhook fails with this error:
[ERROR] An internal error occurred while upserting webhooks settings. Try again later. If the problem persists, contact HubSpot support.
Any ideas on why I am getting this error?

Hey @LDekester

Thank you for your post! We’ll tag a few community members to help us out

Hello there @JTolley @Humashankar @MichaelMa could you share your insights here?

Thank you so much!

Victor

This looks good to me - one thing is that if I spin up a generic private app with webhooks and look for the “hs_sign_status” I can’t actually find it.
Are we sure this exists and that it is a property that can be hooked into?
Considering it’s a hs property it would be weird for it to exist on your portal and not my test one?

Hi @JTolley,
Thanks for the reply.
You are right, that property name didn’t exist. I update with “hs_status” which I made sure exists:

I update the webhook json:

But I still get the same error.
Are all properties of an object available for a webhook? If not how can we know which ones we can use?
Thanks

Hi @JTolley,
Follow up on my previous message.
I build a Legacy web app to trigger a webhook on Quote > hs_status, Quote > hs_sign_status and Quote > hs_quote_esign_status.
To give more context I am trying to trigger a webhook once a quote has been signed. We use the e-signature function and our quotes need to be signed by the client and countersigned by an internal user.
I created a quote to test those triggers and notice right away that hs_status is not what I want. Since it’s about the quote creation process not the signature part.
However when I signed and counter signed the quote I was surprised to see that it triggered the other 2 properties.
I got a 200 status response on “hs_sign_status” with payload:
{
“eventId”: 2628017547,
“subscriptionId”: 5275215,
“portalId”: 6648271,
“appId”: 29361509,
“occurredAt”: 1769179249267,
“subscriptionType”: “object.propertyChange”,
“attemptNumber”: 0,
“objectId”: 252737723088,
“objectTypeId”: “0-14”,
“propertyName”: “hs_sign_status”,
“propertyValue”: “ESIGN_COMPLETED”,
“changeSource”: “QUOTES”,
“sourceId”: “QuoteEsignPropertiesUpdate-documentId:252737723088,eSignProvider:HELLO_SIGN,externalId:c5538206b3a832e0dac3c6349a296bfa0b6da3e4,eventId:251f961fb5b36046c7f013db23537d6bd0232f7851ea42a1e67f0a6e8688743b”,
“isSensitive”: false
}
And a 200 response for “hs_quote_esign_status”:
{
“eventId”: 405488839,
“subscriptionId”: 5275481,
“portalId”: 6648271,
“appId”: 29361509,
“occurredAt”: 1769179249267,
“subscriptionType”: “object.propertyChange”,
“attemptNumber”: 0,
“objectId”: 252737723088,
“objectTypeId”: “0-14”,
“propertyName”: “hs_quote_esign_status”,
“propertyValue”: “SIGNED”,
“changeSource”: “CALCULATED”,
“sourceId”: “CalculatedPropertyComputer”,
“isSensitive”: false
}
I guess my question is what is the best way to check for the quote being fully signed and how can I configure it on the new App system?
Thank you for your help!