Prerequisites
The connector should already be set up, with a Connector Profile and a Linked Account. See Getting Started on the QuickBooks Online connector page.Retrieve the Native Webhook URL from StackOne
The Native Webhook URL is a computed field on the linked account. It is generated once the account has been linked, and you paste it into the Intuit Developer Portal in the next section.
Open the linked account and copy the URL
Open the linked account in StackOne Hub and copy the Native Webhook URL value. Keep it private — the URL includes a delivery token.
- Open the linked account in StackOne Hub.
- Copy the value from Native Webhook URL.
Configure the webhook in the Intuit Developer Portal
QuickBooks Online webhooks are set up in the Intuit Developer Portal against the app you use to connect QuickBooks. The endpoint is shared by every company connected through that app.
Open the Webhooks page for your app
Sign in to the Intuit Developer Portal, then open your app’s webhook settings.
- From the upper-right menu, select My Hub > App dashboard.
- Open the app you use to connect QuickBooks Online.
- In the left navigation pane, select Webhooks.
Select the matching environment
The Webhooks page has separate Development and Production tabs. Configure the tab that matches your connected company — a sandbox company uses Development, a live company uses Production. A subscription added under the wrong tab never fires.
- Select Development for a sandbox company, or Production for a live company.
Add the endpoint URL
Under Set up endpoints, paste the StackOne Native Webhook URL as the endpoint that receives notifications.
- Paste the copied Native Webhook URL into the Endpoint URL field.
Turn off the cloud event payload format
Leave Enable cloud event payload format turned off. When it is on, QuickBooks Online wraps deliveries in a different payload structure that this connector does not recognize, and events are silently dropped.
- Make sure the Enable cloud event payload format toggle is off.
Select the entities to receive
Under Subscribed events, choose which entities (and which operations — Create, Update, Delete, Merge, Void, Emailed) should send notifications. Only the entities you enable here are delivered.
- Enable notifications for the entities you want, for example Customer, Invoice, Payment, Bill, Vendor, and Item.
Save and copy the Verifier Token
Save the configuration, then copy the Verifier Token that Intuit shows so StackOne can validate delivery signatures.
- Click Save.
- Turn on Show verifier token and copy the value shown below the Endpoint URL.
- Paste it into the Webhook Verifier Token field on the linked account in StackOne Hub. The token is shown here whenever you need it.
Available webhook events
QuickBooks Online sends a single generic change notification for every entity change, so StackOne exposes one event — Data Changed (data.changed) — that carries every create, update, delete, merge, void, or email across all subscribed entities. You choose which entities are delivered in the Intuit Developer Portal (previous section); StackOne forwards the raw batch and, for each changed entity, tells you which action fetches the full record.
Data Changed
Fired whenever one or more subscribed entities change. One delivery can batch several entities (and, rarely, several companies) at once.
- Data Changed (
data.changed) — Fired when any subscribed QuickBooks Online entity is created, updated, deleted, merged, voided, or emailed.
Choose entities to subscribe to
The following entities support webhooks in QuickBooks Online. Enable the ones you need in the Intuit Developer Portal.
- Account, Bill, BillPayment, Budget, Class, CreditMemo, Currency, Customer, Department, Deposit, Employee, Estimate, Invoice, Item, JournalCode, JournalEntry, Payment, PaymentMethod, Preferences, Purchase, PurchaseOrder, RefundReceipt, SalesReceipt, TaxAgency, Term, TimeActivity, Transfer, Vendor, VendorCredit.
Delivery format
Details of how QuickBooks Online delivers events to StackOne.
Review the batched payload
The payload is an eventNotifications array. Each entry has a realmId (the Company ID that owns the changes) and a dataChangeEvent.entities array listing every entity that changed for that company in this delivery.
- A single delivery can contain multiple entity types, and — rarely — multiple companies. StackOne forwards the full batch untouched.
Verify the signature
QuickBooks Online signs each delivery so you can confirm it came from Intuit.
- Each request carries an
intuit-signatureheader — a base64-encoded HMAC-SHA256 digest of the raw request body, keyed by your Webhook Verifier Token.