Why QuickBooks Online Uses Webhooks

Webhooks for QuickBooks Online simplifies the challenge of keeping data synced between a developer’s app and QuickBooks’ company. Webhooks have been one of the top requested features by Intuit developers, as apps that integrate with QuickBooks Online need to respond swiftly to current data as that data becomes available. To create good user experiences, CRM apps need current customer data, time-tracking apps need current employee data, and accounting apps need to know when an invoice is created or marked as paid.

Webhooks explained

Prior to Webhooks for QuickBooks Online, developers had to create complex Polling models to pull data changes to their apps--an inefficient system that incurred costs when the app had to continuously poll the server and tended to suffer from data lag, creating less than seamless end-user experiences.

Now, they can use Webhooks to define callbacks in an app, setting up instantaneous push notifications when data changes. With polling developers have to invest in hardware infrastructure to support continuous polling. In the case of Webhooks the investment is far smaller as you don't have to do continuous polling rather you get changes pushed. For these reasons Webhooks are easier and cheaper to implement than polling, and they enable an app to respond immediately to current data, delivering a better experience for customers.

For example, if a developer wants to be notified when a customer’s information changes, they can configure an Endpoint that QuickBooks Online can call for the event with the details of the change. When Webhooks are active, data for the requested event is aggregated and then sent in a periodic notification to the developer’s API. This will trigger event notifications for all companies to which the app is connected.

Configuring Webhooks

Webhooks can be configured on a per-app basis via the Settings tab for a given app.

Once a Webhook has been configured, the developer starts receiving notifications for companies subscribed to the app. Currently, the changes are aggregated over five-minute periods.

Note: To simplify development and testing, the Sandbox environment also supports Webhooks.

Want to learn more?

  • Find the complete developer guide for Webhooks here.
  • Check the release notes for a summary of all the features in Intuit Developer release V6.13.
  • To learn more, view the recording of Intuit’s Friday Morning Hangout from July 22 on the Intuit Developer YouTube channel, which covered more specific details about the Webhooks implementation.

Be sure to read the next Webhooks article: What is a Webhooks Push-Styled API and How Does It Work?