: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_IDwith your actual Unified workspace ID.
If your workspace runs in another Unified data region, use that region's API host instead ofapi.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
- Go to https://developer.intuit.com/app/developer/dashboard
- Sign in and open the QuickBooks Online app that customers connect through Unified
- 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
- Select Production or Development to match the companies you are testing
- Enter the Endpoint URL from Step 1
- 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 entity | Unified object | Operations to enable |
|---|---|---|
| Customer | accounting_contact | Create, Update, Delete |
| Vendor | accounting_contact | Create, Update, Delete |
| Invoice | accounting_invoice | Create, Update, Delete |
| Class | accounting_category | Create, Update |
π Class is listed as a supported webhook entity in Intuit's docs (Create / Update / Delete):
Configure webhooks β supported API entities
- 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/deletedaccounting_invoiceβcreated/updated/deletedaccounting_categoryβcreated/updated
Step 6 β Test the delivery path
- In the Intuit Developer Portal Webhooks page, use Send test notification (if available) to confirm your endpoint responds with HTTP 200 quickly
- 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 - 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
- Confirm the Endpoint URL includes the correct
- Subscribe fails with realm_id error
- Re-auth the QuickBooks connection so
realm_idis present
- Re-auth the QuickBooks connection so
- Events for one company only
- Expected: matching is per
realmId. Each company connection has its own subscription marker
- Expected: matching is per