Disappearing programmatic webhook


I have an external app for handling the automatic deal assignment. It uses OAuth flow and creates programmatically some webhooks to react to specific events. Everything works fine except that created.user webhook which is used to keep in sync Pipedrive users list is disappearing (is deleted?) after some time.

When I force my app to create again this webhook it is returned from API (request authorized by valid app OAuth token) as well as other created webhooks. But after some time the same query returns a list of webhooks containing everything it should except that one created.user webhook. After that app also does not receive any more notifications for created.user event (it is receiving them while webhook is returned by API). I think that means this webhook is being deleted somehow (by Pipedrive?).

I know it will sound weird for you, but I’m pretty sure it is not on my side. The app has no option to revoke one webhook (if this part of the code will be somehow executed then all webhooks will be revoked). I also have this app running in two instances - the second is connected to another Pipedrive account. They are using different Pipedrive Marketplace Apps (both added in private mode). But the second app is working 100% correctly, it’s not experiencing this strange webhook disappearing problem at all.

Can you help me somehow with this? If you need some more details please let me know.

Welcome to the community @swojakowski and for the detailed post. This could be a strange behavior if your webhook endpoints are functioning. However, I would like to rule out one possibility

According to the current webhooks policy,

If there are no successful deliveries to a webhook in 3 consecutive days , we will delete it.

But, success in this case refers to a non-2xx response. Is there a chance that the webhook endpoints respond with some other status? Let me know

The webhook endpoint can respond with 4xx statuses if the received request does not contain meta object or if the authorization header value is invalid (but as I said before, webhooks for other events which are added and handled in the same way works perfectly, so it should not be a reason of this problem). Another possible response is 500, but it will appear in the app’s logs (the log file does not contain any webhooks-related error).

On the other hand, if I recreate this webhook everything will work fine, its notifications will be received with 200 code (I recreated this webhook on Monday, and since it’s working okay).

Hi @swojakowski
The scenarios you describe seem to cover most of the cases. Regardless, I have reached out to you via direct message to troubleshoot :slight_smile: