Unified.to
All articles

:quickbooks:


August 25, 2026

How to set up native webhooks for QuickBooks Online with Unified.

Intuit does not provide a programmatic webhook-registration API. The callback URL and entity subscriptions are configured in the Intuit Developer Portal. Unified then receives Intuit deliveries and fans them out to your Unified webhook subscriptions.

Official Intuit docs: Configure webhooks


Prerequisites

  • An Intuit Developer app with QuickBooks Online Accounting scopes
  • A Unified workspace and a connected QuickBooks Online connection (OAuth completed)
  • Your Unified workspace ID (from the Unified dashboard / API)

Step 1 β€” Build the Unified webhook endpoint URL

Use this format:

https://api.unified.to/webhook/workspace/quickbooks?workspace_id=YOUR_WORKSPACE_ID

πŸ’‘ Replace YOUR_WORKSPACE_ID with your actual Unified workspace ID.
If your workspace runs in another Unified data region, use that region's API host instead of api.unified.to (for example EU / AU hosts).

Example:

https://api.unified.to/webhook/workspace/quickbooks?workspace_id=5e8ba11d3fb8ff95c90b2

Step 2 β€” Open your app in the Intuit Developer Portal

  1. Go to https://developer.intuit.com/app/developer/dashboard
  2. Sign in and open the QuickBooks Online app that customers connect through Unified
  3. In the left navigation, select Webhooks

Step 3 β€” Choose Production or Development

Intuit maintains separate webhook configs:

  • Production β€” live QuickBooks Online companies
  • Development β€” sandbox / testing
  1. Select Production or Development to match the companies you are testing
  2. Enter the Endpoint URL from Step 1
  3. Click Show webhooks (or equivalent) to expand the entity list

Step 4 β€” Enable the entities Unified supports

Enable at least the entities that map to the Unified objects you care about:

QuickBooks entityUnified objectOperations to enable
Customeraccounting_contactCreate, Update, Delete
Vendoraccounting_contactCreate, Update, Delete
Invoiceaccounting_invoiceCreate, Update, Delete
Classaccounting_categoryCreate, Update

πŸ“š Class is listed as a supported webhook entity in Intuit's docs (Create / Update / Delete):
Configure webhooks β†’ supported API entities

  1. Select Save

Step 5 β€” Create Unified webhooks for each object/event

In Unified, create a native webhook for each object + event pair you need.

Examples:

  • accounting_contact β†’ created / updated / deleted
  • accounting_invoice β†’ created / updated / deleted
  • accounting_category β†’ created / updated

Step 6 β€” Test the delivery path

  1. In the Intuit Developer Portal Webhooks page, use Send test notification (if available) to confirm your endpoint responds with HTTP 200 quickly
  2. In a connected QuickBooks company (sandbox or production matching Step 3), create or update an enabled entity β€” for example create/update a Class for accounting_category
  3. Confirm Unified receives the delivery and dispatches to your Unified webhook hook URL

Troubleshooting

  • No events arriving
    • Confirm the Endpoint URL includes the correct workspace_id
    • Confirm you configured Production vs Development for the company you changed
    • Confirm the entity (e.g. Class) is enabled in the Intuit portal
    • Confirm a Unified native webhook exists for that object_type + event
  • Subscribe fails with realm_id error
    • Re-auth the QuickBooks connection so realm_id is present
  • Events for one company only
    • Expected: matching is per realmId. Each company connection has its own subscription marker

References

All articles