We’re excited to announce a new capability for our webhooks delivery system that provides enhanced monitoring of webhooks delivery and proactive notifications to app developers when their webhooks listener endpoint is not responding correctly.
Why use webhooks?
We highly recommend all app developers use webhooks to receive event-triggered callbacks for entities that their app needs to stay on top of. Webhooks automatically notify you whenever data changes in your end-user’s QuickBooks Online company files. If you’ve configured a webhooks listener endpoint and subscribed to events on our platform, you’ll receive notifications whenever these events occur in a connected QuickBooks Online company.
Utilizing webhooks helps you reduce your overall API call volume as you can reduce the frequency of polling our API for changes. To read more about other API optimization techniques, review this article.
Webhooks delivery and retry mechanism
Your endpoint must respond to notifications with an HTTP 200 status within 3 seconds. When our webhooks delivery system does not receive a successful acknowledgement from your listener, we retry the failed event. The retry will happen at the following intervals: 0s, 10s, 20s, 30s, 5m, 20m, 2h, 4h, 6h and then on stays at 6 hour intervals. Note that you may not receive subsequent events from our system until you correctly acknowledge the first event.
These are some reasons that we fail to deliver a notification to your service:
- Your service is taking too long to process the webhook message: Ensure that your service takes the webhook message and passes it to an asynchronous processor. The webhook consumer should not actively process the event and should respond immediately with a 200 OK.
- Your service is generating an internal error: Ensure that your service takes the webhook message and passes it to an asynchronous processor. The webhook consumer should not actively process the event and should respond immediately with a 200 OK.
- The host is unknown: Check the validity of your endpoint URL and ensure it is correct and is accessible.
- Your service prematurely closed the connection: Ensure that your service takes the webhook message and passes it to an asynchronous processor. The webhook consumer should not actively process the event and should respond immediately with a 200 OK.
- The HTTP header is too long: Likely due to your endpoint URL containing a large number of parameters. Please reduce the number of parameters in the URL.
- Unable to reach your service: Check that your endpoint URL is correct and is accessible. Check that any intermediate proxies are accessible.
Notification and remediation
After 24 hours of continual failure to send notifications to a listener endpoint, we’ll send an email to inform you of the issue, including the type of error we’re seeing and guidance on how to remedy the issue.
This information will also be available on the developer portal page where webhooks subscriptions can be managed.

Gradual disabling of webhooks subscriptions
If your endpoint continues to remain in error for 7 days after the first email, we’ll begin to disable webhooks subscriptions. However, you can:
- Log in to the developer portal
- Navigate to the webhooks subscriptions page
- Press “Retry Now” to clear the error state and try to transmit again
Important Note: We only keep the last 7 days of events in our queue. If you resolve the issue after 7 days, we’ll transmit the last 7 days of events, but you may lose the first day of data.
With our enhanced webhooks monitoring, you can now enjoy a more reliable and maintainable integration with QuickBooks Online. By providing proactive notifications and detailed error information, we’re helping you keep your app in sync with your users’ data. If you have any questions, please contact our support team or join one of our upcoming office hours.